正如标题已经表明这是关于在本机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“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