gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 15:19:21 25 4
gpt4 key购买 nike

如何在每个模拟器上从命令行运行我的 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

最佳答案

我真的建议您使用 Jenkins 之类的工具来为您处理此问题。您可以使用 android 模拟器插件构建一个完整的 API 版本/屏幕尺寸矩阵,以运行您的测试。

关于android - 强制android测试从命令行批处理文件在不同的模拟器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com