我想在我的应用程序中测试“添加新项目”活动。当用户填写数据不正确然后按OK按钮 - 显示toast(问题列表)。我的问题是:如何检查吐司没有显示?
谢谢!
答案 0 :(得分:2)
我知道这是一个旧帖子,但万一有人遇到这个问题,这是一个更好的方法: solo.waitForText(文本); //把吐司文本放在这里
答案 1 :(得分:1)
//wait up to a second for the toast
Date date = new Date();
TextView toast;
long elapsed;
do{
elapsed = new Date().getTime() - date.getTime();
toast = (TextView)solo.getView(android.R.id.message);
}while(elapsed<1000&&toast!=null);
assertEquals(toast.getText().toString(), "Your ticket(s) has been purchased successfully");
这是Aleksandr M给出的答案的延伸,以防Toast需要一段时间才能出现。例如,如果吐司是耗时操作的结果。
答案 2 :(得分:0)
只需指定一个flag
变量,即可处理发出onClick
的{{1}}按钮的OK
事件。将Toast
设置为flag
,然后检查,如果true
为flag
,则false
从未显示过。
答案 3 :(得分:0)
这个适用于我
TextView toast = (TextView) solo.getView(android.R.id.message);
assertEquals("toast is not showing", toast.getText().toString(), solo.getString(R.string.error_invalid_phone));