0

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

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

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

3 回答 3

1

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

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

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

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

于 2013-07-17T12:54:10.037 回答
0

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

于 2013-07-12T08:50:03.337 回答
0

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

于 2013-12-04T09:25:11.670 回答