0

我的 Android 应用有一些针对手机和平板电脑的活动略有不同。我正在使用 JUnit、Android SDK 和 Robotium 编写自动化程序。基于连接的设备有选择地执行测试的最佳方法是什么?

4

2 回答 2

0

最简单的方法是使用 @PhoneOnly 注释标记仅限手机的测试,使用 @TabletOnly 注释标记平板电脑测试,然后在不同的设备类型上运行不同的 adb 命令:

为此,请查看http://developer.android.com/reference/android/test/InstrumentationTestRunner.html上的文档

具体来说

使用给定注释过滤测试运行: adb shell am instrument -w -e annotation com.android.foo.MyAnnotation com.android.foo/android.test.InstrumentationTestRunner

如果与其他选项一起使用,生成的测试运行将包含两个选项的并集。例如,“-e size large -e annotation com.android.foo.MyAnnotation”将只运行带有 LargeTest 和“com.android.foo.MyAnnotation”注释的测试。

在没有给定注释的情况下过滤测试运行: adb shell am instrument -w -e notAnnotation com.android.foo.MyAnnotation com.android.foo/android.test.InstrumentationTestRunner

于 2013-09-27T13:48:43.027 回答
0

您可以在测试期间检测您的测试设备是手机还是平板电脑。因此,您的测试应用程序将包含:

  1. 一个测试类,它将确定屏幕尺寸并决定应该进行哪些测试
  2. 很多功能(带输入参数Solo solo)。此功能是您现在拥有的测试。

您的测试类可以调用适当的函数来测试手机或平板电脑。

查看如何获取屏幕尺寸

希望能帮助到你。

于 2013-09-12T07:50:24.223 回答