3

How can I run my android junit/robotium tests from the command line on every single emulator? I want to make sure my tests run on many android OS versions and many screen resolutions.

I'd like to write a batch file that runs from the windows command line to run my test suite over and over again on each emulator I have installed.

To run from the command line I can do this:

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

but that just runs it on the default emulator. How can I force that command to run on all of the emulators I have setup?

Ideally, the batch file would looking something like:

  1. launch emulator1
  2. run tests
  3. close emulator1
  4. launch emulator2
  5. run tests
  6. close emulator2
  7. ...

I don't know how to do the launch and close part.

Thanks


EDIT: Found solutions. Below is my batch file

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
user952342
  • 2,602
  • 7
  • 34
  • 54

1 Answers1

0

I would really recommend you looking to use something like Jenkins to handle this for you. You can use the android emulator plugin to build up a whole matrix of API versions/Screen size to have your tests run against.

Paul Harris
  • 5,769
  • 1
  • 25
  • 41