使用appium自动化IOS UITableview

时间:2016-04-08 09:29:43

标签: ios uitableview appium appium-ios

我有一个UITableView,它包含大约50个元素。在任何一点上,屏幕上只能看到其中的6个。我想选择一个未添加到表格视图的单元格,或者说我需要从数据列表中选择第25个项目。

现在我使用此方法点击tableview中的单元格

wait.until(ExpectedConditions.visibilityOf(driver.findElementByAccessibilityId(element))).click();

但它没有作为第25个元素工作尚未添加到视图中。请注意,我在代码中动态添加表视图单元的辅助功能标识符。

我该如何做到这一点?

*****添加了更多细节******

我有表格视图单元格显示两个文本视图。货币短名称和货币长名称。

  

考虑示例

     

GBP

     

英国磅

     

现在,该tableview单元格的辅助功能标识符设置为   英镑。现在我试过

     

driver.scrollTo(" GBP")和driver.scrollTo(" Great Britain Pounds")

两者都没有用。我收到一条错误消息

A element could not be located on the page using the Search parameter

感谢。

1 个答案:

答案 0 :(得分:1)

    String ReqN = "Your required string"; 
    boolean flag = true;
    while (flag) {
        for (i=1;i<=6;i++) {
            String GetN = driver.findElement(By.xpath("//android.widget.HorizontalScrollView/android.widget.LinearLayout[" + i + "]")).getText();
            if (GetN.equals(ReqN)) {
                flag = false;
                System.out.println("Your result found");
            }
        }
        if (flag) {
            driver.swipe(145, 765, 145, 180, 3000);
        }
    }

String ReqN ::您的预定义字符串

String GetN :: Text get for each element [1到6,我们得到for循环]

所以它得到了文字&amp;匹配前六个元素如果找不到预定义的文本然后从给定的轴(第6个元素到第1个元素)进行滑动,那么你将得到新的6个元素&amp;循环将再次执行。

参考。图片Elements & X,Y points