Могу ли я изменить возможности драйвера appium при исполнении? - PullRequest
0 голосов
/ 16 января 2019

Я пишу тест автоматизации для нативного приложения для Android, но некоторые части приложения работают только с возможностью

   //cap.setCapability("automationName", "uiautomator2");

    cap.setCapability("automationName", "uiautomator");

и другие детали, работающие только с

cap.setCapability("automationName", "uiautomator2");

Так что я не знаю, смогу ли я изменить возможности

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Я столкнулся с той же проблемой, когда я автоматизировал нативное приложение для Android, и в некоторых местах uiautomator не работает должным образом, например, не может нажать на кнопку поиска или не в состоянии прокручивать, я искал 2-3 дня, и я нахожу что если мы изменим возможность с uiautomator на uiautomator2, сценарий, который я написал, работает нормально и довольно быстро, чем uiautomator, то у них не будет проблем, если вы измените возможность

0 голосов
/ 17 января 2019

Есть ли в вашем вопросе опечатка? Я думаю, что вы написали uiautomator2 дважды, но я предполагаю, что вы хотите переключиться между uiautomator2 и espresso.

Итак, вы не можете переключать сеанс между средами автоматизации, извините. И Espresso, и UIAutomator2 запускают ваше приложение при запуске сеанса.

Вы можете разбить ваш скрипт на несколько тестов, где один тест использует один стиль автоматизации, а другой тест использует другой.

Другой вариант - вы можете использовать намерения и глубокие ссылки, чтобы открыть свое приложение для определенной точки. Так что если ваши тесты должны запускать такие команды:

uiautomator2 command
         |
         v
  espresso command
         |
         v
uiautomator2 command
         |
         v
  espresso command

Вы можете создать глубокие ссылки на каждый из этих шагов в вашем приложении. Итак, запустите драйвер с помощью uiautomator2, выполните некоторые действия, затем закройте драйвер и запустите новый сеанс эспрессо, запуск с намерением Android, который перенесет вас в приложение на втором шаге. Затем продолжайте переключаться таким образом.

Дополнительная информация о глубокой связи с appium:

Также посмотрите на appPackage и appActivity требуемые возможности

...