Тестирование Android на множестве устройств от Jenkins

#java #android #testing #gradle #android-espresso

#java #Android #тестирование #gradle #android-эспрессо

Вопрос:

Я запускаю тест Espresso для тестирования своего приложения. Для первого входа в приложение требуется код из текстового сообщения.

Самый простой способ обойти первый вход в систему — сохранить одно и то же приложение, чтобы сохранить пользовательские данные.

запуск команды:

 ./gradlew connectedAndroidTest
  

кажется, что приложение удаляется после завершения тестов. Есть ли какой-нибудь простой способ пропустить часть удаления и просто запустить тесты на всех подключенных устройствах?

Спасибо.

Ответ №1:

Настоятельно рекомендуется не полагаться на то, что состояние уже настроено на устройстве, а вместо этого настроить нужное состояние в самом тесте.

При этом вы можете установить приложение с помощью gradle и запустить тесты adb .

Это предполагает стандартную компоновку и настройку приложения по умолчанию androidx.test с использованием последней версии плагина Android gradle.

Сначала установите приложение и тесты.

 ./gradlew installDebug installDebugAndroidTest
  

Затем вы можете выполнить тесты:

 adb shell am instrument -w com.your.applicationId.test/androidx.test.runner.AndroidJUnitRunner
  

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

Конечно, если вы внесете какие-либо изменения в приложение или тесты, вам нужно будет повторно запустить gradle.

Подробная информация: