无法滚动和单击,因为元素在selenium中与原生Android移动应用程序不可见

时间:2016-12-21 12:30:46

标签: java selenium mobile automation appium

我正在使用selenium 2.53,Java 1.8,Appium 1.5.3来实现原生移动应用程序的自动化。现在我有一个条件,页面的长度太大,我必须点击页面的底部。如果我在测试运行之前手动滚动页面,然后点击自动化 - 点击工作正常。但是我无法使用代码向下滚动页面。我尝试了很多不同的代码集。现在我正在尝试下面的代码。但这也不起作用。

现在的问题是:我们如何将本机应用程序的页面滚动到特定元素并单击该元素?

JavascriptExecutor js = driver;
element = driver.findElement(getMethodToCall(object, byCall));
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) element).getId());
js.executeScript("mobile: scroll", scrollObject);

1 个答案:

答案 0 :(得分:0)

我在向下滚动时遇到了类似的情况,并使用了滑动和触摸动作,这两种方法在我的情况下运行良好。

<强>滑动

driver.swipe(startX, startY, endX, endY, duration);

<强> TouchActions:

TouchAction touchAction = new TouchAction(driver);
touchAction.press(startX, startY).moveTo(endX, endY).release().perform();

对于这两个,我已经在循环中使用它,直到我看到我想要点击的对象显示在屏幕上。