問題タブ [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.

0 投票する
5 に答える
42066 参照

selenium - ページオブジェクトで複合クラス名エラーを回避するには?

class = "country name"ページ オブジェクトにスペースがあるクラス名を使用しようとすると、次のようになります。

スペースのあるクラス名を使用するにはどうすればよいですか。

例えば:

0 投票する
4 に答える
5425 参照

java - ページ オブジェクトはページ オブジェクトを返す必要がありますか?

現在、社内で優れたテスト フレームの構築に取り組んでいます。これは中規模から大規模の Web アプリケーション用で、おそらく数十ページです。現在、主に WebDriver Selenium UI ベースのテストを作成しています。

私たちはいくつかのコーディング標準を決定しようとしています。私たちが話し合っていることの 1 つは、(ページが同じであっても) 常に PO を返すページ オブジェクト (PO) を使用するかどうか、現在のページを離れたときにのみ PO を返すかどうかです。新しいもの、またはPOを返さないことさえあります。私は常に、PO を返すことが PO デザイン パターンの重要な機能であると考えてきましたが、これについては間違っている可能性があります。

基本的に、次のパターンのいずれかを決定しようとしています。

一方が他方よりも好ましいですか?

0 投票する
2 に答える
56563 参照

design-patterns - Selenium WebDriver のページ オブジェクト パターンとは何ですか?

Selenium WebDriverのページオブジェクトパターンとは?

Selenium WebDriverでこれをどのように使用できますか?

例をいただければ幸いです。

0 投票する
3 に答える
3507 参照

selenium-webdriver - 要素がページ オブジェクトの DOM に関連付けられなくなった場合の処理​​方法

ページ オブジェクトを使用して Web サイトをテストしようとしています。スクリプトを実行しているときに、Element is no longer attached to the DOM (Selenium::WebDriver::Error::StaleElementReferenceError)エラー メッセージが断続的に表示されます。機能。

この問題を解決するにはどうすればよいですか?何か提案があれば教えてください。

0 投票する
1 に答える
195 参照

java - オブジェクトでの FindBy の定義を停止し、それらをテストに移動する場合

そこで、他の Webdriver フレームワーク アーキテクトからフィードバックを得たいと思っていた興味深い難問があります。現在、私はかなり標準的な実行モデルに従います。

  • ベースオブジェクト
  • pageobject (baseobject を拡張)
  • Junit testobject (1 つまたは複数の pageobject を参照)

pageobjects 内で、findBy UI マッピングを変数として定義し、その pageobject 用に記述したさまざまなメソッド内でそれらを参照することにしました。これは非常にうまく機能します。ただし、50 個の個別のハイパーリンクが存在する可能性がある場合に、ページ (およびそれぞれのページオブジェクト) のメソッド設計をどのように処理するかについて、私が頭を悩ませている項目があります。

これまでの私の傾向と設計は、作成したほとんどのページオブジェクトのリンクごとにメソッド (実際にはサービスと考えています) を作成して、@Test で必要なメソッドを呼び出すだけで完了できるようにすることでした。これにより、テストのメンテナンスの可能性がなくなります...私が知っている標準的な方法です。しかし、私は今決めようとしています...ページオブジェクトのリンクごとに1つずつ、50個のメソッドを作成することは理にかなっていますか、それとも私の希望に反して、テスト自体からリンクテキストを渡し、渡されたパラメータを使用してfindByを構築します。

一方では page オブジェクト内のコードはかなり少なくなりますが、他方ではテストがより脆弱になります。これらのリンクは、何百ものテストで参照される可能性があります。

これが私のモデルの簡単な例です:

というわけで質問を終わります。このモデルは、テスト設計に最適です。私のサービス (メソッド) は分離されており、簡単に保守できます。しかし、上に示したようにリンクの UI マッピングが 2 つではなく 50 ある場合はどうすればよいでしょうか? 私は次のデザインをいじりましたが、@Test は本当に嫌いです。

どんな考えでも大歓迎です!

0 投票する
1 に答える
252 参照

java - 階層を持つページの PageObjects のアーキテクチャ/設計: menu-items/menu-sub-items/menu-sub-items-tabs

次のパターンを使用して、Selenium webdriver を使用した単一ページ webapp 用のフレームワークを Java で開発しています: PageObject、SlowLoadableComponent (責任の連鎖)、PageFactory、HaveExpectedControls (各ページは、含まれている必要がある要素を認識し、.getExpectedControls を介してそれらを返します)

だから私は自分のページを次のように作成して使用します:

私の現在の目標は、ユーザーが Web アプリケーションを閲覧しているときに実行できるすべての「パス」をテストすることです。

webapp階層の「より深い」ページに到達するまではすべて簡単でした...

マイページは次のように表すことができます

さらに説明するための「ルール」を次​​に示します。

質問: 設計方法:

  • すべてのページのクラス階層?

  • テストでそれらをサーフィンする方法は?(特に、いくつかのリンクからページを取得できる特別なケースを含む)