Нужно ли устанавливать клиент appium в python virtualenv для развертывания в Amazon Device Farm (ADF)?

Инструкции по адресу http://docs.aws.amazon.com/es_es/devicefarm/latest/developerguide/test-types-android-appium-python.html ничего не говорит о добавлении appium (колесо appium) в виртуальную среду, необходимую для сборки test_bundle. молния.

Если он не добавлен, запуск «py.test --collect-onlytests/» из virtualenv, очевидно, завершится ошибкой, а test_bundle.zip, созданный без appium, не будет работать в ADF.

Итак, во-первых, я хочу дважды проверить, что после того, как мы установим py.test в virtualenv — «pip install pytest», нам также нужно установить клиент appium — «pip install Appium-Python-Client».

Затем тесты будут выполняться в ADF, но потребуется невероятное количество времени только для одного базового теста, который выполняется за секунды на физическом устройстве. С ADF мне нужно подождать около 20 минут для завершения теста, а затем он показывает 5 «Всего минут» для тестового прогона. Это выглядит правильно?

Спасибо.


person Ken    schedule 05.08.2016    source источник


Ответы (1)


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

Краткий ответ на главный вопрос в теме письма: Да

Пояснение:

Использование виртуальной среды Python

Путаница кажется вокруг того, что виртуальная среда нужна «просто» для упаковки. Мы рекомендуем на самом деле убедиться, что ваши тесты выполняются в virtualenv, а не использовать его только для упаковки тестов.

Таким образом, у вас всегда будут все необходимые зависимости в вашем virtualenv, и вам не придется отслеживать зависимости по отдельности.

Из нашей документации: «Мы настоятельно рекомендуем вам настроить Python virtualenv для разработки и упаковки тестов, чтобы ненужные зависимости не включались в пакет вашего приложения».

Я постараюсь получше осветить этот факт, если это было неясно.

Время выполнения теста

На ферме устройств мы настраиваем устройство и гарантируем, что вы получите абсолютно чистое устройство. Мы также запускаем новый экземпляр сервера Appium для каждого теста. Это может увеличить время выполнения тестов, особенно если тесты очень маленькие, что занимает несколько секунд, что превышает время установки. Если вы усредните время для таких тестов, может показаться, что это имеет значение, хотя вы не платите за время, когда мы проводим очистку. Минуты устройства учитываются только после установки приложения и готовности к запуску тестов.

person NikofTime    schedule 15.08.2016
comment
Спасибо за ответ. Пожалуйста, предоставьте больше ясности по времени: 1. Есть ли способ сократить период фазы ПЛАНИРОВАНИЕ (перед переходом к фазе ВЫПОЛНЕНИЯ), который иногда длится так долго (> 30 минут), что мне нужно остановить тест. - person Ken; 18.08.2016
comment
2. Я считаю, что общее количество минут — это фактические минуты, которые были рассчитаны после проведения теста, и за них будет выставлен счет. Они в разы превышают количество времени, необходимое для запуска точно такого же одиночного теста на точно таком же физическом устройстве, подключенном непосредственно к моему компьютеру, — примерно 4 минуты на локальном устройстве и 8 минут в ADF. В чем причина и как это можно улучшить? Спасибо. - person Ken; 18.08.2016
comment
Извините за задержку. Фактическая выставленная сумма – это общее количество минут, отсчитанных за пробежку, которое можно найти, наведя указатель мыши на суммарное количество минут пробежки. Мы работаем над тем, чтобы сделать это еще быстрее в будущем. Однако самое простое объяснение — это закрытие и запуск приложения между каждым тестом и появление нового экземпляра сервера appium для каждого теста. - person NikofTime; 06.06.2017
comment
Если вы нашли ответ, пожалуйста, примите его как ответ. Другие могли бы извлечь из этого пользу. - person NikofTime; 06.06.2017