我有一个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"));
点击图片按钮
后,我收到了setError文本但是我得到了AssertionFailedError 我做错了什么?
修改
问题的根源是Robotium的重新定位。我使用的是2.1,但是对于这个断言,需要机器人3.0和鞋面。
答案 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();
}