是否可以使用类似iOS的AndroidUIAutomator滚动到某个元素?

时间:2019-02-18 15:40:35

标签: appium appium-ios appium-android

正如标题所暗示的,这与在本机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中切换到类似方法。

2 个答案:

答案 0 :(得分: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);
  

“元素”:您要滚动的元素的ID –“元素”必须是可滚动的。

     

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

有关滚动的更多信息,请选中Scrolling in IOS

答案 1 :(得分:0)

http.HandleFunc