Change the code to check whether it is necessary to create a track for each test, and make the test run faster.

This commit is contained in:
youtaol
2012-05-11 16:28:21 +08:00
parent 5f017ab96c
commit f1573a550a
9 changed files with 171 additions and 74 deletions
@@ -53,8 +53,10 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
* Creates a track with markers and the setting to send to google. * Creates a track with markers and the setting to send to google.
*/ */
public void testCreateAndSendTrack() { public void testCreateAndSendTrack() {
// Create a track at first. if (EndToEndTestUtils.isTrackListEmpty(true)) {
EndToEndTestUtils.createSimpleTrack(1); // Create a simple track.
EndToEndTestUtils.createSimpleTrack(1);
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true,
false); false);
@@ -90,7 +92,10 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
* Tests editing a track. * Tests editing a track.
*/ */
public void testEditTrack() { public void testEditTrack() {
EndToEndTestUtils.createSimpleTrack(0); if (EndToEndTestUtils.isTrackListEmpty(true)) {
// Create a simple track.
EndToEndTestUtils.createSimpleTrack(0);
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_edit), true, false); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_edit), true, false);
@@ -111,7 +116,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Go back to track list. // Go back to track list.
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.SOLO.searchText(newTrackName)); assertTrue(EndToEndTestUtils.SOLO.searchText(newTrackName));
assertTrue(EndToEndTestUtils.SOLO.searchText(newDesc)); assertTrue(EndToEndTestUtils.SOLO.searchText(newDesc));
} }
@@ -149,8 +154,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
* Creates a way point and a statistics during track recording. * Creates a way point and a statistics during track recording.
*/ */
private void createWaypointAndStatistics() { private void createWaypointAndStatistics() {
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true, true);
true);
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true,
true); true);
@@ -162,7 +166,6 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_add)); EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_add));
assertTrue(EndToEndTestUtils.SOLO.searchText(WAYPOINT_NAME)); assertTrue(EndToEndTestUtils.SOLO.searchText(WAYPOINT_NAME));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true,
true); true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_statistics)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_statistics));
@@ -50,8 +50,11 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
* Deletes all tracks. * Deletes all tracks.
*/ */
public void testDeleteAllTracks() { public void testDeleteAllTracks() {
EndToEndTestUtils.createSimpleTrack(0); if (EndToEndTestUtils.isTrackListEmpty(false)) {
EndToEndTestUtils.SOLO.goBack(); // Create a simple track.
EndToEndTestUtils.createSimpleTrack(0);
EndToEndTestUtils.SOLO.goBack();
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// There is at least one track. // There is at least one track.
ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
@@ -73,8 +76,11 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
* Deletes only one track. * Deletes only one track.
*/ */
public void testDeleteSingleTrack() { public void testDeleteSingleTrack() {
EndToEndTestUtils.createSimpleTrack(0); if (EndToEndTestUtils.isTrackListEmpty(false)) {
EndToEndTestUtils.SOLO.goBack(); // Create a simple track.
EndToEndTestUtils.createSimpleTrack(0);
EndToEndTestUtils.SOLO.goBack();
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Get the number of track( or tracks) // Get the number of track( or tracks)
ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
@@ -24,7 +24,9 @@ import android.app.Activity;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView;
import java.io.File; import java.io.File;
import java.io.FileFilter; import java.io.FileFilter;
@@ -124,12 +126,37 @@ public class EndToEndTestUtils {
if ((EndToEndTestUtils.getButtonOnScreen(EndToEndTestUtils.ACTIVITYMYTRACKS if ((EndToEndTestUtils.getButtonOnScreen(EndToEndTestUtils.ACTIVITYMYTRACKS
.getString(R.string.eula_accept)) != null)) { .getString(R.string.eula_accept)) != null)) {
EndToEndTestUtils.verifyFirstLaunch(); EndToEndTestUtils.verifyFirstLaunch();
} else if (EndToEndTestUtils.SOLO.waitForText(
// After reset setting, welcome page will show again.
ACTIVITYMYTRACKS.getString(R.string.welcome_title), 0, 500)) {
resetPreferredUnits();
} }
EndToEndTestUtils.CHECKED_FIRSTLAUNCH = true; EndToEndTestUtils.CHECKED_FIRSTLAUNCH = true;
EndToEndTestUtils.setHasActionBar(); EndToEndTestUtils.setHasActionBar();
} else if (EndToEndTestUtils.SOLO.waitForText(
// After reset setting, welcome page will show again.
ACTIVITYMYTRACKS.getString(R.string.welcome_title), 0, 500)) {
resetPreferredUnits();
}
// Check whether is under recording. If previous test failed, the recording
// may not be recording.
if (isUnderRecording()) {
stopRecording(true);
} }
} }
/**
* Checks if need reset preferred units.
*/
public static void resetPreferredUnits() {
EndToEndTestUtils.SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
SOLO.waitForText(ACTIVITYMYTRACKS.getString(R.string.settings_stats_units_title));
EndToEndTestUtils.SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
INSTRUMENTATION.waitForIdleSync();
}
/** /**
* Rotates the given activity. * Rotates the given activity.
@@ -162,8 +189,30 @@ public class EndToEndTestUtils {
static void createSimpleTrack(int numberOfGpsData) { static void createSimpleTrack(int numberOfGpsData) {
startRecording(); startRecording();
EndToEndTestUtils.sendGps(numberOfGpsData); EndToEndTestUtils.sendGps(numberOfGpsData);
INSTRUMENTATION.waitForIdleSync();
stopRecording(true); stopRecording(true);
} }
/**
* Checks if there is no track in track list. For some tests need at least one
* track, the method can save time to create a new track.
*
* @param isClick if not empty, true means click any track
* @return return true if the track list is empty
*/
static boolean isTrackListEmpty(boolean isClick) {
int trackNumber = SOLO.getCurrentListViews().get(0).getCount();
if(trackNumber <= 0) {
return true;
} else {
View oneTrack = SOLO.getCurrentListViews().get(0).getChildAt(0);
TRACK_NAME = (String) ((TextView) oneTrack.findViewById(R.id.list_item_name)).getText();
if (isClick) {
SOLO.clickOnView(oneTrack);
}
return false;
}
}
/** /**
* Starts recoding track. * Starts recoding track.
@@ -193,6 +242,32 @@ public class EndToEndTestUtils {
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track)); SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
} }
} }
/**
* Checks if the MyTracks is under recording.
*
* @return true if it is under recording.
*/
static boolean isUnderRecording() {
if (HAS_ACTIONBAR) {
Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
// In case a track is recording.
if (startButton == null) {
return true;
}
} else {
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
if (!SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))) {
// Check if in TrackDetailActivity.
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) {
SOLO.goBack();
} else {
return true;
}
}
}
return false;
}
/** /**
* Stops recoding track. * Stops recoding track.
@@ -200,7 +275,6 @@ public class EndToEndTestUtils {
* @param isSave ture means should save this track * @param isSave ture means should save this track
*/ */
static void stopRecording(boolean isSave) { static void stopRecording(boolean isSave) {
INSTRUMENTATION.waitForIdleSync();
if (HAS_ACTIONBAR) { if (HAS_ACTIONBAR) {
SOLO.clickOnView(getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording))); SOLO.clickOnView(getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording)));
} else { } else {
@@ -288,6 +362,7 @@ public class EndToEndTestUtils {
* @return false means can not check failed. * @return false means can not check failed.
*/ */
static boolean setHasActionBar() { static boolean setHasActionBar() {
INSTRUMENTATION.waitForIdleSync();
// If can find record button without pressing Menu, it should be an action // If can find record button without pressing Menu, it should be an action
// bar. // bar.
Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track)); Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
@@ -58,8 +58,11 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
*/ */
public void testExportAndImportTracks() { public void testExportAndImportTracks() {
// Create a new track with 3 gps data. // Create a new track with 3 gps data.
EndToEndTestUtils.createSimpleTrack(3); if (EndToEndTestUtils.isTrackListEmpty(false)) {
EndToEndTestUtils.SOLO.goBack(); // Create a simple track.
EndToEndTestUtils.createSimpleTrack(3);
EndToEndTestUtils.SOLO.goBack();
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Create a empty track. // Create a empty track.
EndToEndTestUtils.createSimpleTrack(0); EndToEndTestUtils.createSimpleTrack(0);
@@ -79,20 +82,18 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
int trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount(); int trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
// No file to imported. // No file to imported.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true, false);
false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_no_file, EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_no_file,
FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX))); FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX)));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
// Click to export tracks(At least one track) to Gpx files. // Click to export tracks(At least one track) to Gpx files.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, false);
false); EndToEndTestUtils.SOLO
EndToEndTestUtils.SOLO.clickOnText(String.format( .clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
activityMyTracks.getString(R.string.menu_save_format), EndToEndTestUtils.GPX.toUpperCase()));
EndToEndTestUtils.GPX.toUpperCase()));
EndToEndTestUtils.rotateAllActivities(); EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.export_success)); EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.save_all_success));
// Check export file. // Check export file.
assertEquals(gpxFilesNumber + trackNumber, assertEquals(gpxFilesNumber + trackNumber,
EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length); EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
@@ -102,8 +103,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length; gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length;
trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount(); trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true, false);
false);
EndToEndTestUtils.rotateAllActivities(); EndToEndTestUtils.rotateAllActivities();
// Wait for the prefix of import success string is much faster than wait // Wait for the prefix of import success string is much faster than wait
// the whole string. // the whole string.
@@ -119,12 +119,11 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
// Click to export tracks(At least two tracks) to KML files. // Click to export tracks(At least two tracks) to KML files.
gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length; gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length;
trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount(); trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, false);
false); EndToEndTestUtils.SOLO
EndToEndTestUtils.SOLO.clickOnText(String.format( .clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
activityMyTracks.getString(R.string.menu_save_format), EndToEndTestUtils.KML.toUpperCase()));
EndToEndTestUtils.KML.toUpperCase())); EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.save_all_success));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.export_success));
// Check export files. // Check export files.
assertEquals(gpxFilesNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length); assertEquals(gpxFilesNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
assertEquals(trackNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.KML).length); assertEquals(trackNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.KML).length);
@@ -47,9 +47,11 @@ public class GoToMyLocationTest extends ActivityInstrumentationTestCase2<TrackLi
* Tests the menu My Location. * Tests the menu My Location.
*/ */
public void testGotoMyLocation() { public void testGotoMyLocation() {
EndToEndTestUtils.createSimpleTrack(0); if (EndToEndTestUtils.isTrackListEmpty(true)) {
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.my_location), true, // Create a simple track.
false); EndToEndTestUtils.createSimpleTrack(2);
}
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.my_location), true, false);
// TODO How to verify the location is shown on the map. // TODO How to verify the location is shown on the map.
} }
@@ -57,8 +57,10 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
true, false); true, false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.stats_total_distance)); EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.stats_total_distance));
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
instrumentation.waitForIdleSync();
EndToEndTestUtils.startRecording(); if(EndToEndTestUtils.isTrackListEmpty(true)) {
EndToEndTestUtils.createSimpleTrack(1);
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Menu in TrackDetailActivity. // Menu in TrackDetailActivity.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true, EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true,
@@ -71,8 +73,6 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.help_about)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.help_about));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
EndToEndTestUtils.stopRecording(true);
} }
@Override @Override
@@ -29,7 +29,6 @@ public class SaveToSdCardTest extends ActivityInstrumentationTestCase2<TrackList
private Instrumentation instrumentation; private Instrumentation instrumentation;
private TrackListActivity activityMyTracks; private TrackListActivity activityMyTracks;
private static boolean isCreateTrack = true;
public SaveToSdCardTest() { public SaveToSdCardTest() {
super(TrackListActivity.class); super(TrackListActivity.class);
@@ -41,12 +40,9 @@ public class SaveToSdCardTest extends ActivityInstrumentationTestCase2<TrackList
instrumentation = getInstrumentation(); instrumentation = getInstrumentation();
activityMyTracks = getActivity(); activityMyTracks = getActivity();
EndToEndTestUtils.setupForAllTest(instrumentation, activityMyTracks); EndToEndTestUtils.setupForAllTest(instrumentation, activityMyTracks);
if (isCreateTrack) { if (EndToEndTestUtils.isTrackListEmpty(true)) {
EndToEndTestUtils.createSimpleTrack(0); // Create a simple track.
// Only create one track for this test. EndToEndTestUtils.createSimpleTrack(1);
isCreateTrack = false;
} else {
EndToEndTestUtils.SOLO.clickOnText(EndToEndTestUtils.TRACK_NAME);
} }
} }
@@ -66,14 +66,12 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
// Reset all settings at first. // Reset all settings at first.
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
// Change a setting of display. // Change a setting of Map.
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_display)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
EndToEndTestUtils.SOLO
.waitForText(activityMyTracks.getString(R.string.settings_display_metric));
// Rotate on a sub setting page. // Rotate on a sub setting page.
EndToEndTestUtils.rotateAllActivities(); EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.waitForText(activityMyTracks.getString(R.string.settings_display_metric)); .getString(R.string.settings_stats_units_title));
ArrayList<CheckBox> displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes(); ArrayList<CheckBox> displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
boolean useMetric = displayCheckBoxs.get(0).isChecked(); boolean useMetric = displayCheckBoxs.get(0).isChecked();
EndToEndTestUtils.SOLO.clickOnCheckBox(0); EndToEndTestUtils.SOLO.clickOnCheckBox(0);
@@ -98,9 +96,9 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
// Check settings. // Check settings.
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_display)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.waitForText(activityMyTracks.getString(R.string.settings_display_metric)); .getString(R.string.settings_stats_units_title));
displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes(); displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
assertEquals(useMetric, displayCheckBoxs.get(0).isChecked()); assertEquals(useMetric, displayCheckBoxs.get(0).isChecked());
@@ -118,9 +116,12 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
public void testBackup() { public void testBackup() {
// Delete all backup at first. // Delete all backup at first.
EndToEndTestUtils.deleteExportedFiles(EndToEndTestUtils.BACKUPS); EndToEndTestUtils.deleteExportedFiles(EndToEndTestUtils.BACKUPS);
// Create a simple track. if (EndToEndTestUtils.isTrackListEmpty(false)) {
EndToEndTestUtils.createSimpleTrack(3); // Create a simple track.
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.createSimpleTrack(3);
EndToEndTestUtils.SOLO.goBack();
}
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME)); assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME));
// Write to SD card. // Write to SD card.
@@ -173,7 +174,9 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.startRecording(); EndToEndTestUtils.startRecording();
instrumentation.waitForIdleSync();
EndToEndTestUtils.stopRecording(false); EndToEndTestUtils.stopRecording(false);
instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString( assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(
R.string.track_name_format).split(" ")[0])); R.string.track_name_format).split(" ")[0]));
assertTrue(EndToEndTestUtils.SOLO.searchText(DEFAULTACTIVITY)); assertTrue(EndToEndTestUtils.SOLO.searchText(DEFAULTACTIVITY));
@@ -22,6 +22,7 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2; import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import android.view.View; import android.view.View;
import java.util.ArrayList; import java.util.ArrayList;
@@ -54,41 +55,54 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
* menus in these views. * menus in these views.
*/ */
public void testSwitchViewsAndMenusOfView() { public void testSwitchViewsAndMenusOfView() {
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true, if (EndToEndTestUtils.isTrackListEmpty(true)) {
false); // Create a simple track.
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.createSimpleTrack(3);
instrumentation.waitForIdleSync(); }
EndToEndTestUtils.createSimpleTrack(3);
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.clickOnText(EndToEndTestUtils.TRACK_NAME); EndToEndTestUtils.SOLO.clickOnText(EndToEndTestUtils.TRACK_NAME);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_chart_tab)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_chart_tab));
EndToEndTestUtils.rotateAllActivities(); EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_chart_settings), true,
false); EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks assertTrue(EndToEndTestUtils.SOLO.waitForText(
.getString(R.string.chart_settings_by_distance))); activityMyTracks.getString(R.string.menu_settings), 1, 3000));
assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_satellite_mode), 1, 0));
assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_map_mode), 1, 0));
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true, EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
false); assertTrue(EndToEndTestUtils.SOLO.waitForText(
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks activityMyTracks.getString(R.string.menu_settings), 1, 3000));
.getString(R.string.sensor_state_last_sensor_time))); assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_satellite_mode), 1, 0));
assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_map_mode), 1, 0));
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab));
assertTrue(EndToEndTestUtils.findMenuItem( EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
activityMyTracks.getString(R.string.my_location), false, false)); assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_settings), 1, 3000));
assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.menu_satellite_mode), 1, 0)
|| EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.menu_map_mode),
1, 0));
} }
/** /**
* Tests the switch between satellite mode and map mode. * Tests the switch between satellite mode and map mode.
*/ */
public void testSatelliteAndMapView() { public void testSatelliteAndMapView() {
EndToEndTestUtils.startRecording(); instrumentation.waitForIdleSync();
if(EndToEndTestUtils.isTrackListEmpty(true)) {
EndToEndTestUtils.createSimpleTrack(1);
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Check current mode. // Check current mode.
boolean isMapMode = true; boolean isMapMode = true;
@@ -130,7 +144,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
// found in next step. // found in next step.
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.track_detail_chart_tab), EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.track_detail_chart_tab),
0, 1000); 0, 1000);
EndToEndTestUtils.stopRecording(true);
} }
@Override @Override