0

Robotium複数のアクティビティを持つAndroidアプリを使用してテストケースを書いています。アプリDrawerは UI に実装されます。しかし、ソロが引き出しを開くと、例外が発生しますCalled From Wrong Thread Exception。ActionBar Home をクリックすると、ドロワーが読み込まれます。

public void test4Drawer()
{
    solo1.clickOnActionBarHomeButton();
    Boolean actual=solo1.searchText("About");
    Boolean expected =true;
    assertEquals("Drawer Not Loaded",expected,actual);
}
4

2 に答える 2

1

Robotium の 4.3 バージョンには問題があり、役に立ちrunOnUiThreadません。

関連するバグ レポートによると、Robotium 4.3.1 バージョンで修正されています。

ここからダウンロードしてください

コードを保持しrunOnUiThreadて lib をアップグレードすると、logcat でより明確な例外が発生します。

E/AndroidRuntime(32201): java.lang.RuntimeException:
  This method can not be called from the main application thread

を外せrunOnUiThreadばOKです。

于 2013-11-25T18:38:48.230 に答える
1

あなたでsetUp():

mActivity = getActivity();

そして、テストケースにこれを追加します:

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

ただし、標準的な robotium メソッドを使用する場合、エラーは表示されません。この解決策がうまくいかない場合は、ここで完全なスタック トレースを共有してください。

于 2013-10-22T06:08:19.877 に答える