0

アプリケーションで「新しいアイテムの追加」アクティビティをテストしたい。ユーザーがデータを誤って入力してから[OK]ボタンを押すと、トースト(問題リスト)が表示されます。私の質問は、トーストが表示されていないことを確認するにはどうすればよいですか?

ありがとう!

4

4 に答える 4

2

私はその古い投稿を知っていますが、誰かがこの質問に出くわした場合に備えて、これはより良い方法です:solo.waitForText(text); //ここにトーストテキストを入れます

于 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");

これは、トーストが表示されるまでに時間がかかる場合に備えて、AleksandrMによって与えられた回答の拡張です。たとえば、トーストが時間のかかる操作の結果である場合。

于 2016-04-28T01:17:05.970 に答える
0

を発行するボタンのイベントflagを処理する変数を割り当てるだけです。これをに設定し、後で、が表示されていないかどうかを確認します。onClickOKToastflagtrueflagfalseToast

于 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 に答える