我正在尝试将文本发送到我知道其 ID 的视图。似乎 enterText() 想要一个 int,但我所拥有的只是一个视图。
solo.enterText(solo.getView(R.id.et_firstname_insurance), firstName);
想法?我阅读了 API 文档,但无法弄清楚。
我在同事的帮助下想通了。这会将视图转换为 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);
我很确定这是不允许的。Robotium 正在测试目的,如果您在外部更改活动的整个状态,那么这会破坏目的并且可能有能力造成损害。现在,如果您要在可编辑的内容中输入文本,则 int 是可编辑的字段编号。查看教程
您可以将其分配给 a view
as view1然后您可以使用
solo.enterText(view1, firstName);
如果这也不起作用,请尝试使用 solo.clickOnView(view1);
,然后solo.enterText(view1, firstName);
什么对我有用 -assertTrue("btnUseEmailToLogin View is not visible", (solo.getView("idName") ).isShown() == true);
其中 idName - 是要检查的所需视图的 id