在不同设备上选择性运行android测试

时间:2013-08-28 23:06:02

标签: android robotium

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

2 个答案:

答案 0 :(得分:0)

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

  1. 一个测试类,它将确定屏幕大小并决定应该进行哪些测试
  2. 很多功能(输入参数Solo solo)。这个功能是你现在的测试。
  3. 您的测试类可以调用适当的功能来测试手机或平板电脑。

    请参阅how to get screen size

    希望,这有帮助。

答案 1 :(得分: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