我想在我的应用程序中测试“添加新项目”活动。当用户错误地填写数据然后按 OK 按钮时 - 将显示 toast(问题列表)。我的问题是:如何检查未显示吐司?
谢谢!
我想在我的应用程序中测试“添加新项目”活动。当用户错误地填写数据然后按 OK 按钮时 - 将显示 toast(问题列表)。我的问题是:如何检查未显示吐司?
谢谢!
我知道这是一篇旧帖子,但以防万一有人遇到这个问题,这是一个更好的方法:solo.waitForText(text); // 把 toast 文本放在这里
//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 需要一段时间才能出现。例如,如果 toast 是耗时操作的结果。
只需分配一个flag
变量来处理onClick
您的OK
Button 事件,该事件发出Toast
. 将其设置flag
为true
,然后检查,如果flag
是false
,Toast
则从未显示。
这个对我有用
TextView toast = (TextView) solo.getView(android.R.id.message);
assertEquals("toast is not showing", toast.getText().toString(), solo.getString(R.string.error_invalid_phone));