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定位

Android Studio下运行UiAutomator

Python-UiAutomator2实现Android自动化测试

UiAutomator1.0 与 UiAutomator2.0

Appium python自动化测试系列之Android UIAutomator终极定位