Appium IOSDriver.swipe больше не работает?

#ios #automated-tests #appium #swipe #appium-ios

#iOS #автоматизированные тесты #appium #проведите пальцем #appium-ios

Вопрос:

Я привык проводить пальцем справа налево с помощью этого кода:

 appiumDriver.context("NATIVE_APP");
Dimension size = appiumDriver.manage().window().getSize();
int startx = (int) (size.width * 0.8);
int endx = (int) (size.width * 0.20);
int starty = size.height / 2;
appiumDriver.swipe(startx, starty, endx, starty, 500);
  

Предполагается, что он должен перемещаться справа налево, и раньше он работал просто отлично (у меня есть CI для этого). Но теперь он больше не работает, и я вижу, что когда я запускаю тест на реальном устройстве, он перемещается слева направо!

Кто-нибудь знает, не поддерживается ли свайп этого метода больше? И если есть какие-либо решения? Спасибо

Комментарии:

1. Возникают ли какие-либо исключения или сбои? Потенциально это может быть связано с появлением увеличительного стекла iOS. Если это проблема, вы можете исправить ее, уменьшив duration аргумент с помощью swipe метода.

Ответ №1:

Да, AppiumDriver сейчас не поддерживает этот метод, не знаю почему.

Приведенный ниже код работает для меня, вы можете попробовать, touchShortcuts на самом деле творят здесь волшебство.

((TouchShortcuts) драйвер).swipe(startx, starty, endx, starty, 500);

Комментарии:

1. спасибо за ваш ответ, но TouchShortcuts у меня не работает (есть предупреждение: преобразование ‘AppiumDriver’ в ‘TouchShortcuts’ является избыточным). Он по-прежнему выполняет прокрутку слева направо, а не полный свайп.

2. В вашем коде точка x всегда будет меньше, а y больше, поэтому она будет перемещаться только слева направо. пожалуйста, измените часть умножения на противоположную, т.е. int startx = (int) (size.width * 0.20); int endx = (int) (size.width * 0.8); пожалуйста, попробуйте и дайте мне знать, если это сработает.

3. Привет, спасибо за продолжение. Я изменил свой код следующим образом AppiumDriver.swipe(startx, starty, -(startx — 20), starty, 1000); и он выполняет свою работу. В журналах сервера Appium метод swipe был изменен, поэтому я соответствующим образом изменил свой код

4. отлично, рад это слышать 🙂