Как пролистать iOS с помощью Appium - PullRequest
1 голос
/ 13 марта 2020

Я пытаюсь провести модальное представление в iOS, используя Appium с java.

Я безуспешно пробовал это двумя способами:

JavascriptExecutor js2 = (JavascriptExecutor) driver;

 HashMap<String, String> scrollObject2 = new HashMap<String, String>();
 scrollObject2.put("x", "200");
 scrollObject2.put("y", "550");
 scrollObject2.put("direction", "down");
 js2.executeScript("mobile: swipe", scrollObject2);

 TouchAction action = new TouchAction(driver);
 action.press(PointOption.point(200, 550)).moveTo(PointOption.point(200, 700)).release().perform();

Что я делаю неправильно? еще один правильный способ достичь этого?

Спасибо!

Ответы [ 2 ]

1 голос
/ 13 марта 2020

Вы должны сделать это, используя js скрипт-исполнитель.

Не нужно добавлять координаты, как вы, просто попробуйте что-то вроде этого:

HashMap<String, String> scrollObject = new HashMap<>();
JavascriptExecutor js = driver; 
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject); //or "mobile: swipe"
0 голосов
/ 16 марта 2020
public static void fingerSwipe(int startX, int startY, int endX, int endY, long timeInMillis){
PointerInput touchAction = new PointerInput(PointerInput.Kind.TOUCH, "touchAction");
Interaction moveToStart = touchAction.createPointerMove(Duration.ZERO, PointerInput.Origin.viewport(), startX, startY);
Interaction pressDown = touchAction.createPointerDown(PointerInput.MouseButton.LEFT.asArg());
Interaction moveToEnd = touchAction.createPointerMove(Duration.ofMillis(timeInMillis), PointerInput.Origin.viewport(), endX, endY);
Interaction pressUp = touchAction.createPointerUp(PointerInput.MouseButton.LEFT.asArg());

Sequence swipe = new Sequence(touchAction, 0);
swipe.addAction(moveToStart);
swipe.addAction(pressDown);
swipe.addAction(moveToEnd);
swipe.addAction(pressUp);

driver.perform(Arrays.asList(swipe));

}

Я использую пакет взаимодействий с селеном, чтобы выполнить удар с помощью JAVA и appium. Попробуйте использовать нечто похожее на приведенный выше код в версиях WebDriverIo для Appium - 1.15.0 и выше. Вам просто нужно передать входные параметры в зависимости от того, какое свайп вы хотите выполнить.

'long timeInMillis' - период времени свайпа.

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