たとえば、次のように定義できますか?
@FindBy(By.id("id1")
またはBy.id("form1:id1"))
パブリック WebElement ボタン
「id1」または「form1:id1」のいずれかを持つボタンは正常に動作するはずですか?
たとえば、次のように定義できますか?
@FindBy(By.id("id1")
またはBy.id("form1:id1"))
パブリック WebElement ボタン
「id1」または「form1:id1」のいずれかを持つボタンは正常に動作するはずですか?
@FindBys アノテーションを使用できます。構文は次のとおりです。
@FindBys({@FindBy(id = "foo"),
@FindBy(className = "bar")})
JavaDoc では、次のように説明されています。
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/FindBys.html
これを行うには、Xpath または CSS セレクターを使用します。またはJavaでID名を文字列に保存し、それをIDに入力できます。
まあ、機能する限り、好きなものを使用してください
個人的には使用します@FindBy(By.id("id1"))
が、それは単なる選択のポイントです。
また、2 つの異なるメソッドで同じ要素を 2 回参照しても、何の価値もありません。コードを混乱させるだけです
編集 あなたのコメントを理解したように、ページにはIDを常に変更する要素があります。このような要素を参照する必要がある場合は、xPathを使用してみてください。たとえば、このxpath チュートリアルを参照してください。
特定の ID ではなく、DOM 内のどこかを指すという考え方です。