Robotium搜索setError的edittext

时间:2012-05-23 15:09:51

标签: android text assert robotium

我有一个txt.setError文本,我想检查是否在testin我的测试用例时屏幕上出现错误;

solo.enterText(0, "example");
solo.clickOnImageButton(3);
assertTrue(solo.searchText("E-posta adresleri için lütfen şu biçimi kullanın: ad@example.com"));

enter image description here

点击图片按钮

后,我收到了setError文本

但是我得到了AssertionFailedError 我做错了什么?

修改

问题的根源是Robotium的重新定位。我使用的是2.1,但是对于这个断言,需要机器人3.0和鞋面。

2 个答案:

答案 0 :(得分:2)

尝试使用solo.waitfortext()而不是assertTrue(solo.searchText())。 问题可能是在显示文本之前断言正在执行。

所以我想说你有两种可能的选择。

选项1:

solo.enterText(0, "example");
solo.clickOnImageButton(3);
solo.waitforactivity(solo.getcurrentactivity().tostring). // you will wait untill the screen is entirely displayed.
assertTrue(solo.searchText("E-posta adresleri için lütfen şu biçimi kullanın: ad@example.com"));

Option2(最佳选择)

solo.enterText(0, "example");
solo.clickOnImageButton(3);
boolean textExist = solo.WaitForText("E-posta adresleri için lütfen şu biçimi kullanın: ad@example.com"));
if (!textExist){
Fail();
}

答案 1 :(得分:0)

另一种选择:

EditText myEditText = (android.widget.EditText) solo.getView(com.my.app.R.id.myEditText);
solo.clickOnView(myButton);

//Waits for error
solo.sleep(2000);

boolean result = myEditText.getError() == null;
if(!result){
    fail();
}