【问题标题】:Running the Android UiAutomator on real device在真机上运行 Android UiAutomator
【发布时间】:2013-12-04 17:25:11
【问题描述】:

我能够轻松地在模拟器上运行我的 Uiautomator 测试用例,在 API 16 和 17 上。

如果我在真实设备上运行相同的测试用例,它只会卡在第一行。

  1. 我不确定在真机上运行的步骤
  2. UiScrollable 有一些问题,我猜。当我写getUiDevice().pressHome(); 时,它可以工作,但在那之后就没有任何效果了。我正在使用在 Android 开发者网站上为 Uiautomator (http://developer.android.com/tools/testing/testing_ui.html) 编写的相同代码

【问题讨论】:

  • 不是我能帮上忙,但您可以考虑给我们确切的版本号,例如 4.1.2。

标签: android device android-uiautomator


【解决方案1】:

使用uiautomatorviewer 转储设备主屏幕的 UI 层次结构。正如user2575698所说,很可能没有描述为“Apps”的UiObject。

您还必须记住,来自 android 开发者网站的示例要求设备开启屏幕并且不存在屏幕锁定。可以通过以下方式确保屏幕处于开启状态:

UiDevice device = getUiDevice();
if (!device.isScreenOn()) {
    device.wakeUp();
}
device.pressHome();

可以在“设置”中禁用屏幕锁定。

【讨论】:

    【解决方案2】:

    也许它在你的真实设备上找不到描述为“应用程序”的对象,你需要为详细的事情提供日志

    【讨论】:

      【解决方案3】:

      使用“adb shell uiautomator dump”命令获取窗口转储。然后到 sd 卡并寻找转储 xml。根据该值查找节点和代码的 content-desc 属性。 content-desc 在不同设备上可能会有所不同,三星中的应用程序是“应用程序”,但在 HTC 中是“所有应用程序”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 2019-03-25
        • 2021-02-07
        相关资源
        最近更新 更多