[英](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.