Невозможно использовать TouchActions для прокрутки - PullRequest
0 голосов
/ 14 мая 2019

Мне удалось использовать этот метод прокрутки, который я написал, используя сенсорные действия, но теперь я получаю ошибку компиляции при запуске. Что я должен использовать сейчас или что я могу сделать, чтобы исправить проблему компиляции?

public void scrollDown() {

    AndroidDriver androidDriver = ((AndroidDriver)((WebDriverFacade) getDriver()).getProxiedDriver());
    TouchAction touchAction = new TouchAction(androidDriver);

    Dimension size = androidDriver.manage().window().getSize();
    int startX = size.width / 2;
    int startY = (int) (size.height * 0.60);
    int endY = (int) (size.height * 0.30);
    touchAction.longPress(startX, startY).moveTo(startX, endY).release().perform(); // error on this line pointing to startX and startY within longpress()
}

Ниже приведена ошибка компиляции

method io.appium.java_client.TouchAction.longPress(io.appium.java_client.touch.offset.PointOption) is not applicable
  (actual and formal argument lists differ in length)

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Вы можете использовать следующий метод, чтобы провести экран

public void verticalSwipeByPercentages(double startPercentage, double endPercentage, double anchorPercentage, AppiumDriver<MobileElement> driver) {
    Dimension size = driver.manage().window().getSize();
    int anchor = (int) (size.width * anchorPercentage);
    int startPoint = (int) (size.height * startPercentage);
    int endPoint = (int) (size.height * endPercentage);

    new TouchAction(driver)
            .press(PointOption.point(anchor, startPoint))
            .waitAction(WaitOptions.waitOptions(ofSeconds(1)))
            .moveTo(PointOption.point(anchor, endPoint))
            .release().perform();
}
0 голосов
/ 14 мая 2019

Вам не хватает параметра длительности

new TouchAction(driver).press(ElementOption.element(element1)) .waitAction(WaitOptions.waitOptions(Duration.ofSeconds(3))).moveTo(ElementOption.element(element2)).release().perform();<br>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...