Toast未显示android robotium测试

时间:2012-06-21 09:18:59

标签: android robotium android-testing

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

谢谢!

4 个答案:

答案 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,然后检查,如果trueflag,则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));