Как добавить одновременно движущиеся штрихи в Appium iOS, если продолжительность больше? - PullRequest
0 голосов
/ 09 октября 2019

В моем приложении есть UIView. Он получает UITouch -ы, и имеет довольно сложную логику для их обработки. Логика обработки зависит от сенсорного интерфейса UIKit.

Я не знаю, как воспроизвести такой случай ни с TouchAction, ни с MultiAction. Есть 2 касания. touch2 начинается позже и длится короче: enter image description here

В моменты касания t3 и t4 перемещаются одновременно, затем touch2 заканчивается, но touch1 все еще движется.
Мой текущий нерабочий код: https://gist.github.com/gatamar/c7182292a1b54379cc26f3e38c823199

В UIKit сенсорные события выглядят так:

touchesBegan: [touch1_t1]
touchesBegan: [touch2_t2]
touchesMoved: [touch1_t3, touch2_t3]
touchesMoved: [touch1_t4, touch2_t4]
touchesEnded: [touch2_t4]
touchesMoved: [touch1_t5]
touchesEnded: [touch1_t5]

Возможно ли добиться этого с помощью Appium?

Может ли MultiAction выполнять два не одновременных касания?

Есть ли в Python Appium Client более низкоуровневый API, например, Selenium, XCUITest?

Любая помощь будет в значительной степениоценили.

1 Ответ

1 голос
/ 09 октября 2019

Тогда ладно. Вот пример использования жестов в Java.

PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger");
Dimension size = driver.manage().window().getSize();
//get your screen size
Point source = new Point(size.getWidth(), size.getHeight());
//this is resolution of your screen 
Sequence pinch = new Sequence(finger, 0);
pinch.addAction(finger.createPointerMove(Duration.ofMillis(0),
                PointerInput.Origin.viewport(), source.x / 2, source.y / 2));
pinch.addAction(finger.createPointerDown(PointerInput.MouseButton.LEFT.asArg()));
pinch.addAction(new Pause(finger, Duration.ofMillis(100)));
pinch.addAction(finger.createPointerMove(Duration.ofMillis(600),
                    PointerInput.Origin.viewport(), source.x / 3, source.y / 3));

, а затем вам нужно perform эту последовательность, вызвав driver.perform(Arrays.asList(pinchAndZoom1)); Как видите, вы можете изменить продолжительность жеста, поиграть с ним иВы поймете, как это работает. Также здесь - это несколько документов с примерами.

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