是否可以使用iOS中类似AndroidUIAutomator的类似内容滚动到元素?

问题描述 投票:1回答:1

正如标题已经表明这是关于在本机iOS应用程序中滚动Appium。在Android应用中我们使用:

MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()" +
     ".scrollable(true)).scrollIntoView(new UiSelector().resourceId(\"" + myVariable +\""));");

这适用于我们的Android应用程序,我想知道是否有类似的东西可以用于iOS。是否可以选择使用此方法?

MobileBy.iOSClassChain()

我没有使用它的经验,我在文档中找不到任何东西,告诉我是否有一种方法可以使用此方法滚动到元素,并在传递给它的字符串中启用或传递它。它只是一种更快的方式来定位元素而不是XPath,还是可以像AndroidUIAutomator一样使用它?

上面提到的Android方法比我们之前使用的任何touchAction更可靠,更快,因此我想在iOS中切换到类似的东西。

appium appium-ios appium-android
1个回答
1
投票

执行受控滚动的推荐最佳实践是使用Appium“mobile:scroll”脚本命令。使用executeScript()方法执行此命令。

RemoteWebElement element = (RemoteWebElement)driver.findElement(By.className("XCUIElementTypeTable"));
String elementID = element.getId();
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("element", elementID); // Only for ‘scroll in element’
scrollObject.put("direction", "down");
driver.executeScript("mobile:scroll", scrollObject);

“element”:要滚动的元素的id - “element”必须是可滚动的。

“方向”:“向上”,“向下”,“向左”,“向右”。

有关滚动的更多信息,请查看Scrolling in IOS

© www.soinside.com 2019 - 2024. All rights reserved.