Double tap with Appium помогите реализовать

Помогите, пожалуста,как реализовать двойное нажатие на экран, читала тему, которая была, решения для себя не нашла.
два последовательных tap не распознаются как double tap.
Очень нужен совет, всем спасибо.

1 лайк

То есть такой вариант не подходит new TouchAction(driver).press(300,550).release().perform().press(300,550).release().perform()? Можете написать что у вас не сработало ?

1 лайк

Оно тапает, но программа распознает это как два отдельных тапа.

Давайте чуть больше деталей. На каком языке пишите, какой код у вас не работает ? Вот что я вижу в официальных доках Аппиума :

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
Пока писал уже запостили этот код . . .

1 лайк

Спасибо, что помогаете разобраться. Пишу на 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.