From acdb140a4e9653062152dc02aa8b50ec287da17b Mon Sep 17 00:00:00 2001 From: youtaol Date: Thu, 2 Aug 2012 16:33:16 +0800 Subject: [PATCH] Make some change to make test more stable. --- .../endtoendtest/EndToEndTestUtils.java | 75 ++++++++++--------- .../mytracks/endtoendtest/SettingTest.java | 21 +++--- 2 files changed, 50 insertions(+), 46 deletions(-) diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java index becbbd504..bc4701580 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java @@ -517,7 +517,7 @@ public class EndToEndTestUtils { } } - if(isClick) { + if(button != null && isClick) { SOLO.clickOnView(button); } @@ -566,48 +566,49 @@ public class EndToEndTestUtils { * @param click true means need click this menu * @return true if find this menu */ - static boolean findMenuItem(String menuName, boolean click) {boolean findResult = false; - boolean isMoreMenuOpened = false; - - // ICS phone. - if(hasActionBar) { - // Firstly find in action bar. - View button = getButtonOnScreen(menuName, false, false); - if (button != null) { - findResult = true; - if (click) { - SOLO.clickOnView(button); - instrumentation.waitForIdleSync(); + static boolean findMenuItem(String menuName, boolean click) { + boolean findResult = false; + boolean isMoreMenuOpened = false; + + // ICS phone. + if (hasActionBar) { + // Firstly find in action bar. + View button = getButtonOnScreen(menuName, false, false); + if (button != null) { + findResult = true; + if (click) { + SOLO.clickOnView(button); + instrumentation.waitForIdleSync(); + } + return findResult; } - return findResult; - } - showMenuItem(); - findResult = SOLO.searchText(menuName); - } else { - // Non-ICS phone. - SOLO.sendKey(KeyEvent.KEYCODE_MENU); - if (SOLO.searchText(menuName)) { - findResult = true; - } else if (SOLO.searchText(MENU_MORE)) { - SOLO.clickOnText(MENU_MORE); + showMenuItem(); findResult = SOLO.searchText(menuName); - isMoreMenuOpened = true; + } else { + // Non-ICS phone. + SOLO.sendKey(KeyEvent.KEYCODE_MENU); + if (SOLO.searchText(menuName)) { + findResult = true; + } else if (SOLO.searchText(MENU_MORE)) { + SOLO.clickOnText(MENU_MORE); + findResult = SOLO.searchText(menuName); + isMoreMenuOpened = true; + } } - } - - if (findResult && click) { - SOLO.clickOnText(menuName); - instrumentation.waitForIdleSync(); - } else { - // Quit more menu list if opened. - if (isMoreMenuOpened) { + + if (findResult && click) { + SOLO.clickOnText(menuName); + instrumentation.waitForIdleSync(); + } else { + // Quit more menu list if opened. + if (isMoreMenuOpened) { + SOLO.goBack(); + } + // Quit menu list. SOLO.goBack(); } - // Quit menu list. - SOLO.goBack(); + return findResult; } - return findResult; -} /** * Show menu item list. diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/SettingTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/SettingTest.java index e47f05ebf..b72dd3140 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/SettingTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/SettingTest.java @@ -154,8 +154,9 @@ public class SettingTest extends ActivityInstrumentationTestCase2