問題タブ [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.
c# - PageFactoryを使用して、サブクラスで@findByアノテーションを定義する方法は?
私は Selenium と C# を使用した自動化プロジェクトに取り組んでいます。Page Object パターンを使用して各ページを (ロケーターと共に) 定義し、Test クラスでテストを個別に定義します。ページの基本クラスである Page クラスがあり、そこで呼び出します。 PageFactory.InitElements (webDriver, this);
すべてのページに共通のメソッドを定義します。次に、各ページが Page から継承され、対応する要素が @FindBy アノテーションを使用して定義されます。
新しいログイン ページが追加され、両方 (新しいログインと古いログイン) を維持し、両方のページでテストを実行できるようにする必要があります。両方のページには同じ要素 (ロケーターではない)があり、次のような同じメソッドに応答できる必要があります。 LoginPage と NewLoginPage (どちらも BaseLogin から継承)。BaseLogin では要素 (IWebElement) と共通メソッドを定義できます。次に、各サブクラスで、各要素を対応するロケーターに関連付け/関連付けます。
これは、各ページでページを操作できるようにするコードを繰り返さないようにするためです。
要素「IWebElement UserName」を対応するロケーターに関連付けるにはどうすればよいですか?