Appium - Java,如何在android中自动滑动?

时间:2017-12-09 15:55:33

标签: java android appium

尝试使用appium自动化Android应用程序时,输入以下代码进行滑动给予----

TouchAction io.appium.java_client.TouchAction.press(WebElement el) 
@Deprecated
TouchAction ac = new TouchAction(driver);
ac.press(436,652).moveTo(-311,-14).release().perform();

可以用什么来滑动?

4 个答案:

答案 0 :(得分:0)

不推荐使用坐标或等待时间。您现在应该使用ActionOptions。如果是积分,他们会调用PointOptions

答案 1 :(得分:0)

TouchAction为我提供了启动和停止滑动的元素:

WebElement start = driver.findElement(By.id("xxxxxx"));
WebElement stop = driver.findElement(By.xpath("xxxxxx"));
TouchAction action = new TouchAction(driver);
action.longPress(start).moveTo(stop).release().perform();

答案 2 :(得分:0)

以下代码中的waitAction对于正确实施滑动操作至关重要(这花了我几个小时的学习时间)。

public static void actionSwipeLeft(AndroidDriver driver)
{
    Dimension dims = driver.manage().window().getSize();
    int       x    = (int) (dims.getWidth() * .5);
    int       y    = (int) (dims.getHeight() * .8);

    int       endX = 0;

    System.out.println("Swiping left.");

    new TouchAction(driver)
            .press(new PointOption().withCoordinates(x, y))
            .waitAction(new WaitOptions().withDuration(Duration.ofMillis(500)))
            .moveTo(new PointOption().withCoordinates(endX, y))
            .release()
            .perform();
}

答案 3 :(得分:0)

我认为评论者之一,迈克(Mike),关于过时的等待时间可能是正确的。 (所有源代码都散乱了。)这是我使用的代码。希望能帮助到你。

new TouchAction(driver).longPress(PointOption.point(x, y)).moveTo(PointOption.point(x, y)).release().perform();