問題タブ [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.
ruby-on-rails - page-object gem との Capybara の統合
page-object gem と capybara を使用して Ruby on Rails のテストを自動化することはできますか? テストを開始した後にページ オブジェクトにアクセスしようとすると、次のエラーが表示されます。
カピバラのブラウザーインスタンスをページオブジェクトに渡す必要があると思うので、これは理にかなっています。他の誰かがこれを試したことがあるかどうかはわかりません。
ruby - ページオブジェクトの重複チェックボックスが定義されていませんか?
購入ボタンを表示できるチェックボックスをクリックしようとしています。使用しようとすると、「NoMethodError: undefined method 'eula' for Cart:0x101f54810」というエラーが表示されます。同一のチェックボックスが 2 つあるためと思われますが、確かではありません。
HTML:
私のクラス:
更新: オブジェクト タイプを変更して動作させようとしていました。要素は、私が試した最後のタイプでした。例をチェックボックスに戻しました(最初の試み)。ご指摘ありがとうございます。
ruby - RubySeleniumPageObjectsテンプレート
可能であれば、pageObjectデザインパターンを使用してセレンテストを設定するためのテンプレートを持っている人はいますか。
私がやりたいのは、ブラウザを開く親クラスを作成することです。次に、そのブラウザ変数をLoginPageなどのページの別のサブクラスに渡すことができます。
誰かがこれについてさらに情報を得ることができれば、それは素晴らしいことです。
私の主な問題は、サブクラスにブラウザ変数を継承させることです。
私はこれについていくらかの助けを本当に感謝します、どんな答えでも私を正しい方向に向けるのを助けるために歓迎します。
乾杯、ジョン
java - PageFactory を使用して WebDriver PageObject を初期化して使用する最良の方法は何ですか?
WebDriver と PageFactory では、Java を使用して新しい自動化プロジェクトを実装しており、PageObject を作成するさまざまな方法を試してきました。私たちはいくつかの異なるアイデアで引き裂かれており、窮地に追い込まれないようにしたいと考えています。
WebDriver のドキュメントに記載されているように、新しい PageObject を作成するためのクラス テンプレートと共に、初期化された WebDriver を PageFactory に提供するのが最善ですか?
しかし、PageObject はおそらくその URL など、それ自体について多くのことを知っているので、Page Object に仕事をさせることはできないのでしょうか?
PageFactory に初期化だけではなくインスタンス化を実行させる利点はあまりないと思いますが、理由がある場合は、アーキテクトによる標準設定から逸脱したくありません。
ありがとう
c# - Locate only non-hidden elements using Selenium WebDriver in C#
I have a collection of records on a web page, and when a record is clicked, a 'Delete' link is displayed (actually 'unhidden' as its actually always there).
When trying to access this 'Delete' link, I am using its value.
When I use Driver.FindElement
, it returns the first Delete link, even though it's hidden, and therefore can't click it (and shouldn't as it is not the right link).
So, what I basically want to do is find only non-hidden links. The code below works, but as it iterates through every Delete link I am afraid it may be inefficient.
Is there a better way?
selenium-webdriver - Selenium WebDriver ページ オブジェクト
Selenium Webdriver のページ オブジェクトに関する簡単な質問です。私たちのサイトは非常に動的で、多くの ajax とさまざまな認証状態があります。各ページ オブジェクトを定義する方法を理解するのは難しいですが、サイトを表すいくつかのページ オブジェクトを理解して定義したとしましょう。
ページからページへのクロスをどのように処理しますか。したがって、ホームページ用のページ オブジェクト、アカウント ページ用のページ オブジェクト、および結果ページ用のページ オブジェクトを取得します。次に、すべてのページを走査して複数のアクションを実行するユーザーをシミュレートするテストを作成する必要があります。
新しい用途を作成するために HomePage オブジェクトを渡してください -> 次にアカウント ページ オブジェクトを取得していくつかのユーザー アクションを実行し、次に結果ページ オブジェクトを取得してそれらのアクションをすべて 1 つのスクリプトから検証します。
人々はこれをどのように行っていますか?
ありがとう
ruby - ページ オブジェクトの要素のインターフェイスをどの程度抽象化する必要がありますか?
LineItemsPage というページ オブジェクトがあります。
私はそれを次のように使用します:
LineItemsPage クラスに次のようなものを追加して、クリックを抽象化する必要があるかどうか疑問に思っています。
そして、それを次のように使用します:
特にPage ObjectまたはRuby全般に関して、ベストプラクティスを探しています。を使用してインターフェイスをカプセル化するのadd_item()
は少し先のことだと思いますが、そうしないと将来遭遇する可能性のある問題に気付いていないのではないかと思います。
ruby - 動的ページのURL
動的なURLのページがあります。それをビュー投稿ページと呼びましょう。投稿1のURLはで、投稿site.com/post/1
2のURLはですsite.com/post/2
。
これは、私が正しいページにいるかどうかを確認するために現在行っていることです。
ページ:
きゅうりのステップ:
もっと良い方法はありますか?URL全体をチェックするのか、それともsite.com/post/
一部だけをチェックするのか。
最新のページオブジェクトgem(0.6.6)を使用しています。
アップデート
さらに大きな問題は、動的URLを持つページに直接移動することです。
ページ:
きゅうりのステップ:
私が今していることは、キュウリのステップを次のように変更することです。
ページがIDを知る方法があればいいのですが、その方法はまだわかりません。
ruby - Site Prism, Capybara: 変数付きセレクター
カピバラでページ オブジェクト モデルを実装するために、site_prismをいじっています。とても面白そうです。
"[data-id='x']" (x は整数) などのセレクターを指定するにはどうすればよいですか? このようなもの:
そして、私のテストでは:
ruby-on-rails - Cucumber の複数の機能に同じブラウザ インスタンスを使用するとエラーが発生する
Cucumber ドライバーのブラウザー インスタンスの作成に問題があります。「Before do」内のenv.rbにオブジェクトを作成すると、次のようになります。
…正常に動作し、機能ごとに新しいブラウザを開き、「実行後」に閉じます。
新しいブラウザがすべての機能を起動して閉じるため、実行が遅くなります。しかし、すべての機能に対して同じブラウザー セッションを使用するために「実行前」から @browser を作成すると、次のエラーが発生します。
...テストをまったく開始していません。私は page-objects gem、ruby-on-rails を使用しています...
私が間違っていることを教えてください。どうもありがとう!