2017-08-03 13 views
-3

私のアプリケーションでは、ページファクトリデザインパターンを実装しています。アクションを実行しながらテキスト値を置き換えることができるように、ジェネリックxpathを作成した10のリンクを持つWebページがあります。私は@findbyアノテーションを使用することができません。なぜなら、WebElementには一定の値しか持たないからです。ロケータを再利用するために、類似したオブジェクトを同じページまたは同じページに配置した場合にページファクトリパターンを使用する方法をお勧めしますか?例:いい方法や他の回避策ではない多くのリンクに対して10個のWebElementsを宣言する必要がありますかPage factoryデザインパターンselenium

+0

あなたがしようとすると他の人はあなたが間違っているところをお見せすることができますので、あなたの質問を解決するためになされている任意のコードを記載してください。 – yanman1234

答えて

1

このシナリオでは常にリスト配列を使用します。

@findBy(xpath = "//a") 
List<WebElement> allLinks; 

次に、配列とその要素を検索/操作します。

for (WebElement link : allLinks) 
    if (link.getText().toLowercase(contains("home")) { 
     link.click(); 
     break; 
    } 

免責事項:エア・コード

関連する問題