IOS Appium не может сделать прокрутку методом Touch Action - PullRequest
0 голосов
/ 29 апреля 2018

Я попытался с помощью следующего метода сделать прокрутку вниз сверху вниз на экране, но, похоже, не отвечает вообще. Ты хоть представляешь, в чем причина?

public void scrolTest () {

    TouchAction tc=new TouchAction(driver);
    Dimension dimension=driver.manage().window().getSize();
    Double screenHeightStart = dimension.getHeight() * 0.5;
    int scrollStartY = screenHeightStart.intValue();
    Double screenHeightEnd = dimension.getHeight() * 0.2;
    int scrollEndY = screenHeightEnd.intValue();
    int scrollX=dimension.getWidth()/2;
    tc.longPress(scrollX,scrollStartY).moveTo(scrollX,scrollEndY).release();     //(0,scrollStartY,0,scrollEndY,2000);
}

1 Ответ

0 голосов
/ 29 апреля 2018

Вы не используете метод execute ().

tc.longPress(scrollX,scrollStartY).moveTo(scrollX,scrollEndY).release().perform();

Попробуйте этот код

public void scrollTest() {
    Dimension dimension = driver.manage().window().getSize();
    int scrollStartY = (int) (dimension.getHeight() * 0.5);
    int scrollEndY = (int) (dimension.getHeight() * 0.2);
    int scrollX = dimension.getWidth() / 2;
    int heightOffset = scrollStartY - scrollEndY;

    //Also note that in moveTo function, you have to provide the offSet values, not the (x,y) coordinates
    //of the point where you want to move. Hence, i have written 0 in x coordinate (as we don't want to 
    //change x coordinate) and calculated the heightOffset separately.
    new TouchAction(driver).press(scrollX, scrollStartY).moveTo(0, heightOffset).release().perform();
}
...