无法从命令行运行android ui测试

时间:2013-04-11 13:21:20

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

我在本教程之后为Android应用程序创建了一个简单的ui测试:

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

现在我已经构建了我的项目并使用以下命令将TestProject.jar文件上传到虚拟设备中:

adb push <path_to_output_jar>/TestProject.jar /data/local/tmp/

但是当我运行命令来运行我的测试时

  

adb shell uiautomator runtest TestProject.jar -c   com.uia.example.my.Test

我收到此错误

  

错误:/ data / local / tmp / TestProject.jar不存在

为什么呢? jar被上传到虚拟设备。我在这里错过了什么吗?


此外,使用真实设备我甚至无法上传它:

  

uiautomator:许可被拒绝

1 个答案:

答案 0 :(得分:2)

您能否确认adb push是否确实正确传输了文件?有几种方法可以检查:

  1. 检查adb push命令的输出,例如adb push bin/UIAutomatorExample.jar /data/local/tmp/在我的情况下,输出为1011 KB/s (5854 bytes in 0.005s)(证据是传输的字节数。这里我们知道某些已成功转移某处)。
  2. 使用adb shell检查文件在预期位置是否可用:adb shell ls -l /data/local/tmp/*.jar以下是我的示例的输出 -rw-rw-rw- shell shell 5854 2013-04-11 01:36 UIAutomatorExample.jar注意:文件大小(以字节为单位)与第一个命令输出的数字相匹配,为5854字节。
  3. 一旦我们知道jar文件已成功部署到正确的位置,则运行命令应该可用,前提是目标设备运行的是Android API的16或更高版本。 (虽然在实践中17是Android的第一个版本,其中UIAutomator似乎可靠地工作。)

    adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

    当然,您需要将LaunchSettings.jar替换为TestProject.jar:)