mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 17:43:06 +02:00
Change some resource Id. Add method createTrackIfEmpty to make the code simpler.
This commit is contained in:
+11
-23
@@ -53,14 +53,9 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
||||
* Creates a track with markers and the setting to send to google.
|
||||
*/
|
||||
public void testCreateAndSendTrack() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(1);
|
||||
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME));
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true,
|
||||
false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_send_google), true);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.send_google_title));
|
||||
EndToEndTestUtils.rotateCurrentActivity();
|
||||
instrumentation.waitForIdleSync();
|
||||
@@ -93,12 +88,9 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
||||
* Tests editing a track.
|
||||
*/
|
||||
public void testEditTrack() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(0);
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_edit), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_edit), true);
|
||||
|
||||
String newTrackName = EndToEndTestUtils.TRACK_NAME_PREFIX + "_new" + System.currentTimeMillis();
|
||||
String newType = "type" + newTrackName;
|
||||
@@ -130,12 +122,12 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
||||
instrumentation.waitForIdleSync();
|
||||
// Send Gps before send marker.
|
||||
EndToEndTestUtils.sendGps(2);
|
||||
if (EndToEndTestUtils.HAS_ACTIONBAR) {
|
||||
if (EndToEndTestUtils.hasActionBar) {
|
||||
// Check the title is Recording.
|
||||
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks
|
||||
.getString(R.string.icon_recording)));
|
||||
}
|
||||
createWaypointAndSplit();
|
||||
createWaypoint();
|
||||
EndToEndTestUtils.sendGps(2);
|
||||
// Back to tracks list.
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
@@ -159,8 +151,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
||||
*/
|
||||
public void testTrackStartTime() {
|
||||
// Delete all track first.
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
|
||||
false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
||||
instrumentation.waitForIdleSync();
|
||||
// Test should not show relative time.
|
||||
@@ -177,25 +168,22 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
||||
// Test should show relative time.
|
||||
EndToEndTestUtils.createSimpleTrack(2);
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(RELATIVE_STARTTIME_POSTFIX, 1, 500));
|
||||
|
||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(RELATIVE_STARTTIME_POSTFIX, 1, 5000));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a way point and a split maker during track recording.
|
||||
*/
|
||||
private void createWaypointAndSplit() {
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true, true);
|
||||
private void createWaypoint() {
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), true);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.marker_list_empty_message));
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true,
|
||||
true);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_insert_marker), true);
|
||||
// Rotate when show insert page.
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
EndToEndTestUtils.SOLO.enterText(0, WAYPOINT_NAME);
|
||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_add));
|
||||
assertTrue(EndToEndTestUtils.SOLO.searchText(WAYPOINT_NAME));
|
||||
|
||||
// TODO Add test when Split maker feature is finished.
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
|
||||
|
||||
@@ -50,19 +50,14 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
||||
* Deletes all tracks.
|
||||
*/
|
||||
public void testDeleteAllTracks() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(false)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(0);
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, true);
|
||||
instrumentation.waitForIdleSync();
|
||||
// There is at least one track.
|
||||
ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
||||
assertTrue(trackListView.size() > 0);
|
||||
assertTrue(trackListView.get(0).getCount() > 0);
|
||||
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true,
|
||||
false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
||||
@@ -76,18 +71,14 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
||||
* Deletes only one track.
|
||||
*/
|
||||
public void testDeleteSingleTrack() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(false)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(0);
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, true);
|
||||
instrumentation.waitForIdleSync();
|
||||
// Get the number of track( or tracks)
|
||||
ArrayList<ListView> trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
||||
int trackNumberOld = trackListView.get(0).getCount();
|
||||
|
||||
EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(0));
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true, true);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true);
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
instrumentation.waitForIdleSync();
|
||||
trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
||||
@@ -102,17 +93,17 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
||||
EndToEndTestUtils.startRecording();
|
||||
instrumentation.waitForIdleSync();
|
||||
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_stop_recording),
|
||||
false, true));
|
||||
false));
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete),
|
||||
true, false);
|
||||
true);
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
instrumentation.waitForIdleSync();
|
||||
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_record_track),
|
||||
false, true));
|
||||
false));
|
||||
instrumentation.waitForIdleSync();
|
||||
assertTrue(EndToEndTestUtils.findMenuItem(
|
||||
activityMyTracks.getString(R.string.menu_record_track), false, true));
|
||||
activityMyTracks.getString(R.string.menu_record_track), false));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+61
-55
@@ -45,7 +45,7 @@ import java.util.ArrayList;
|
||||
public class EndToEndTestUtils {
|
||||
private static final String ANDROID_LOCAL_IP = "10.0.2.2";
|
||||
// usually 5554.
|
||||
private static final int ANDROID_LOCAL_PORT = 5554;
|
||||
private static final int ANDROID_LOCAL_PORT = 5556;
|
||||
|
||||
private static final int ORIENTATION_PORTRAIT = 1;
|
||||
private static final int ORIENTATION_LANDSCAPE = 0;
|
||||
@@ -72,8 +72,8 @@ public class EndToEndTestUtils {
|
||||
static TrackListActivity ACTIVITYMYTRACKS;
|
||||
// Check whether the UI has an action bar which is related with the version of
|
||||
// Android OS.
|
||||
static boolean HAS_ACTIONBAR = false;
|
||||
static boolean CHECKED_FIRSTLAUNCH = false;
|
||||
static boolean hasActionBar = false;
|
||||
static boolean isCheckedFirstLaunch = false;
|
||||
|
||||
private EndToEndTestUtils() {}
|
||||
|
||||
@@ -125,7 +125,7 @@ public class EndToEndTestUtils {
|
||||
EndToEndTestUtils.ACTIVITYMYTRACKS);
|
||||
// Check if open MyTracks first time after install. If so, there would be a
|
||||
// welcome view with accept buttons. And makes sure only check once.
|
||||
if (!EndToEndTestUtils.CHECKED_FIRSTLAUNCH) {
|
||||
if (!EndToEndTestUtils.isCheckedFirstLaunch) {
|
||||
if ((EndToEndTestUtils.getButtonOnScreen(EndToEndTestUtils.ACTIVITYMYTRACKS
|
||||
.getString(R.string.eula_accept)) != null)) {
|
||||
EndToEndTestUtils.verifyFirstLaunch();
|
||||
@@ -135,7 +135,7 @@ public class EndToEndTestUtils {
|
||||
resetPreferredUnits();
|
||||
}
|
||||
|
||||
EndToEndTestUtils.CHECKED_FIRSTLAUNCH = true;
|
||||
EndToEndTestUtils.isCheckedFirstLaunch = true;
|
||||
EndToEndTestUtils.setHasActionBar();
|
||||
} else if (EndToEndTestUtils.SOLO.waitForText(
|
||||
// After reset setting, welcome page will show again.
|
||||
@@ -153,7 +153,7 @@ public class EndToEndTestUtils {
|
||||
/**
|
||||
* Checks if need reset preferred units.
|
||||
*/
|
||||
public static void resetPreferredUnits() {
|
||||
private 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));
|
||||
@@ -207,13 +207,30 @@ public class EndToEndTestUtils {
|
||||
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);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new track if the track is empty.
|
||||
*
|
||||
* @param gpsNumber the number of gps signals
|
||||
* @param showTrackList whether stay on track list activity or track detail
|
||||
* activity
|
||||
*/
|
||||
static void createTrackIfEmpty(int gpsNumber, boolean showTrackList) {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(!showTrackList)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(gpsNumber);
|
||||
if (showTrackList) {
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,7 +238,7 @@ public class EndToEndTestUtils {
|
||||
* Starts recoding track.
|
||||
*/
|
||||
static void startRecording() {
|
||||
if (HAS_ACTIONBAR) {
|
||||
if (hasActionBar) {
|
||||
Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
|
||||
// In case a track is recording.
|
||||
if (startButton == null) {
|
||||
@@ -252,26 +269,19 @@ public class EndToEndTestUtils {
|
||||
* @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 {
|
||||
showMoreMenuItem();
|
||||
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;
|
||||
}
|
||||
} else {
|
||||
SOLO.goBack();
|
||||
}
|
||||
if (hasActionBar) {
|
||||
return getButtonOnScreen(ACTIVITYMYTRACKS
|
||||
.getString(R.string.menu_record_track)) == null;
|
||||
}
|
||||
return false;
|
||||
showMoreMenuItem();
|
||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))) {
|
||||
return false;
|
||||
}
|
||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) {
|
||||
SOLO.goBack();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -280,7 +290,7 @@ public class EndToEndTestUtils {
|
||||
* @param isSave ture means should save this track
|
||||
*/
|
||||
static void stopRecording(boolean isSave) {
|
||||
if (HAS_ACTIONBAR) {
|
||||
if (hasActionBar) {
|
||||
SOLO.clickOnView(getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording)));
|
||||
} else {
|
||||
showMoreMenuItem();
|
||||
@@ -338,7 +348,7 @@ public class EndToEndTestUtils {
|
||||
static void saveTrackToSdCard(String trackKind) {
|
||||
deleteExportedFiles(trackKind);
|
||||
INSTRUMENTATION.waitForIdleSync();
|
||||
findMenuItem(ACTIVITYMYTRACKS.getString(R.string.menu_save), true, true);
|
||||
findMenuItem(ACTIVITYMYTRACKS.getString(R.string.menu_save), true);
|
||||
INSTRUMENTATION.waitForIdleSync();
|
||||
SOLO.clickOnText(trackKind.toUpperCase());
|
||||
rotateAllActivities();
|
||||
@@ -374,12 +384,12 @@ public class EndToEndTestUtils {
|
||||
Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
|
||||
Button stopButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording));
|
||||
if (startButton != null || stopButton != null) {
|
||||
HAS_ACTIONBAR = true;
|
||||
hasActionBar = true;
|
||||
} else {
|
||||
showMoreMenuItem();
|
||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))
|
||||
|| SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording))) {
|
||||
HAS_ACTIONBAR = false;
|
||||
hasActionBar = false;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -413,22 +423,19 @@ public class EndToEndTestUtils {
|
||||
*
|
||||
* @param menuName the name of item
|
||||
* @param click true means need click this menu
|
||||
* @param checkActionBar whether this item may on the action bar
|
||||
* @return true if find this menu
|
||||
*/
|
||||
static boolean findMenuItem(String menuName, boolean click, boolean checkActionBar) {
|
||||
static boolean findMenuItem(String menuName, boolean click) {
|
||||
boolean findResult = false;
|
||||
|
||||
// Firstly find in action bar.
|
||||
if (checkActionBar) {
|
||||
Button button = getButtonOnScreen(menuName);
|
||||
if (button != null) {
|
||||
findResult = true;
|
||||
if (click) {
|
||||
SOLO.clickOnView(button);
|
||||
}
|
||||
return findResult;
|
||||
Button button = getButtonOnScreen(menuName);
|
||||
if (button != null) {
|
||||
findResult = true;
|
||||
if (click) {
|
||||
SOLO.clickOnView(button);
|
||||
}
|
||||
return findResult;
|
||||
}
|
||||
|
||||
showMoreMenuItem();
|
||||
@@ -451,17 +458,14 @@ public class EndToEndTestUtils {
|
||||
* Get more menu items operation is different for different Android OS.
|
||||
*/
|
||||
public static void showMoreMenuItem() {
|
||||
if (HAS_ACTIONBAR) {
|
||||
if (hasActionBar) {
|
||||
View moreButton = getMoreOptionView();
|
||||
if (moreButton == null) {
|
||||
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
|
||||
} else {
|
||||
if (moreButton != null) {
|
||||
SOLO.clickOnView(moreButton);
|
||||
}
|
||||
|
||||
} else {
|
||||
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
|
||||
return;
|
||||
}
|
||||
}
|
||||
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -475,7 +479,9 @@ public class EndToEndTestUtils {
|
||||
private static View getMoreOptionView() {
|
||||
ArrayList<View> allViews = SOLO.getViews();
|
||||
for (View view : allViews) {
|
||||
if (view instanceof ImageButton && view.getClass().getName().equals(MOREOPTION_CLASSNAME)) { return view; }
|
||||
if (view instanceof ImageButton && view.getClass().getName().equals(MOREOPTION_CLASSNAME)) {
|
||||
return view;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+12
-13
@@ -58,14 +58,11 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
||||
*/
|
||||
public void testExportAndImportTracks() {
|
||||
// Create a new track with 3 gps data.
|
||||
if (EndToEndTestUtils.isTrackListEmpty(false)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(3);
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(3, true);
|
||||
instrumentation.waitForIdleSync();
|
||||
// Create a empty track.
|
||||
EndToEndTestUtils.createSimpleTrack(0);
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
instrumentation.waitForIdleSync();
|
||||
// Delete all exported gpx and kml tracks.
|
||||
@@ -82,18 +79,19 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
||||
int trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
|
||||
|
||||
// No file to imported.
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true, false);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_no_file,
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_error_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.
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true);
|
||||
EndToEndTestUtils.SOLO
|
||||
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
|
||||
EndToEndTestUtils.GPX.toUpperCase()));
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.save_all_success));
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
// Check export file.
|
||||
assertEquals(gpxFilesNumber + trackNumber,
|
||||
EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
|
||||
@@ -103,11 +101,11 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
||||
gpxFilesNumber = EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length;
|
||||
trackNumber = EndToEndTestUtils.SOLO.getCurrentListViews().get(0).getCount();
|
||||
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true);
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
// Wait for the prefix of import success string is much faster than wait
|
||||
// the whole string.
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_success).split(
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_success_count).split(
|
||||
"%")[0]);
|
||||
// Check import tracks should be equal with the sum of trackNumber and
|
||||
// gpxFilesNumber;
|
||||
@@ -119,11 +117,12 @@ 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();
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_save_all), true);
|
||||
EndToEndTestUtils.SOLO
|
||||
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
|
||||
EndToEndTestUtils.KML.toUpperCase()));
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.save_all_success));
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
// Check export files.
|
||||
assertEquals(gpxFilesNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
|
||||
assertEquals(trackNumber, EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.KML).length);
|
||||
|
||||
+11
-5
@@ -16,9 +16,11 @@
|
||||
package com.google.android.apps.mytracks.endtoendtest;
|
||||
|
||||
import com.google.android.apps.mytracks.TrackListActivity;
|
||||
import com.google.android.maps.mytracks.R;
|
||||
|
||||
import android.app.Instrumentation;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Tests the function of go to my location.
|
||||
@@ -46,12 +48,16 @@ public class GoToMyLocationTest extends ActivityInstrumentationTestCase2<TrackLi
|
||||
* Tests the menu My Location.
|
||||
*/
|
||||
public void testGotoMyLocation() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(2);
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
EndToEndTestUtils.sendGps(30);
|
||||
View myLocation = EndToEndTestUtils.SOLO.getCurrentActivity()
|
||||
.findViewById(R.id.map_my_location);
|
||||
EndToEndTestUtils.SOLO.clickOnView(myLocation);
|
||||
if (!EndToEndTestUtils.SOLO.waitForText(
|
||||
activityMyTracks.getString(R.string.my_location_no_location), 1, 1000)) {
|
||||
// TODO How to verify the location is shown on the map.
|
||||
}
|
||||
|
||||
// TODO How to verify the location is shown on the map.
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -54,22 +54,19 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
|
||||
public void testSomeMenuItems() {
|
||||
// Menu in TrackListActivity.
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_aggregated_statistics),
|
||||
true, false);
|
||||
true);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.stats_total_distance));
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
instrumentation.waitForIdleSync();
|
||||
if(EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
EndToEndTestUtils.createSimpleTrack(1);
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
instrumentation.waitForIdleSync();
|
||||
// Menu in TrackDetailActivity.
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true,
|
||||
false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true);
|
||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||
.getString(R.string.sensor_state_last_sensor_time));
|
||||
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true);
|
||||
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));
|
||||
|
||||
+1
-4
@@ -40,10 +40,7 @@ public class SaveToSdCardTest extends ActivityInstrumentationTestCase2<TrackList
|
||||
instrumentation = getInstrumentation();
|
||||
activityMyTracks = getActivity();
|
||||
EndToEndTestUtils.setupForAllTest(instrumentation, activityMyTracks);
|
||||
if (EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(1);
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -58,7 +58,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
||||
* </ul>
|
||||
*/
|
||||
public void testSetting() {
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||
instrumentation.waitForIdleSync();
|
||||
// Rotate on the settings page.
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
@@ -111,43 +111,39 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests reseting all settings.
|
||||
* Tests the backup.
|
||||
*/
|
||||
public void testBackup() {
|
||||
// Delete all backup at first.
|
||||
EndToEndTestUtils.deleteExportedFiles(EndToEndTestUtils.BACKUPS);
|
||||
if (EndToEndTestUtils.isTrackListEmpty(false)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(3);
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(3, true);
|
||||
|
||||
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.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
|
||||
EndToEndTestUtils.SOLO
|
||||
.clickLongOnText(activityMyTracks.getString(R.string.settings_backup_now));
|
||||
.clickOnText(activityMyTracks.getString(R.string.settings_backup_now));
|
||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||
activityMyTracks.getString(R.string.sd_card_success_write_file), 0, 10000));
|
||||
activityMyTracks.getString(R.string.sd_card_save_success), 0, 100000));
|
||||
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));
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
instrumentation.waitForIdleSync();
|
||||
|
||||
// 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
|
||||
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_restore));
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||
activityMyTracks.getString(R.string.sd_card_success_read_file), 0, 10000));
|
||||
activityMyTracks.getString(R.string.sd_card_import_success), 0, 10000));
|
||||
// Check restore track.
|
||||
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.TRACK_NAME));
|
||||
}
|
||||
@@ -157,18 +153,18 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
||||
* 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));
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_recording));
|
||||
// Changes the setting of recording name.
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||
.getString(R.string.settings_recording_track_name));
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||
.getString(R.string.settings_recording_track_name_number_option));
|
||||
// Changes the setting of default activity.
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||
.getString(R.string.settings_recording_default_activity));
|
||||
EndToEndTestUtils.SOLO.enterText(0, DEFAULTACTIVITY);
|
||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
||||
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
|
||||
@@ -55,10 +55,7 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
|
||||
* menus in these views.
|
||||
*/
|
||||
public void testSwitchViewsAndMenusOfView() {
|
||||
if (EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
// Create a simple track.
|
||||
EndToEndTestUtils.createSimpleTrack(3);
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(3, false);
|
||||
|
||||
EndToEndTestUtils.SOLO.goBack();
|
||||
EndToEndTestUtils.SOLO.clickOnText(EndToEndTestUtils.TRACK_NAME);
|
||||
@@ -100,15 +97,13 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
|
||||
*/
|
||||
public void testSatelliteAndMapView() {
|
||||
instrumentation.waitForIdleSync();
|
||||
if(EndToEndTestUtils.isTrackListEmpty(true)) {
|
||||
EndToEndTestUtils.createSimpleTrack(1);
|
||||
}
|
||||
EndToEndTestUtils.createTrackIfEmpty(1, false);
|
||||
instrumentation.waitForIdleSync();
|
||||
// Check current mode.
|
||||
boolean isMapMode = true;
|
||||
// If can not find switch menu in top menu, click More menu.
|
||||
if (!EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_satellite_mode),
|
||||
false, false)) {
|
||||
false)) {
|
||||
isMapMode = false;
|
||||
}
|
||||
EndToEndTestUtils.showMoreMenuItem();
|
||||
@@ -126,7 +121,7 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
|
||||
}
|
||||
instrumentation.waitForIdleSync();
|
||||
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), false, false);
|
||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), false);
|
||||
instrumentation.waitForIdleSync();
|
||||
EndToEndTestUtils.rotateAllActivities();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user