問題タブ [pageobjects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Webdriver SwitchTo()
私はウェブドライバーの初心者で、ページオブジェクトモデルの学習を始めました
これが私が使用するコードです:
これはエラーをスローし続けます。
SwitchToオプションとして与えられることはありません、誰でも理由を教えてもらえますか、SwitchToオプションとして取得する方法を教えてください。前もって感謝します
ruby - page_object 要素の attribute_value を取得するには?
次のような画像があると想像してください。
そのクラスの値を取得する方法は次のとおりです。
Ok。私は page_object gem を使用しており、次のように画像を要素として持っているとします。
attribute_value を取得するには、次を使用できます。
...しかし、非推奨の警告が表示されます:
classpage_object 要素を使用して値を取得するにはどうすればよいですか? 確かに答えは簡単ですが、私はそれを見つけられませんでした。道を教えてください。
前もって感謝します!
java - Selenium Webdriver - PageObject とドライバー ポインター
PageObjects を使用して Selenium Webdriver でテストスイートを作成していますが、ドライバーが別のフレームを指していても、WebElement 参照インスタンスが機能するかどうかは疑問です。私がテストを書いているサイトにはたくさんのフレームがあり (フレームの使用をやめることはできません :-))、すべてのサイトの 1 つのフレーム要素がトップバーです。そのフレーム用に、それを含む他の PageObjects から初期化して使用できる単一の PageObject を作成したいと思います。
しかし、ドライバーが別のフレームに移動したときに WebElements を使用できるかどうかは疑問です。
例:
- 新しい HomePage PageObject の作成と初期化
- SwitchTo(frame1)。SwitchTo(frame2)
- コンストラクターから、上記のドライバーの場所を使用して要素を初期化/インスタンス化する TopBar オブジェクトを作成します。elmTopBar と呼ばれるその PageObject/frame 内の WebElement への参照があります。
HomePage では、ドライバーはそのフレームから離れて (フレーム 0 に戻る) 他の作業を行います。
elmTopBar への「古い」参照は、このドライバーの場所 (同じドライバー オブジェクト) から引き続き実行できますか、それとも、ドライバーが毎回 frame2 を指している場合にのみ機能します (つまり、HomePage で何かが必要になるたびに、TopBar オブジェクトを切り替え + 初期化する必要があります)。トップバー)?
別のフレームから要素検索を行うと、他のフレームのオブジェクトが見つからないことはわかっていますが、私の質問は、 WebElement への参照を作成/保存するときに、 switchTo(frameX ) ドライバーと一緒に。
事前にthx!
ruby - page_object要素のhtmlソースを取得するには?
(Watir 言語で) 次のような div があるとします。
「魔法の正規表現」を実行するには、内部にhtmlコードが必要です:)。div html コードを取得する方法は次のとおりです。
Ok。私は page_object gem を使用しており、次のように要素として div があるとします。
内部でhtmlを取得するには、次を使用できます。
...しかし、非推奨の警告が表示されます:
page_object 要素を使用して HTML コードを取得するにはどうすればよいですか? 私が以前に行ったいくつかの同様の質問のように、答えはとても簡単ですが、Cheezyの本、stackoverflow全体、およびページオブジェクトのrubydoc情報を調べましたが、見つかりませんでした。道を教えてください。
前もって感謝します!
java - PageFactory.initElements によって埋められるのはどの WebElement ですか?
Selenium テストでデザイン パターンを使用しようとしてPageObjectいますが、次の Page クラスのセットがあります。
PageObjectWebDriver とサイトのベース URL を追跡する基本クラス。WebElementまた、メニュー バーやサイド バー リンクなど、サイトのすべてのページに表示されるプライベート リソースもあります。ログインやログアウトなど、これらのリソースにアクセスするパブリック メソッドがあります。UserRolePageを拡張するクラスPageObject。ログインしたユーザーの役割に応じて、これらのクラスにはWebElements、ユーザーがログインすると各ページに保持される他のプライベートがあります。これらのリソースにアクセスするためのパブリック メソッドもあります。- クラス
UserLandingPageを拡張する特定のページ (例: )。UserRolePageこれらには、独自のページ固有WebElementsのアクションがあります。
メソッドを使用して新しいものを作成するとUserLandingPage:
どちらWebElementsが人口を獲得しますか?UserLandingPageクラスに表示されるものだけですか、それともPageFactory何らかの方法ですべての基本クラスを調べて、それらの WebElements にもデータを入力しますか?
cucumber - cheezyのpage-objectとwatirを使用しているときに、「style」タイプのcssセレクターにアクセスすることは可能ですか?
私のpage.rbではdiv(:select, :css => 'div.active[style="display: block;"]')、エラーが発生しているものを使用しています-Watir :: Exception::MissingWayOfFindingObjectException。
コンソールでdocument.querySelector("div.active[style='display: block;']")、オブジェクトを適切に返します。ドキュメントのどこを見ればよいかわからないので、助けていただければ幸いです。
前もって感謝します。
webdriver - PageFactoryを使用して既存のコードをPageObjectデザインパターンに変換する
C#.NetでSelenium2Webドライバーを使用してテストを作成しています。多くのSeleniumドキュメントを読んだ後、正しいデザインパターンに従っているかどうかがわかりません。また、PageObjectデザインパターンを使用してテストを行う方法がわからないと感じています。
これが私のページで使用している現在のコードとその動作です
Selectまた、pageFactoryを使用してpage要素を使用することはできないと言いました。
コードをコーディングした方法で変更する必要がありますか?どんなフィードバックも素晴らしいでしょう。
java - WebDriverとページオブジェクトを使用してページタイトルを確認するにはどうすればよいですか?
ページオブジェクトを使用してページタイトルを確認するメソッドを作成しようとしていますが、作成できません。グーグルページで何かを検索した後、ページタイトルを確認する方法を書く方法を教えてください。
これが私の2つのクラスです。
クラス1
}
クラス2
}
検索結果を表示した後、タイトルを確認する方法を教えてください
注:私はTestNGを使用しています。
よろしくお願いします、ShivaOleti。
webdriver - 抽象化と再利用のためにWebDriverのクラスとしてWebページ上の要素をモデル化する理想的な方法
抽象化と再利用のために、Webページ上の要素をクラスとしてモデル化する理想的な方法は何でしょうか。
現在、私が作成したのは、次のメンバー変数を含むBaseElement.javaクラスです。
コンストラクター:
次に、このクラスを、Webページ上の特定の要素を表す他のクラスに拡張します。
たとえば、BaseElement.javaを拡張するButton.javaクラスがあります。
したがって、私のPageObjectクラスでは、次のように上記を利用します。
これは正しいアプローチですか?Webドライバーの観点から、抽象化し、複雑なロジックを単一のクラスで非表示にし、ボタン、テキストボックス、選択リストなどの要素を再利用するためのより良い方法はありますか?前もって感謝します!