如何在appium中滚动页面

时间:2015-02-27 15:06:31

标签: android appium

我正在使用Appium测试混合Android应用程序。我想滚动到页面底部,然后单击一个链接。谁能告诉我如何滚动到页面底部。

非常感谢!

4 个答案:

答案 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)

自JAVA客户端版本4.0.0(https://github.com/appium/java-client/blob/master/README.md)以来,

scrollToExactscrollTo方法已被删除。

swipe方法也被删除(自5.0.0-BETA1起)

您可以使用UiScrollableUiSelector及其方法滚动任意页面(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();
}

希望它有所帮助。