forked from upstream-mirrors/OpenTracks
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:
+10
-7
@@ -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();
|
||||||
|
|||||||
+76
-1
@@ -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));
|
||||||
|
|||||||
+17
-18
@@ -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);
|
||||||
|
|||||||
+5
-3
@@ -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
|
||||||
|
|||||||
+3
-7
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user