UiAutomator Android - setText 方法不起作用!
Posted
技术标签:
【中文标题】UiAutomator Android - setText 方法不起作用!【英文标题】:UiAutomator Android - setText method is not working.! 【发布时间】:2015-02-15 22:09:04 【问题描述】:现在,我正在尝试使用 UIAutomator。我们创建一个应用程序。测试时,UIAutomator 的 setText 方法不起作用。单击 EditText 时,会出现键盘。然后给这个对象设置文本,但是还是不行。
这是我的 EditText 代码,
<EditText android:id="@+id/category_editText"
style="@style/Brown.textBox"
android:layout_
android:layout_
android:contentDescription="@string/category_editText"
android:ems="10"
android:gravity="center_vertical"
android:hint="@string/category_entry"
android:lines="1"
android:maxLength="50"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:scrollHorizontally="true"
android:singleLine="true" />
任何人,可以帮助我吗?谢谢。
【问题讨论】:
这段代码在我看来不像 UiAutomator。它似乎更像是类似事物的体现。请在此处查看有关如何使用该工具的示例:developer.android.com/tools/testing/testing_ui.html 是的,此代码适用于我的应用程序中的 EditText。我通过以下代码测试此 EditText。UiObject textField = new UiObject(new UiSelector().description("category_editText")); textField.setText("Test");
但它不起作用。
问题可能是您试图在错误的视图中设置文本。最简单的解决方案是了解布局的层次视图结构并传递适当的对象。
不,我得到了正确的对象。但它做不到。当我将光标设置为文本字段时,会显示光标并出现键盘。调用 setText 方法时,它不起作用。
【参考方案1】:
我遇到了同样的问题。我使用 legacySetText
而不是 setText
并且它有效
【讨论】:
谢谢,我稍后再试试,如果我的代码没问题,我会接受你的回答。【参考方案2】:您是否使用 UIAutomator 检查了该字段的节点属性?您的编辑文本的 clickable 属性应设置为 true。如果它是错误的,则可能会发生此问题。我建议您检查属性并进行适当的更改以使 clickable 属性为 true。
【讨论】:
谢谢,但现在,我不这样做了。当我再次这样做时,我会回复你的答案。以上是关于UiAutomator Android - setText 方法不起作用!的主要内容,如果未能解决你的问题,请参考以下文章
Python + Android + Uiautomator自动化测试
appium python中的android uiautomator定位
Python-UiAutomator2实现Android自动化测试