принудительно запускать тесты Android на разных эмуляторах из командного файла командной строки - PullRequest
3 голосов
/ 29 февраля 2012

Как я могу запустить свои тесты android junit / robotium из командной строки на каждом эмуляторе?Я хочу убедиться, что мои тесты выполняются на многих версиях ОС Android и на многих разрешениях экрана.

Я хотел бы написать командный файл, который запускается из командной строки Windows, чтобы снова и снова запускать мой набор тестов накаждый эмулятор, который я установил.

Для запуска из командной строки я могу сделать следующее:

adb shell am instrument -w com.myapp.client.test / android.test.InstrumentationTestRunner

, но он просто запускается на эмуляторе по умолчанию.Как заставить эту команду запускаться на всех установленных мной эмуляторах?

В идеале командный файл должен выглядеть примерно так:

  1. Запустить эмулятор1
  2. запустить тесты
  3. закрыть эмулятор1
  4. запустить эмулятор2
  5. запустить тесты
  6. закрыть эмулятор2
  7. ...

Я не знаю, как выполнить запуск и закрыть часть.

Спасибо


РЕДАКТИРОВАТЬ: Найдены решения.Ниже мой пакетный файл

set PORTRAIT=medium
set LANDSCAPE=large

:: launch emulator
emulator -avd android2.2

:: wait for emulator to load
adb wait-for-device

:: install apps?

:: run tests in portrait
adb shell am instrument -w -e size %PORTRAIT% com.myapp.client.test/android.test.InstrumentationTestRunner

:: run tests in landscape
adb shell am instrument -w -e size %LANDSCAPE% com.myapp.client.test/android.test.InstrumentationTestRunner

:: pull screenshots
adb pull /sdcard/ c:\

:: close/kill emulator (android bug here, so must use windows taskkill)
taskkill /IM emulator-arm.exe

1 Ответ

0 голосов
/ 17 декабря 2013

Я действительно рекомендую вам использовать что-то вроде Дженкинса, чтобы справиться с этим для вас. Вы можете использовать плагин эмулятора Android для создания целой матрицы версий API / размера экрана, чтобы ваши тесты запускались.

...