簡體   English   中英

(機械手)動作欄向上/主頁按鈕單擊

[英](Robotium) Action bar up/home button click

我將Robotium用作Android應用程序Junit測試的庫。 我寫了一些很好的測試。 但是,當我嘗試為原生ActionBar的向上/主頁”按鈕click編寫測試時,它失敗了。

我的測試代碼非常簡單:

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

我希望上面的代碼將單擊本機ActionBar的“向上/主頁”按鈕,但是失敗了,操作欄上沒有任何反應。 為什么??

PS我正在使用Android 4.2.1設備。

我使用此功能:

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);
}

也許這不是一個完美的決定,但它確實有效。

在我們的應用程序中,“ Home按鈕最終將調用NavUtils.navigateUpFromSameTask 使用時

solo.clickOnActionBarHomeButton();

單擊Home按鈕,它不起作用。 但是,我注意到solo.clickOnScreen可靠地單擊“ Home按鈕。 因此,我們使用此方法代替solo.clickOnActionBarHomeButton

protected void clickOnHome() {
    solo.clickOnScreen(50, 50); //usually hits Home button
}

您可以使用以下代碼單擊向上/主頁按鈕(這是活動中的第一個ImageButton元素):

solo.clickOnImageButton(0);
instrumentation.waitForIdleSync();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM