1

Robtium 4.1 を使用しています

表示されているエミュレーターで Robotium テストを実行すると、次を使用してボタンをクリックできます。

    final Button startButton = (Button) solo.getCurrentActivity().findViewById(
            com.coop.R.id.btn_start);
    solo.clickOnView(startQuizButton);

-no-window オプションを使用して非表示で起動されたエミュレーターで同じことを行うと、例外が発生します。

[INFO] android.device パラメーターがエミュレーターに設定されました [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk : com.company.abc.app.test で計測テストを実行しています [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk : 実行を開始しました: com.company.abc.app.test, 1 テスト: [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk: FAILURE:com.company.abc.app.SingleChoiceTest#testappType [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk: junit.framework.AssertionFailedError: クリックを完了できません! com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:85) で com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:157) で com.jayway.android.robotium .solo.Clicker.clickOnScreen(Clicker.java:131) の com.jayway.android.robotium.solo.Solo.clickOnView(Solo.java:879) の com.company.abc.app.

「テキストとボタンのクリックが間違っているのはなぜですか?」を読みました。そして、もう一度チェックしましたが、私にはまだ同じ問題があります:/

SecurityException をキャッチするGrepcodeのソースを調べました。なぜ -no-window モードでこれがスローされるのですか?

これについて何か助けはありますか?

よろしくお願いします

4

1 に答える 1

0

エミュレーターはロックされた画面で実行されているに違いありません。robotium でのすべてのクリックは、最終的には画面上のクリックとして実行されます (より正確には、MotionEvent クラスから取得するメソッドが実行されます)。画面上に別のプロセスからのアプリケーションがある場合、画面上でクリックすることはできません。

テストを実行する前に、画面のロックを解除する方法を見つける必要があります。

多分これはあなたを助けることができます。そのエミュレーターでいくつかの vnc サーバーを実行し、接続して確認することもできます。これが本当にロックされた画面に関連している場合でも、それが問題であると 99% 確信しています。

于 2013-05-06T19:22:47.073 に答える