使用appium自动化IOS UITableview

Zac*_*ach 5 uitableview ios appium appium-ios

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

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

wait.until(ExpectedConditions.visibilityOf(driver.findElementByAccessibilityId(element))).click();
Run Code Online (Sandbox Code Playgroud)

但它没有作为第25个元素工作尚未添加到视图中.请注意,我在代码中动态添加表视图单元的可访问性标识符.

我怎样才能做到这一点?

*****添加更多详细信息******

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

考虑这个例子

英镑

英国磅

现在,该tableview单元的可访问性标识符设置为GBP.现在我试过了

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

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

A element could not be located on the page using the Search parameter
Run Code Online (Sandbox Code Playgroud)

谢谢.

小智 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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

String GetN :: Text get 每个元素[我们通过 for 循环得到的 1 到 6 ]

因此,如果未找到预定义文本,它会获取前六个元素的文本并匹配,然后它会从给定轴[即第六个元素到第一个元素]滑动。因此您将获得新的六个元素并再次执行循环。

参考号 图像元素和 X,Y 点