【问题标题】:Robotuim - selecting text fields by index solo.enterTextRobotuim - 通过索引 solo.enterText 选择文本字段
【发布时间】:2014-02-20 13:41:51
【问题描述】:

我们正在尝试为原生 Android 应用编写测试,这让我发疯了。

    solo.enterText(6, "100");
    solo.enterText(7, "200");
    solo.enterText(8, "300");
    solo.enterText(9, "400");

一切正常,但一旦索引超过 10,它就无法找到任何字段。

    solo.enterText(10, "500");
    solo.enterText(11, "600");

计算文本字段似乎也有点疯狂,并且在 UIAutomator Viewer 中它似乎没有提供真正的索引号。

有没有办法通过资源id或字段名而不是索引号来选择文本字段?

感谢您的帮助

【问题讨论】:

  • 能否附上 logcat 错误?

标签: android robotium junit3


【解决方案1】:

试试这个:

 EditText editText
 =(EditText)getActivity().findViewById(R.id.editText);
 mSolo.enterText(editText,"500");

使用R文件和id资源应该更容易测试editText

【讨论】:

    【解决方案2】:

    我的猜测是,如果您查看屏幕,您将只能看到 10 个编辑文本框,并且索引为 10+ 的编辑文本不在屏幕上并位于列表视图中,因此它们实际上并不存在于 robotsium 中,您需要滚动才能输入文本,但随后索引将关闭,因此您必须进行补偿。另一种方法是通过 id 或标签等不同方式查找编辑文本,或者将它们作为它们所在的列表视图行的子项来查找。

    如果您可以确认是因为它在列表视图中,我可以找到一些代码来帮助您。

    【讨论】:

    • 完全正确地感谢 Paul - 它似乎在滚动屏幕后重置索引 - 所以你可以猜测新的索引号可能是什么,或者最后我什么时候 for solo.enterText(R .id.YOURFIELDNAME,“500”);您只是在更改 YOURFIELDNAME 但我也错过了 import com.YOURPACKAGENAME.R;在顶部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多