我使用Appium + Java自動化Tablet應用程序。在一個屏幕上,我有100多個字段(文本框+下拉菜單)自動執行哪個滾動視圖。在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;
}
}
問題:灌裝幾個(比如7)字段後,它給我NoSuchElementException異常,因爲我在屏幕滾動到移動到下一個字段(它是這樣:屏幕包含7個字段&您必須滾動才能查看下面的字段,並且在顯示屏中查看之前,automator也不會識別該元素)。
我試過的是,我沒有捕獲NoSuchElementException並執行滾動操作。但這不是正確的方法,因爲如果已經搜索的元素實際上不存在,那麼它也會捕獲NoSuchElementException並執行滾動操作。
建議一些很好的方法來消除這個問題。讓我知道是否需要任何細節。
是否有可能在下拉列表中的2個項目(或更多)將具有相同的值? –
@DavidEp,不,它不會。 與該問題有關嗎? – Ashish
是的 - 我想我可以給你一個答案 –