応答 Web アプリのテストを自動化していますが、同じ @FindBy セレクターを持つページ上の複数の要素に問題があり、特定の画面解像度で 1 つしか表示されません (この場合、画面上を「移動」するログアウト ボタン) .
Web 要素のリストを取得し、最初に表示されたものをクリックするだけで済みましたが、html 要素を使用してもっとスマートにできるかどうか疑問に思っていました。
次の注釈が与えられた場合
@FindBy(css = ".logoutButton")
MultiWebElement logoutButton;
このメソッドを呼び出すと
logoutButton.click();
次に、MultiWebElement クラスは、find by に一致するすべての要素を繰り返し処理し、isDisplayed() である最初の要素でクリック メソッドを呼び出します。
残念ながら、デコレータは logoutButton を List 型にすることを望んでいるようで、新しいクラスを作成する目的を無効にします。
このようなことはできますか、それとも現在の範囲外ですか?