Android uiautomator 如何使用UIAutomator在不使用索引或x,y坐标的情况下添加帐户?
我现在正在使用Nexus5设备 我正试图点击屏幕上的“删除帐户”。我使用UIAutomatorViewer工具,找到了屏幕上所有元素的节点详细信息。有三个元素对应于我正在查看的“addaccount” 以下是布局层次结构: (1) 线性布局[468265][1056509] -(0)相对值[516400][1008473] --(0)文本视图:删除帐户[516400][1008473] (1) 线性布局[468265][1056509] 指标1 文本空值 资源id为空 类android.widget.LinearLayout 包com.android.settings 内容描述空值 可点击的真实 (0)相对值[516400][1008473] 指标1 文本 资源id 类android.widget.LinearLayout 包com.android.settings 内容描述空值 点击错误 (0)文本视图:删除帐户[516400][1008473] 索引0 文本删除帐户 资源id android:id/标题 类android.widget.TextView 包com.android.settings 内容描述空值 点击错误 理想情况下,我希望通过单击包含文本“Remove account”的元素来实现这一点,但这是不可能的,因为该元素不可单击。 UiObject nextButton=新UiObject(新UiSelector().text(“删除帐户”) 或者,我可以通过其索引和类名引用clickable元素 UiObject nextButton=newuiobject(newuiselector().index(1).className(“android.widget.LinearLayout”); 或者参考x,y坐标 getUiDevice()。单击(600450); 然而,这两种方法可能会导致今后的维护成本Android uiautomator 如何使用UIAutomator在不使用索引或x,y坐标的情况下添加帐户?,android-uiautomator,Android Uiautomator,我现在正在使用Nexus5设备 我正试图点击屏幕上的“删除帐户”。我使用UIAutomatorViewer工具,找到了屏幕上所有元素的节点详细信息。有三个元素对应于我正在查看的“addaccount” 以下是布局层次结构: (1) 线性布局[468265][1056509] -(0)相对值[516400][1008473] --(0)文本视图:删除帐户[516400][1008473] (1) 线性布局[468265][1056509] 指标1 文本空值 资源id为空 类android.widg
这是Android上最基本的屏幕之一。我希望会有一个比我在这里发布的更好的解决方案。有人有其他建议吗?更好的方法是使用
getFromParent()
在层次结构中查找TextView
元素的父UI元素,在我们的示例中是LinearLayout
,然后单击它:
UiObject nextButton = new UiObject(new UiSelector().text("Remove account"));
UiObject parent =nextButton.getFromParent(new UiSelector().new UiSelector().className("android.widget.LinearLayout");
parent.clickAndWaitForNewWindow();
有打字错误吗?你是说UiObject parent=nextButton.getFromParent(..)而不是UiObject parent=playVideo.getFromParent(..)是打字错误..很抱歉混淆..更正了答案..!!是“new UiSelector().new UiSelector()”类型吗?