From b9e944a9e50761a666772a2d8e700c8f3a53a159 Mon Sep 17 00:00:00 2001 From: youtaol Date: Fri, 3 May 2013 15:53:12 +0800 Subject: [PATCH] Add test case to check the multi-select and then delete. And fix an e2e test error in EndToEndTestUtils. --- .../endtoendtest/EndToEndTestUtils.java | 9 +-- .../endtoendtest/common/DeleteTest.java | 58 +++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java b/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java index bbd164c41..9ab8fb1e4 100644 --- a/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java +++ b/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java @@ -290,9 +290,8 @@ public class EndToEndTestUtils { Log.e(LOG_TAG, "Need update Google Play Services"); } setIsEmulator(); - if ((getButtonOnScreen(activityMytracks.getString(R.string.eula_accept), false, false) != null)) { - verifyFirstLaunch(); - } + + verifyFirstLaunch(); hasActionBar = setHasActionBar(); checkLanguage(); isCheckedFirstLaunch = true; @@ -338,7 +337,9 @@ public class EndToEndTestUtils { * Accepts terms and configures units. */ private static void verifyFirstLaunch() { - getButtonOnScreen(activityMytracks.getString(R.string.eula_accept), true, true); + if ((getButtonOnScreen(activityMytracks.getString(R.string.eula_accept), false, false) != null)) { + getButtonOnScreen(activityMytracks.getString(R.string.eula_accept), true, true); + } if (SOLO.waitForText(activityMytracks.getString(R.string.enable_sync_title))) { // Click for Sync with Google Drive(Don't enable sync as default). getButtonOnScreen(activityMytracks.getString(R.string.generic_no), true, true); diff --git a/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/common/DeleteTest.java b/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/common/DeleteTest.java index 050d3e1dd..323c5c2ec 100644 --- a/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/common/DeleteTest.java +++ b/MyTracksTest_E2E/src/com/google/android/apps/mytracks/endtoendtest/common/DeleteTest.java @@ -111,6 +111,64 @@ public class DeleteTest extends ActivityInstrumentationTestCase2 trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); + int trackNumber = trackListView.get(0).getCount(); + + if (trackNumber < 3) { + for (int i = 0; i < 3 - trackNumber; i++) { + EndToEndTestUtils.createSimpleTrack(0, true); + + } + } + + // Get the number of track( or tracks) + trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); + int trackNumberOld = trackListView.get(0).getCount(); + + assertTrue(trackNumberOld > 2); + + // Select 3 tracks. + EndToEndTestUtils.SOLO.clickLongOnView(trackListView.get(0).getChildAt(0)); + assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString( + R.string.list_item_selected, 1))); + EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(1)); + assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString( + R.string.list_item_selected, 2))); + EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(2)); + assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString( + R.string.list_item_selected, 3))); + + // Deselect the first one. + EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(0)); + assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString( + R.string.list_item_selected, 2))); + + EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true); + EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_yes), true, + true); + + instrumentation.waitForIdleSync(); + int trackNumberNew = trackNumberOld; + long startTime = System.currentTimeMillis(); + // Wait a few seconds for the delete. + while (trackNumberNew != trackNumberOld - 2 + && (System.currentTimeMillis() - startTime) < EndToEndTestUtils.SHORT_WAIT_TIME) { + trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); + trackNumberNew = trackListView.get(0).getCount(); + EndToEndTestUtils.sleep(EndToEndTestUtils.VERY_SHORT_WAIT_TIME); + } + assertEquals(trackNumberOld - 2, trackNumberNew); + } + /** * Deletes a track which is under recording. */