【发布时间】:2014-06-25 10:04:11
【问题描述】:
我正在尝试使用 android-sdk 为我的应用提供的工具为我的应用创建 GUI 测试。首先,我设置了一个项目,如“配置您的开发环境”中的http://developer.android.com/tools/testing/testing_ui.html 中所述。目前我已经从http://developer.android.com/tools/testing/testing_ui.html#sample 获取了示例测试并将其放在项目 UITestsMyAppBasis 中,在包 com.MyApp.guitest 中
命令 ant build 成功运行,我在项目的 bin 目录中获得了一个 jar 文件。但是当我尝试通过以下方式启动它时:
adb push ./UiTestsMyAppBasis.jar /data/local/tmp
adb shell uiautomator runtest UITestsMyAppBasis.jar -c com.MyApp.guitest
我得到控制台输出:
INSTRUMENTATION_RESULT: shortMsg=java.lang.RuntimeException
INSTRUMENTATION_RESULT: longMsg=com.MyApp.guitest
INSTRUMENTATION_CODE: 0
和 logcat 输出:
java.lang.RuntimeException: com.MyApp.guitest
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:98)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85)
at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76)
at com.android.commands.uiautomator.Launcher.main(Launcher.java:83)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.MyApp.guitest
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:84)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:72)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClasses(TestCaseCollector.java:53)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:95)
我用的是安卓模拟器
目标名称:Google API (Google Inc.)
平台:4.1.2
API 级别:16
CPU/ABI ARM (armeabi-v7a)
设备:10.1" WXGA(平板电脑)(1280x800;mdpi)
内存选项:Ram:512 VM 堆:32
内部存储:200 MiB
SD 卡:256 MiB
仿真选项:使用主机 GPU
如https://stackoverflow.com/a/13805869/1171328 中所述在 /data/dalvik-cache 上设置 chmod 并没有改变输出。
【问题讨论】:
标签: android android-uiautomator gui-testing