накарайте Android тестовете да се изпълняват на различни емулатори от партиден файл на командния ред

Как мога да стартирам тестовете си за android junit/robotium от командния ред на всеки отделен емулатор? Искам да се уверя, че моите тестове се изпълняват на много версии на Android OS и много резолюции на екрана.

Бих искал да напиша партиден файл, който се изпълнява от командния ред на 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

person user952342    schedule 29.02.2012    source източник


Отговори (1)


Наистина бих ви препоръчал да използвате нещо като Jenkins, за да се справите с това вместо вас. Можете да използвате приставката за емулатор на Android, за да изградите цяла матрица от версии на API/размер на екрана, срещу които да се изпълняват вашите тестове.

person Paul Harris    schedule 17.12.2013