Разница между нажатием и касанием действия в Appium? - PullRequest
0 голосов
/ 15 января 2020

Я хочу знать разницу между нажатием и нажатием на элемент при использовании драйвера Appium.

Я смог понять разницу между щелчком и касанием, но не смог очистить голову от касания и нажатия. Единственное отличие, которое я смог установить, было то, что отвод работает как с позициями, так и с элементом, но, кажется, пресс работает только с позицией.

Но даже тогда я могу использовать нажатие для обработки как щелчков позиции, так и щелчков элементов. Зачем нам пресс явно? Похоже, они выполняют ту же функцию в пользовательском интерфейсе. Может кто-нибудь, пожалуйста, объясните мне случай использования, когда нам нужно явно go нажать, а не нажимать, и наоборот.

Ниже приведен код, который я использую для обоих:

Нажатие:

t.tap(tapOptions().withElement(ElementOption.element(MY_WEBELEMENT))).perform();

Нажатие:

t.press(PointOption.point(0, 1200)).release().perform();

Я новичок в тестировании Appium и все еще работаю над улучшением этих основ. Не стесняйтесь направлять меня к любой существующей документации на месте.

1 Ответ

0 голосов
/ 15 января 2020

Tap и Press оба работают над Элементом и Координатой. Посмотрите.

Предположим, у меня есть этот мобильный элемент, координаты и продолжительность.

MobileElement myElement;
    int xPoint, int yPoint;
    int duration = XXXX; //in miliseconds

Нажмите на элемент:

new TouchAction(localdriver).tap(tapOptions().withElement(element(myElement))).perform();

Нажмите на координаты:

new TouchAction(localdriver).tap(point(xPoint, yPoint)).perform();

Нажмите на элемент, используя координаты относительно элемента:

new TouchAction(localdriver).tap(tapOptions().withElement(element(myElement, xPoint, yPoint))).perform();

Длинное нажатие на элемент:

new TouchAction(localdriver).longPress(longPressOptions().withElement(element(myElement))).release().perform();

LongPress на элементе с длительностью:

new TouchAction(localdriver).longPress(longPressOptions().withElement(element(myElement)).withDuration(Duration.ofMillis(duration))).release().perform();

LongPress на координатах:

new TouchAction(localdriver).longPress(point(xPoint, yPoint)).release().perform();
...