从命令行批处理文件强制android测试在不同的模拟器上运行

从命令行批处理文件强制android测试在不同的模拟器上运行,android,command-line,batch-file,robotium,Android,Command Line,Batch File,Robotium,如何在每个模拟器上从命令行运行android junit/robotium测试?我想确保我的测试在许多android操作系统版本和许多屏幕分辨率上运行 我想编写一个从windows命令行运行的批处理文件,以便在我安装的每个模拟器上反复运行我的测试套件 要从命令行运行,我可以执行以下操作: adb壳牌am仪器-w com.myapp.client.test/android.test.InstrumentationTestRunner 但这只是在默认模拟器上运行。如何强制该命令在已设置的所有模拟器上

如何在每个模拟器上从命令行运行android junit/robotium测试?我想确保我的测试在许多android操作系统版本和许多屏幕分辨率上运行

我想编写一个从windows命令行运行的批处理文件,以便在我安装的每个模拟器上反复运行我的测试套件

要从命令行运行,我可以执行以下操作:

adb壳牌am仪器-w com.myapp.client.test/android.test.InstrumentationTestRunner

但这只是在默认模拟器上运行。如何强制该命令在已设置的所有模拟器上运行

理想情况下,批处理文件的外观如下:

  • 启动模拟器1
  • 运行测试
  • 关闭模拟器1
  • 启动模拟器2
  • 运行测试
  • 关闭模拟器2
  • 我不知道如何做启动和关闭部分

    谢谢


    编辑:找到解决方案。下面是我的批处理文件

    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
    

    我真的建议你找些像詹金斯这样的人来帮你处理这件事。您可以使用android emulator插件构建完整的API版本/屏幕大小矩阵,以运行测试