私はAppium + Javaを使用してタブレットアプリケーションを自動化しています。画面内には、スクロール・ビューを持つ100以上のフィールド(Textbox + Dropdown)が自動化されています。Appiumのスクロール
これらの100以上のフィールドを自動化するには、テストケースとテストデータを別々のExcelシートに含めてすべてのID(そのテキストボックスとそのドロップダウンのドロップダウンリスト)をリストアップしました。私のコードはループで実行され、テストケース、そのデータと関連IDを選んで実行します。
loop : for(int j = 1; j <= fieldCount; j++)
{
objElementRepositoryLibrary.setElementRepositoryDataLibrary(j);
switch(ElementRepositoryLibrary.getElementType()) {
case "AutoPopulated":
System.out.println(ElementRepositoryLibrary.getElementValue() + " is Autopopulated");
break;
case "Dropdown":
ElementOperation.checkElementState(qdeDriver, ElementRepositoryLibrary.getLocator(), ElementRepositoryLibrary.getElementValue());
if(ElementOperation.ElementAcceess.equals(false))
System.out.println(ElementRepositoryLibrary.getElementValue() + " is disabled");
else
objElementOperation.dropdownSelectListner(qdeDriver, ElementRepositoryLibrary.getLocator(), ElementRepositoryLibrary.getElementValue(), field[0][j-1]);
break;
case "Button":
ElementOperation.checkElementState(qdeDriver, ElementRepositoryLibrary.getLocator(), ElementRepositoryLibrary.getElementValue());
if(ElementOperation.ElementAcceess.equals(false)) {
System.out.println(ElementRepositoryLibrary.getElementValue() + " is disabled");
break loop;
}
else if(field[0][j-1].equals(""))
System.out.println("Checking for Null value");
else if(field[0][j-1].equals("Yes") && ElementRepositoryLibrary.getFieldName().equals("QR Scanner"))
objElementOperation.buttonClickListner(qdeDriver, ElementRepositoryLibrary.getLocator(), ElementRepositoryLibrary.getElementValue());
else if(ElementRepositoryLibrary.getFieldName().contains("Capture Document"))
objElementOperation.captureDocument(qdeDriver, ElementRepositoryLibrary.getLocator(), ElementRepositoryLibrary.getElementValue());
break;
default :
objElementOperation.textboxSetListner(qdeDriver, ElementRepositoryLibrary.getElementType(), ElementRepositoryLibrary.getLocator(),
ElementRepositoryLibrary.getElementValue(), field[0][j-1]);
break;
}
}
ISSUE::だから、私のコードは次のようになり、スクリーン:数(7言う)のフィールドを充填した後、それは私が次のフィールドに移動するには、画面をスクロールする必要があるので(それは次のようになります私はNoSuchElementExceptionを与えています7つのフィールド&があります。下のフィールドを表示するにはスクロールする必要があり、画面に表示されるまでオートメーターはその要素を認識しません)。
私が試したことは、NoSuchElementExceptionを捕まえてScroll操作を実行したことです。しかし、検索された要素が実際に存在しない場合、NoSuchElementExceptionを捕捉してスクロール操作を行うため、適切な方法ではありません。
この問題を解決するには、いくつかの良い方法を提案してください。詳細が必要な場合はお知らせください。
ドロップダウンリストの2つ(またはそれ以上)のアイテムが同じ値を持つ可能性がありますか? –
@DavidEp、いいえ、それはできません。 この質問は適切ですか? – Ashish
はい - 私はあなたに答えを与えることができると思います –