2016-04-13 3 views
0

Я в настоящее время тестирую Amazon Device Farm и смог получить фиктивное приложение для работы.Как обращаться с окнами оповещения в устройстве Amazon Farm/w Appium

Однако, когда я попытался получить фактическое приложение, я хочу работать на ферме устройств Amazon, я не могу этого сделать. Я могу загрузить файл .ipa, а также загружать и загружать тесты py.tests/appium с их зависимостями, однако тесты терпят неудачу.

Я думаю, что, возможно, ADF не распознает некоторые из желаемых возможностей для автоматического обнаружения оповещений для уведомлений и координат GPS.

Моя настройка очень похожа на настройку, которую я использовал с фиктивным приложением в моих первоначальных тестах. (они работали с фермой устройств amazon) https://github.com/dlai0001/appium-spike-running-tests-oncloud

Единственное, что действительно отличается, это то, что я использую настоящее производственное приложение, в котором при запуске появляется всплывающее окно с предупреждениями. В Appium это приведет к сбою теста, если у меня нет предупреждений autodismiss или autoaccept, доступных в желаемых возможностях.

Harness 00:00.0 1295 Info Starting 00001 with device c00e8ab68437161b894395e438ba8935a672bac0 
Harness 00:00.0 1295 Info Using test content version 0.1.0 
Harness 00:00.1v1295 Info Using image version ami-778b7c17 

ответ

0

Я работаю в команде Amazon Device Farm.

  1. Похоже, что вы полагаетесь на желаемые возможности, чтобы закрыть окно предупреждения. В настоящее время ферма устройств поддерживает очень ограниченный набор желаемых возможностей, а именно имя приложения, имя пакета и osversion. Они доступны для приложения, не требуя от пользователя его установки.

  2. Appium работает с autoAcceptAlerts = true на ферме устройств. Это должно обрабатывать окна предупреждений, если они есть, если только это не всплывающая система, с которой autoAcceptAlert не справляется. Вы должны проверить, могут ли ваши тесты обрабатывать окна предупреждений, используя autoAcceptAlerts = true с локальным режимом запуска Appium. Если это возможно, тогда ферма устройств должна вести себя одинаково. Иногда бывает, что окно предупреждения появляется до того, как будет установлен сеанс appium, и в этом случае может возникнуть добавление задержки.

  3. Когда вы тестируете локально, используйте Appium версии 1.4.16, так как это версия, используемая на ферме устройств прямо сейчас.

+0

привет, спасибо за ваш ответ. Я попробую добавить больше ожиданий. Код работает на моей стороне локально, используя appium 1.14.13 (загружается с сайта appium). Я также пробовал его с использованием 1.14.16 на других сторонних фермах устройств на имитируемых устройствах. –

+0

Это мои желаемые возможности. wish_caps = { "autoAcceptAlerts": True, # Установить автоматическое распознавание диалогов, чтобы предотвратить тесты блокировки. "sendKeyStrategy": "grouped" } wd = webdriver.Remote ('http://0.0.0.0:4723/wd/hub', wish_caps) wd.implicitly_wait (60) # Добавить длинное ожидание для учетной записи медлительность или дистанционные сетки. –

+0

Вам не нужно передавать желаемые возможности, чтобы запустить ферму устройств. Он уже работает с autoAcceptAlert = true. Он не принимает «sendKeyStrategy»: «сгруппированные» желаемые возможности. Также истинная мера тайм-аутов будет на реальном устройстве. Вы упомянули, что вы протестировали его против имитируемых устройств? – NikofTime