【发布时间】:2014-08-19 19:26:47
【问题描述】:
我目前使用的是 Nexus 5 设备。
我正在尝试单击屏幕上的“删除帐户”。我使用了 UIAutomatorViewer 工具,发现了屏幕上所有元素的节点详细信息。我正在查看的“添加帐户”对应于三个元素。
这是布局层次结构: (1) 线性布局[468,265][1056,509] -(0) 相对布局[516,400][1008,473] --(0) TextView:删除帐号[516,400][1008,473]
(1) 线性布局[468,265][1056,509] 索引 1 文本空 资源 ID 空 类 android.widget.LinearLayout 包 com.android.settings 内容描述为空 可点击的真
(0) 相对布局[516,400][1008,473] 索引 1 文本 资源 ID 类 android.widget.LinearLayout 包 com.android.settings 内容描述为空 可点击假
(0) TextView:删除帐户[516,400][1008,473] 索引 0 文本删除帐户 资源 id android:id/title 类 android.widget.TextView 包 com.android.settings 内容描述为空 可点击假
理想情况下,我想通过单击具有“删除帐户”文本的元素来实现这一点,但这是不可能的,因为该元素不可点击。 UiObject nextButton = new UiObject(new UiSelector().text("移除账号"));
或者,我可以通过索引和类名来引用可点击元素 UiObject nextButton = new UiObject(new UiSelector().index(1).className("android.widget.LinearLayout"); 或参考 x,y 坐标 getUiDevice().click(600, 450); 但是,这两种方法可能会导致后期维护成本。
这是 Android 上最基本的屏幕之一。我希望应该有比我在这里发布的更好的解决方案。有人有其他建议吗?
【问题讨论】: