JUnitで画面をいじる方法

Android

TextViewにテキストを入れる場合は、以下のコードを書きます。

 mActivity.runOnUiThread(new Runnable() {
   public void run () {
     textView.setText( text_str );
   }
 });
 getInstrumentation().waitForIdleSync();

UserInterfaceをいじるthreadでいじるためには以下のコードが必要です。

 mActivity.runOnUiThread(new Runnable() {
    public void run () {
    }
 });

これは、AndroidのUIの描画はActivityクラスで行われ、シングルスレッドでの対応のため、今回のテストスレッドのような別スレッドから行うことはできません。
ちなみに、こんなエラーが出るはず!!

 CalledFromWrongThreadException ・・・・

しっかりとUIスレッドで描画するために上記のコードを使います。

また、

 getInstrumentation().waitForIdleSync();

は、UIスレッドでの処理が終わるまでテストをストップしてくれます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です