【问题标题】:Cannot run android ui tests from command line无法从命令行运行 android ui 测试
【发布时间】:2013-04-11 13:21:20
【问题描述】:

我按照本教程为一个 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:权限被拒绝

【问题讨论】:

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


    【解决方案1】:

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

    1. 检查adb push 命令的输出,例如adb push bin/UIAutomatorExample.jar /data/local/tmp/ 在我的情况下,输出是 1011 KB/s (5854 bytes in 0.005s)(证据是传输的字节数。这里我们知道 something 已成功传输 somewhere)。
    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 字节。

    一旦我们知道 jar 文件已成功部署到正确的位置,运行命令应该可以运行,前提是目标设备运行的是 Android API 16 或更高版本。 (虽然实际上 17 是第一个 UIAutomator 似乎可以可靠工作的 Android 版本。)

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

    当然你需要用TestProject.jar 替换LaunchSettings.jar :)

    【讨论】:

    • 你是对的。这是一个拼写错误。我把它上传到/data/Local/temp 而不是tmp :)。现在找到了罐子,但我得到的报告仍然是:OK (0 tests)。它不应该通知我执行的测试,我不应该看到它们在模拟器中运行吗?
    • 嗯,有几种方法可以得到 0 个测试作为输出... :) 你能在某处添加你的测试代码,可能是一个新问题吗?我会看看我是否能诊断出问题所在。
    • 我在这里添加了一个新问题:Android tests are not executed
    猜你喜欢
    • 2015-08-15
    • 1970-01-01
    • 2016-11-11
    • 2012-06-24
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多