Помогите, пожалуста,как реализовать двойное нажатие на экран, читала тему, которая была, решения для себя не нашла.
два последовательных tap не распознаются как double tap.
Очень нужен совет, всем спасибо.
То есть такой вариант не подходит new TouchAction(driver).press(300,550).release().perform().press(300,550).release().perform()
? Можете написать что у вас не сработало ?
Оно тапает, но программа распознает это как два отдельных тапа.
Давайте чуть больше деталей. На каком языке пишите, какой код у вас не работает ? Вот что я вижу в официальных доках Аппиума :
https://github.com/appium/appium/blob/master/commands-yml/commands/interactions/touch/double-tap.yml
Здравствуйте!
// Java
TouchActions action = new TouchActions(driver);
action.doubleTap(element);
action.perform();
# Python
actions = TouchActions(driver)
actions.double_tap(element)
actions.perform()
Должно работать
Линка на appium.readthedocs.io
p.s
Пока писал уже запостили этот код . . .
Спасибо, что помогаете разобраться. Пишу на Java. То, что вы прислали я тоже пробовала.
Вот такой код и эта ошибка:
java.lang.ClassCastException: io.appium.java_client.AppiumDriver cannot be cast to org.openqa.selenium.interactions.HasTouchScreen
at org.openqa.selenium.interactions.touch.TouchActions.<init>(TouchActions.java:38)
из аппиума:
[HTTP] <-- GET /wd/hub/session/6ce502ea-f009-4fef-a12e-427709fd6541/element/2/attribute/text 200 7 ms - 94
всем большое спасибо!
А что делать, если это Android? Последнее решение для ios.
Попробуй так
TouchAction action = new TouchAction(driver);
action
.tap(TapOptions.tapOptions()
.withTapsCount(2)
.withElement(element(locator))
)
.perform();
Это тоже не дабл но я уже нашел. Нужно сделать press(…).release().waitAction(…).press(…).release(). Вот тогда распознается как настоящий double tap.