在Android Appium WebDriver中向下滚动的问题

时间:2014-11-25 07:15:20

标签: java webdriver emulation appium

如何在Appium WebDriver中向下滚动元素外观?我们正在使用模拟器进行自动化。

任何建议/帮助都将不胜感激。

6 个答案:

答案 0 :(得分:2)

这有效

    TouchAction action = new TouchAction(androidDriver);
    action.press(0, 500)
            .waitAction(200)
            .moveTo(0, 200)
            .release()
            .perform();

只需使用坐标即可获得所需的滑动。

答案 1 :(得分:1)

为此,您可以使用 AppiumDriver scrollToExact()scrollTo()个功能

AppiumDriver driver = new AppiumDriver();

在字符串包含" abc"

时滚动
driver.scrollTo("abc");

或精确字符串" abc"看来你可以使用

driver.scrollToExact("abc");

答案 2 :(得分:0)

您可以使用

driver.scrollTo(value);

driver.swipe(start.x, start.y, end.x, end.y, duration)

供参考:http://appium.io/slate/en/0.18.x/?ruby#automating-mobile-gestures

答案 3 :(得分:0)

由于现在使用最新版本的appium(1.6.3)不推荐使用scrollTo()和更多相关方法。您可以尝试以下代码行。它对我有用,希望它也适合你......你可以根据你的要求改变尺寸。

    Dimension dimensions = driver.manage().window().getSize();
    //System.out.println("Dimension value = "+dimensions);


    Double screenHeightStart = dimensions.getHeight() * 0.5;
    //System.out.println("Screen Height start Value="+screenHeightStart);


    int scrollStart = screenHeightStart.intValue();
    //System.out.println("Scroll Start Value="+scrollStart);

    Double screenHeightEnd = dimensions.getHeight() * 0.2;
   // System.out.println("Screen Height start End="+screenHeightEnd);

    int scrollEnd = screenHeightEnd.intValue();
    //System.out.println("Scroll end Value="+scrollEnd);


    driver.swipe(0,scrollStart,0,scrollEnd,2000);
    sleep(3000);

答案 4 :(得分:0)

尝试使用以下代码滚动到底部: -

    Dimension size= driver.manage().window().getSize();
    int starty=(int)(size.height*0.80);
    int endy=(int)(size.height*0.20);
    int startx=size.width/2;
    driver.swipe(startx, starty, startx, endy, 3000);

答案 5 :(得分:0)

这应该可以正常工作:

driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(text(\"Put the text you want to scroll to here\"));");

如果你想在滚动到元素后点击它,添加一个 click() 方法:

driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(text(\"Put the text you want to scroll to here\"));").click();