Add backup test case, change some code style.

This commit is contained in:
youtaol
2012-05-09 12:12:15 +08:00
parent fd90dcffa6
commit b6fdf4e6e4
8 changed files with 122 additions and 61 deletions
@@ -40,7 +40,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
public CreateAndSendTrackTest() {
super(TrackListActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -48,7 +48,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
activityMyTracks = getActivity();
EndToEndTestUtils.setupForAllTest(instrumentation, activityMyTracks);
}
/**
* Creates a track with markers and the setting to send to google.
*/
@@ -56,8 +56,8 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
// Create a track at first.
EndToEndTestUtils.createSimpleTrack(1);
instrumentation.waitForIdleSync();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true, false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true,
false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.send_google_title));
EndToEndTestUtils.rotateCurrentActivity();
instrumentation.waitForIdleSync();
@@ -68,7 +68,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
EndToEndTestUtils.SOLO.clickOnCheckBox(i);
}
}
if (checkBoxs.size() < 3) {
EndToEndTestUtils.SOLO.scrollDown();
checkBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
@@ -78,21 +78,20 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
}
}
}
instrumentation.waitForIdleSync();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.send_google_send_now));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.send_google_no_service_selected)));
// Stop here for do not really send.
}
/**
* Tests editing a track.
*/
public void testEditTrack() {
EndToEndTestUtils.createSimpleTrack(0);
instrumentation.waitForIdleSync();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_edit), true, false);
String newTrackName = EndToEndTestUtils.TRACK_NAME_PREFIX + "_new" + System.currentTimeMillis();
@@ -116,13 +115,13 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
assertTrue(EndToEndTestUtils.SOLO.searchText(newTrackName));
assertTrue(EndToEndTestUtils.SOLO.searchText(newDesc));
}
/**
* Creates one track with a two locations, a way point and a statistics point.
*/
public void testCreateTrackWithMarkers() {
EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true, false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
false);
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
instrumentation.waitForIdleSync();
@@ -142,32 +141,36 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
instrumentation.waitForIdleSync();
// Check the new track
assertTrue(EndToEndTestUtils.SOLO.waitForText(EndToEndTestUtils.TRACK_NAME, 1, 5000, true, false));
assertTrue(EndToEndTestUtils.SOLO.waitForText(EndToEndTestUtils.TRACK_NAME, 1, 5000, true,
false));
}
/**
* Creates a way point and a statistics during track recording.
*/
private void createWaypointAndStatistics() {
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true, false);
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.marker_list_empty_message)));
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true, true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_edit_type_waypoint));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true,
true);
instrumentation.waitForIdleSync();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true,
true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_waypoint));
// Rotate when show insert page.
EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_more_options));
EndToEndTestUtils.SOLO.enterText(0, WAYPOINT_NAME);
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.marker_edit_add));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_add));
assertTrue(EndToEndTestUtils.SOLO.searchText(WAYPOINT_NAME));
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true, true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_edit_type_statistics));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true,
true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.marker_statistics));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_more_options));
// Rotate when show option page.
EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.SOLO.enterText(0, STATISTICS_NAME);
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.marker_edit_add));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_add));
instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.SOLO.searchText(STATISTICS_NAME));
@@ -20,7 +20,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import android.widget.ListView;
import java.util.ArrayList;
@@ -59,7 +58,6 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
assertTrue(trackListView.size() > 0);
assertTrue(trackListView.get(0).getCount() > 0);
EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
false);
instrumentation.waitForIdleSync();
@@ -77,6 +75,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
public void testDeleteSingleTrack() {
EndToEndTestUtils.createSimpleTrack(0);
EndToEndTestUtils.SOLO.goBack();
instrumentation.waitForIdleSync();
// Get the number of track( or tracks)
ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
int trackNumberOld = trackListView.get(0).getCount();
@@ -58,6 +58,7 @@ public class EndToEndTestUtils {
static final String KML = "kml";
static final String CSV = "csv";
static final String TCX = "tcx";
static final String BACKUPS = "backups";
static final String MENU_MORE = "More";
static String TRACK_NAME;
@@ -77,7 +78,9 @@ public class EndToEndTestUtils {
* @param number send times
*/
public static void sendGps(int number) {
if (number < 1) { return; }
if (number < 1) {
return;
}
PrintStream out = null;
Socket socket = null;
try {
@@ -347,6 +350,7 @@ public class EndToEndTestUtils {
}
}
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
if (SOLO.searchText(menuName)) {
findResult = true;
} else if (SOLO.searchText(MENU_MORE)) {
@@ -21,7 +21,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import java.io.File;
@@ -80,19 +79,17 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
int trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
// No file to imported.
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import_all), true,
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true,
false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_no_file,
FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX)));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
// Click to export tracks(At least one track) to Gpx files.
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_export_all), true,
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true,
false);
EndToEndTestUtils.SOLO.clickOnText(String.format(
activityMyTracks.getString(R.string.menu_export_all_format),
activityMyTracks.getString(R.string.menu_save_format),
EndToEndTestUtils.GPX.toUpperCase()));
EndToEndTestUtils.rotateAllActivities();
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.export_success));
@@ -105,8 +102,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length;
trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import_all), true,
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true,
false);
EndToEndTestUtils.rotateAllActivities();
// Wait for the prefix of import success string is much faster than wait
@@ -123,11 +119,10 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
// Click to export tracks(At least two tracks) to KML files.
gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length;
trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_export_all), true,
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true,
false);
EndToEndTestUtils.SOLO.clickOnText(String.format(
activityMyTracks.getString(R.string.menu_export_all_format),
activityMyTracks.getString(R.string.menu_save_format),
EndToEndTestUtils.KML.toUpperCase()));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.export_success));
// Check export files.
@@ -20,7 +20,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
/**
* Tests the function of go to my location.
@@ -49,8 +48,7 @@ public class GoToMyLocationTest extends ActivityInstrumentationTestCase2<TrackLi
*/
public void testGotoMyLocation() {
EndToEndTestUtils.createSimpleTrack(0);
EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_my_location), true,
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.my_location), true,
false);
// TODO How to verify the location is shown on the map.
}
@@ -20,7 +20,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
/**
* Tests some menu items of MyTracks.
@@ -54,23 +53,20 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
*/
public void testSomeMenuItems() {
// Menu in TrackListActivity.
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_aggregated_statistics),
true, false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.stat_total_distance));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.stats_total_distance));
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.startRecording();
instrumentation.waitForIdleSync();
// Menu in TrackDetailActivity.
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true,
false);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.sensor_state_last_sensor_time));
EndToEndTestUtils.SOLO.goBack();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true, false);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.help_about));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
@@ -20,7 +20,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import android.widget.CheckBox;
import java.util.ArrayList;
@@ -32,6 +31,8 @@ import java.util.ArrayList;
*/
public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActivity> {
private final String DEFAULTACTIVITY = "TestActivity";
private Instrumentation instrumentation;
private TrackListActivity activityMyTracks;
@@ -48,10 +49,15 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
}
/**
* Changes some settings and then reset them.
* Changes some settings and then reset them. This test case tests three
* points:
* <ul>
* <li>Resets all settings.</li>
* <li>Changes the setting of Display.</li>
* <li>Changes the setting of Sharing.</li>
* </ul>
*/
public void testSetting() {
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true, false);
instrumentation.waitForIdleSync();
// Rotate on the settings page.
@@ -106,6 +112,75 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
assertEquals(newMapsPublic, sharingCheckBoxs.get(0).isChecked());
}
/**
* Tests reseting all settings.
*/
public void testBackup() {
// Delete all backup at first.
EndToEndTestUtils.deleteExportedFiles(EndToEndTestUtils.BACKUPS);
// Create a simple track.
EndToEndTestUtils.createSimpleTrack(3);
EndToEndTestUtils.SOLO.goBack();
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME));
// Write to SD card.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true, false);
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.settings_backup));
EndToEndTestUtils.SOLO
.clickLongOnText(activityMyTracks.getString(R.string.settings_backup_now));
assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_success_write_file), 0, 10000));
instrumentation.waitForIdleSync();
// Delete all tracks.
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
false);
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
// Read from SD card.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true, false);
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.settings_backup));
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
.getString(R.string.settings_backup_restore));
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.sd_card_success_read_file), 0, 10000));
// Check restore track.
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME));
}
/**
* Tests the setting of recording. This test changes the default name and
* activity of tracks, and the creates a new track to check it.
*/
public void testRecording() {
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true, false);
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.settings_recording));
// Changes the setting of recording name.
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
.getString(R.string.settings_recording_track_name));
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
.getString(R.string.settings_recording_track_name_number_option));
// Changes the setting of default activity.
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
.getString(R.string.settings_recording_default_activity));
EndToEndTestUtils.SOLO.enterText(0, DEFAULTACTIVITY);
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.startRecording();
EndToEndTestUtils.stopRecording(false);
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(
R.string.track_name_format).split(" ")[0]));
assertTrue(EndToEndTestUtils.SOLO.searchText(DEFAULTACTIVITY));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_save));
}
@Override
protected void tearDown() throws Exception {
EndToEndTestUtils.SOLO.finishOpenedActivities();
@@ -22,7 +22,6 @@ import com.google.android.maps.mytracks.R;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import android.view.View;
import java.util.ArrayList;
@@ -55,7 +54,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
* menus in these views.
*/
public void testSwitchViewsAndMenusOfView() {
EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
false);
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
@@ -68,7 +66,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_chart_tab));
EndToEndTestUtils.rotateAllActivities();
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_chart_settings), true,
false);
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks
@@ -76,9 +73,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
sendKeys(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_satellite_mode), false,
false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true,
false);
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks
@@ -86,9 +80,8 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab));
sendKeys(KeyEvent.KEYCODE_MENU);
assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_my_location), false, false));
activityMyTracks.getString(R.string.my_location), false, false));
}
/**
@@ -99,7 +92,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
instrumentation.waitForIdleSync();
// Check current mode.
boolean isMapMode = true;
sendKeys(KeyEvent.KEYCODE_MENU);
// If can not find switch menu in top menu, click More menu.
if (!EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_satellite_mode),
false, false)) {
@@ -119,7 +111,6 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
}
instrumentation.waitForIdleSync();
EndToEndTestUtils.SOLO.sendKey(KeyEvent.KEYCODE_MENU);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), false, false);
instrumentation.waitForIdleSync();
EndToEndTestUtils.rotateAllActivities();