我创建了一个测试项目,其代码与此处所示完全相同:
http://developer.android.com/tools/testing/testing_ui.html http://developer.android.com/tools/testing/testing_ui.html
我已经将 jar 文件上传到 android 虚拟设备中,现在我准备运行测试了。但我总是在控制台上得到这个输出:
INSTRUMENTATION_STATUS:流=
WatcherResultPrinter= 的测试结果
时间:0.0
好的(0 次测试)
仪器状态代码:-1
我还使用以下代码创建了一个简单的测试:
public void FailedTest() throws UiObjectNotFoundException {
assertTrue("This test was executed", false);
}
如果使用 ui 元素的代码出现问题。
包名是Tests
和班级名称Login
所以我运行以下命令:
adb shell uiautomator runtest TestProject.jar -c Tests.Login
Edit
当我在真实设备上运行它时,我得到:
uiautomator:权限被拒绝
第一步,您可以更改测试方法的名称以匹配 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 测试确实在真实设备上运行。他们不需要对设备进行 root。我在标准 Android 4.2.x 设备上运行它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)