我正在使用Appium测试混合Android应用程序。我想滚动到页面底部,然后单击一个链接。谁能告诉我如何滚动到页面底部。
非常感谢!
答案 0 :(得分:1)
首先,您可以使用检查器找到x和y坐标,然后使用以下代码:
driver.swipe(startx, starty, endx, endy, duration);
答案 1 :(得分:0)
使用
driver.ScrollTo("Text");
文字是需要滚动的标记。
答案 2 :(得分:0)
这是我尝试向下滚动侧边菜单并找到注销
的方法//向下滑动侧边菜单,然后点击退出
@Test
public void T4b_logout() throws InterruptedException{
size = driver.manage().window().getSize(); //Get the size of screen.
System.out.println(size);
int starty = (int) (size.height * 0.80);//Find starty point which is at bottom side of screen.
int endy = (int) (size.height * 0.20); //Find endy point which is at top side of screen.
int startx = size.width / 2; //Find horizontal point where you wants to swipe. It is in middle of screen width.
System.out.println("starty = " + starty + " ,endy = " + endy + " , startx = " + startx); // int startx = size.width;
driver.swipe(startx, starty, startx, endy, 3000);//Swipe from Bottom to Top.
Thread.sleep(2000);
driver.findElement(By.name("Logout")).click();
driver.findElement(By.xpath("//android.widget.Button[@text='Ok']")).click();
}
答案 3 :(得分:0)
scrollToExact
和scrollTo
方法已被删除。
swipe
方法也被删除(自5.0.0-BETA1起)
您可以使用UiScrollable
和UiSelector
及其方法滚动任意页面(https://developer.android.com/reference/android/support/test/uiautomator/UiScrollable.html)。
代码示例:
@AndroidFindBy (uiAutomator = "new UiScrollable(new
UiSelector()).scrollIntoView(new UiSelector().textContains(\"Question
\"))")
如果您想要滚动到页面底部,请创建将执行几个步骤的方法(请参阅上面的代码)以查找页面的最后一个元素,否则您将收到错误(找不到元素)。
我正在使用这种方法:
@AndroidFindBy (uiAutomator = "new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().textContains(\"Element1\"))")
public WebElement scrollStepOne;
@AndroidFindBy (uiAutomator = "new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().textContains(\"Element2\"))")
public WebElement scrollStepTwo;
然后方法:
public void scrollToTheBottom(){
scrollStepOne.isDisplayed();
scrollStepTwo.isDisplayed();
}
希望它有所帮助。