4

Android アプリケーションの Junit テストのライブラリとしてRobotiumを使用しています。うまく機能するいくつかのテストを書きました。しかし、ネイティブ ActionBarUp/Home button clickのテストを作成しようとすると、失敗しました。

私のテスト コードは非常に単純です。

Solo solo = new Solo(getInstrumentation(), getActivity());
...
solo.clickOnActionBarHomeButton(); // I expected it will click the Up/Home button of ActionBar

上記のコードがネイティブの ActionBar の Up/Home ボタンをクリックすることを期待していましたが、失敗し、アクション バーで何も起こりませんでした。どうして??

PS Android 4.2.1 デバイスを使用しています。

4

3 に答える 3

5

私はこの機能を使用します:

public void clickOnActionBarHomeButton(Solo solo) {
    View homeView = solo.getView(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? android.R.id.home : R.id.home);
    solo.clickOnView(homeView);
}

完璧な決定ではないかもしれませんが、うまくいきます。

于 2014-04-18T08:40:09.187 に答える
1

私たちのアプリケーションでは、Homeボタンは最終的に を呼び出しますNavUtils.navigateUpFromSameTask。使用時

solo.clickOnActionBarHomeButton();

ボタンをクリックHomeしても機能しません。ただし、ボタンをクリックすると確実にsolo.clickOnScreenクリックされることに気付きました。Homeしたがって、代わりにこのメソッドを使用しますsolo.clickOnActionBarHomeButton

protected void clickOnHome() {
    solo.clickOnScreen(50, 50); //usually hits Home button
}
于 2014-12-25T13:30:39.307 に答える
0

次のコードを使用して、Up/Home ボタン (アクティビティの最初の ImageButton 要素) をクリックできます。

solo.clickOnImageButton(0);
instrumentation.waitForIdleSync();
于 2015-12-10T14:05:06.660 に答える