我正在尝试上下滚动页面,有人可以帮我吗?我正在使用appium 1.6版。和Java客户端6.01对于最新版本,它不显示driver.scroll()方法或TouchAction action = new TouchAction(this.driver); action.press(startX,startY).moveTo(endX,endY).release().perform (); 它没有执行新闻
答案 0 :(得分:0)
这些方法未经测试,因为我目前没有需要滚动的测试应用程序,但是我将它们组合在一起以供将来自己使用。对于每个滚动/滑动方向,我有两种方法-一种使用Appium,另一种使用javascript executor。我将仅显示下面的两个向下滚动例程,您应该能够仅通过这两个示例轻松确定如何编写其他方向。
首先是Appium版本:
public void scrollDown() throws Exception {
//The viewing size of the device
Dimension size = driver.manage().window().getSize();
//Starting y location set to 80% of the height (near bottom)
int starty = (int) (size.height * 0.80);
//Ending y location set to 20% of the height (near top)
int endy = (int) (size.height * 0.20);
//x position set to mid-screen horizontally
int startx = size.width / 2;
new TouchActions(driver)
.down(startx, starty)
.move(startx, endy)
.release()
.build()
.perform();
}
现在对应的javascript版本:
public void jsScrollDown() throws Exception {
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject);
}
请记住,这些都没有经过测试,但是我使用的是从Appium网站本身收集的信息,因此它们都应该起作用。