Make some change to make test more stable.

This commit is contained in:
youtaol
2012-08-02 16:33:16 +08:00
parent 0568ccca2c
commit acdb140a4e
2 changed files with 50 additions and 46 deletions
@@ -517,7 +517,7 @@ public class EndToEndTestUtils {
} }
} }
if(isClick) { if(button != null && isClick) {
SOLO.clickOnView(button); SOLO.clickOnView(button);
} }
@@ -566,48 +566,49 @@ public class EndToEndTestUtils {
* @param click true means need click this menu * @param click true means need click this menu
* @return true if find this menu * @return true if find this menu
*/ */
static boolean findMenuItem(String menuName, boolean click) {boolean findResult = false; static boolean findMenuItem(String menuName, boolean click) {
boolean isMoreMenuOpened = false; boolean findResult = false;
boolean isMoreMenuOpened = false;
// ICS phone. // ICS phone.
if(hasActionBar) { if (hasActionBar) {
// Firstly find in action bar. // Firstly find in action bar.
View button = getButtonOnScreen(menuName, false, false); View button = getButtonOnScreen(menuName, false, false);
if (button != null) { if (button != null) {
findResult = true; findResult = true;
if (click) { if (click) {
SOLO.clickOnView(button); SOLO.clickOnView(button);
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
}
return findResult;
} }
return findResult; showMenuItem();
}
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);
findResult = SOLO.searchText(menuName); 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) { if (findResult && click) {
SOLO.clickOnText(menuName); SOLO.clickOnText(menuName);
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
} else { } else {
// Quit more menu list if opened. // Quit more menu list if opened.
if (isMoreMenuOpened) { if (isMoreMenuOpened) {
SOLO.goBack();
}
// Quit menu list.
SOLO.goBack(); SOLO.goBack();
} }
// Quit menu list. return findResult;
SOLO.goBack();
} }
return findResult;
}
/** /**
* Show menu item list. * Show menu item list.
@@ -154,8 +154,9 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.resetAllSettings(activityMyTracks, true); EndToEndTestUtils.resetAllSettings(activityMyTracks, true);
ChangeStatsSettings(false, false, true, true, true); ChangeStatsSettings(false, false, true, true, true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks assertTrue(EndToEndTestUtils.SOLO.waitForText(
.getString(R.string.stats_min_elevation))); activityMyTracks.getString(R.string.stats_min_elevation), 1,
EndToEndTestUtils.NORMAL_WAIT_TIME, true));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.stats_min_grade))); .getString(R.string.stats_min_grade)));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
@@ -241,10 +242,10 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
// Write to SD card. // Write to SD card.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup_now));
.clickOnText(activityMyTracks.getString(R.string.settings_backup_now));
assertTrue(EndToEndTestUtils.SOLO.waitForText( assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_save_success), 0, EndToEndTestUtils.SUPER_LONG_WAIT_TIME)); activityMyTracks.getString(R.string.sd_card_save_success), 0,
EndToEndTestUtils.SUPER_LONG_WAIT_TIME));
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Delete all tracks. // Delete all tracks.
@@ -256,11 +257,13 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
// Read from SD card. // Read from SD card.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks EndToEndTestUtils.SOLO
.getString(R.string.settings_backup_restore)); .clickOnText(activityMyTracks.getString(R.string.settings_backup_restore));
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
assertTrue(EndToEndTestUtils.SOLO.waitForText( assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_import_success), 0, EndToEndTestUtils.SUPER_LONG_WAIT_TIME)); activityMyTracks.getString(R.string.sd_card_import_success), 0,
EndToEndTestUtils.SUPER_LONG_WAIT_TIME));
// Check restore track. // Check restore track.
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.trackName)); assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.trackName));
} }