0

我想在我的应用程序中测试“添加新项目”活动。当用户错误地填写数据然后按 OK 按钮时 - 将显示 toast(问题列表)。我的问题是:如何检查未显示吐司?

谢谢!

4

4 回答 4

2

我知道这是一篇旧帖子,但以防万一有人遇到这个问题,这是一个更好的方法:solo.waitForText(text); // 把 toast 文本放在这里

于 2014-08-11T15:39:10.717 回答
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 需要一段时间才能出现。例如,如果 toast 是耗时操作的结果。

于 2016-04-28T01:17:05.970 回答
0

只需分配一个flag变量来处理onClick您的OKButton 事件,该事件发出Toast. 将其设置flagtrue,然后检查,如果flagfalseToast则从未显示。

于 2012-06-21T09:21:36.430 回答
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));
于 2015-10-16T07:30:23.583 回答