1

我正在尝试将文本发送到我知道其 ID 的视图。似乎 enterText() 想要一个 int,但我所拥有的只是一个视图。

solo.enterText(solo.getView(R.id.et_firstname_insurance), firstName);

想法?我阅读了 API 文档,但无法弄清楚。

4

4 回答 4

1

我在同事的帮助下想通了。这会将视图转换为 EditText 对象,该对象可以传递到 enterText 的一种风格中:

public static EditText getEditText(int i) {
    return (EditText) solo.getCurrentActivity().findViewById(i);
}

EditText eFn = RobotiumHelpers.getEditText(R.id.et_firstname_insurance);
solo.enterText(eFn, firstName);
于 2013-06-04T20:14:40.650 回答
0

我很确定这是不允许的。Robotium 正在测试目的,如果您在外部更改活动的整个状态,那么这会破坏目的并且可能有能力造成损害。现在,如果您要在可编辑的内容中输入文本,则 int 是可编辑的字段编号。查看教程

于 2013-06-04T17:25:38.650 回答
0

您可以将其分配给 a viewas view1然后您可以使用

solo.enterText(view1, firstName); 如果这也不起作用,请尝试使用 solo.clickOnView(view1); ,然后solo.enterText(view1, firstName);

于 2013-08-07T10:43:46.090 回答
0

什么对我有用 -assertTrue("btnUseEmailToLogin View is not visible", (solo.getView("idName") ).isShown() == true); 其中 idName - 是要检查的所需视图的 id

于 2015-01-22T09:52:58.473 回答