問題タブ [page-factory]

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 投票する
1 に答える
178 参照

c# - PageFactoryを使用して、サブクラスで@findByアノテーションを定義する方法は?

私は Selenium と C# を使用した自動化プロジェクトに取り組んでいます。Page Object パターンを使用して各ページを (ロケーターと共に) 定義し、Test クラスでテストを個別に定義します。ページの基本クラスである Page クラスがあり、そこで呼び出します。 PageFactory.InitElements (webDriver, this);

すべてのページに共通のメソッドを定義します。次に、各ページが Page から継承され、対応する要素が @FindBy アノテーションを使用して定義されます。

新しいログイン ページが追加され、両方 (新しいログインと古いログイン) を維持し、両方のページでテストを実行できるようにする必要があります。両方のページには同じ要素 (ロケーターではない)があり、次のような同じメソッドに応答できる必要があります。 LoginPage と NewLoginPage (どちらも BaseLogin から継承)。BaseLogin では要素 (IWebElement) と共通メソッドを定義できます。次に、各サブクラスで、各要素を対応するロケーターに関連付け/関連付けます。

これは、各ページでページを操作できるようにするコードを繰り返さないようにするためです。

要素「IWebElement UserName」を対応するロケーターに関連付けるにはどうすればよいですか?