Android测试未执行

时间:2013-04-12 12:27:55

标签: android android-emulator adb android-testing uiautomator

我创建了一个测试项目,其代码与此处显示的完全相同:

http://developer.android.com/tools/testing/testing_ui.html

我已经在android虚拟设备中上传了jar文件,现在我已经准备好运行测试了。但我总是在控制台上得到这个输出:

  

INSTRUMENTATION_STATUS:stream =

     

WatcherResultPrinter =

的测试结果      

时间:0.0

     

确定(0测试)

     

INSTRUMENTATION_STATUS_CODE:-1


我还使用以下代码创建了一个简单的测试:

public void FailedTest() throws UiObjectNotFoundException {
    assertTrue("This test was executed", false);
}

如果使用ui元素的代码有问题。

包名称为Tests,类名为Login,因此我运行以下命令:

  

adb shell uiautomator runtest TestProject.jar -c Tests.Login

修改

当我在真实设备上运行时,我得到:

  

uiautomator:许可被拒绝

1 个答案:

答案 0 :(得分:3)

作为第一步,您是否可以更改测试方法的名称以匹配jUnit 3中使用的标准约定,即public void testWhatever() { ... }名称的前4个字母必须为'test',小写,签名是public void,该方法不带任何参数。

同样,您是否可以将包名称更改为更标准的小写约定,例如org.example.tests如果你的文件名为Tests.java(并且该类也称为Tests),那么你应该可以按如下方式调用它:

adb shell uiautomator runtest Tests.jar -c com.example.tests.Tests

如果这些没有帮助,请您修改问题以包含Tests.java文件中的整个代码吗?

注意:在我旅行的这个阶段,我没有尝试重现您的代码。如果我的建议没有解决您的问题,我可以这样做。

我会分别跟进uiautomator: permission denied。 UI Automator测试确实在真实设备上运行。他们不需要将设备植根。我在标准的Android 4.2.x设备上运行它们。