Android - Appium向下滑动不起作用

时间:2018-06-01 05:18:29

标签: java android automation appium appium-android

我正在尝试向下滑动联系人屏幕,但它无法正常工作。

这是我尝试过的代码。

public void Swipedown() throws InterruptedException
{
  // Select till which position you want to move the seekbar
  TouchAction action=new TouchAction((PerformsTouchActions) driver);
  Dimension dimensions = driver.manage().window().getSize();

  action.press(446,1404).moveTo(554,1500).release().perform(); 

    System.out.println("swipe down to set seekbar successfully");
    Thread.sleep(5000);
    }

你们能帮我解决我在这里做错的事吗 任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:4)

使用以下方法向下/向上滑动:

public static void swipeVertical(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
        Dimension size = driver.manage().window().getSize();
        int anchor = (int) (size.width * anchorPercentage);
        int startPoint = (int) (size.height * startPercentage);
        int endPoint = (int) (size.height * finalPercentage);
        new TouchAction(driver).press(anchor, startPoint).waitAction(Duration.ofMillis(duration)).moveTo(anchor, endPoint).release().perform();
    }

通过以下方式调用上述方法:

向上滚动:swipeVertical((AppiumDriver)driver,0.9,0.1,0.5,3000);

向下滚动:swipeVertical((AppiumDriver)driver,0.1,0.9,0.5,3000);

答案 1 :(得分:0)

使用此代码上下滑动

TouchAction t=new TouchAction(driver);

//long press, for atleast 1 sec first and move the object

        WebElement First=driver.findElementByXPath("//*[@***First Element Path***]");

        WebElement second=driver.findElementByXPath("//*[@***Second Element Path***]");
t.longPress(longPressOptions().withElement(element(First)).withDuration(ofSeconds(3))).moveTo(element(second)).release().perform();

希望这会有所帮助:)