Можно ли запускать android espresso ui тесты с терминала на нескольких устройствах одно за другим? - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь запустить свои тесты пользовательского интерфейса как минимум на 2 телефонах, но это не может быть одновременно, они должны запускаться друг за другом. Поэтому, когда Телефон 1 завершил тестовый запуск, Телефон 2 начинает свой тестовый запуск.

Я ищу команду, похожую на ./gradlew cAT, но не одновременно. Альтернативой было бы указать, на каком телефоне должны выполняться тесты. Причина в том, что мне нужно иметь возможность запускать тесты через GitLab CI.

Возможно ли это сделать с терминала?

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Самым простым способом сделать это, вероятно, было бы создание сценария, который вызывает вашу задачу gradle с каждым заранее заданным серийным номером устройства c. Это теоретически, но должно работать.

ANDROID_SERIAL=<firstDeviceSerial> ./gradlew <yourCommand>
ANDROID_SERIAL=<secondDeviceSerial> ./gradlew <yourCommand>
0 голосов
/ 02 апреля 2020

Они ввели понятие пулов устройств. Теперь они отвечают за запуск набора тестов вместо каждого устройства, на котором выполняется набор отдельно. Это имеет два побочных эффекта:

  • бесконечное масштабирование: ваши тесты могут ускориться на столько устройств и эмуляторов, сколько вы можете выделить для своего блока CI.
  • , потому что наборы тестов теперь запланированы для запуска в пуле, не все тесты будут выполняться на всех устройствах. По этой причине мы также представили способ создания пула для каждого устройства, который обеспечивает полное покрытие (так называемый Spoon-режим), но обычно занимает больше времени, поэтому мы запускаем его каждую ночь. Он работает "из коробки", без каких-либо изменений кода.

Несколько похожих инструментов:

composer

марафон

вилка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...