Как прокрутить, используя координаты с Appium - PullRequest
1 голос
/ 25 сентября 2019

я пытаюсь прокрутить в нативном приложении для Android, используя метод ниже

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);
Thread.sleep(2000);

, но при driver.swipe выдает ошибку, которая говорит

Проведите методом(int, int, int, int, int) не определено для типа AndroidDriver

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

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Вы можете использовать TouchAction вместо .swipe:

TouchAction action = new TouchAction(driver);
action.press(x, y).moveTo(x, y).release().perform();

Вы также можете реализовать x y с PointOption, например:

  1. .press(new PointOption().withCoordinates(x, y))

    Или

  2. .press(PointOption.point(x, y))

После импорта:

import io.appium.java_client.TouchAction;

TouchAction

PointOption

0 голосов
/ 25 сентября 2019

Попробуйте эту технику вместо методов appium.

JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<>();
scrollObject.put("direction", "down");
js.executeScript("mobile: swipe", scrollObject);
...