forked from upstream-mirrors/OpenTracks
Merge heads
This commit is contained in:
+11
-13
@@ -35,7 +35,6 @@ import java.util.ArrayList;
|
|||||||
public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<TrackListActivity> {
|
public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<TrackListActivity> {
|
||||||
|
|
||||||
private static final String WAYPOINT_NAME = "testWaypoint";
|
private static final String WAYPOINT_NAME = "testWaypoint";
|
||||||
private static final String RELATIVE_STARTTIME_POSTFIX = "mins ago";
|
|
||||||
private Instrumentation instrumentation;
|
private Instrumentation instrumentation;
|
||||||
private TrackListActivity activityMyTracks;
|
private TrackListActivity activityMyTracks;
|
||||||
|
|
||||||
@@ -116,8 +115,8 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
|||||||
|
|
||||||
// If no account is binded with this device.
|
// If no account is binded with this device.
|
||||||
if (EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
if (EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.send_google_no_account_title), 1, 500)) {
|
.getString(R.string.send_google_no_account_title), 1, 10000)) {
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
} else {
|
} else {
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.generic_progress_title)));
|
.getString(R.string.generic_progress_title)));
|
||||||
@@ -129,7 +128,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
|||||||
// For we not sure the send will be successful, just check whether the result dialog is display.
|
// For we not sure the send will be successful, just check whether the result dialog is display.
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.share_track_share_url)));
|
.getString(R.string.share_track_share_url)));
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -148,6 +147,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
|||||||
|
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
EndToEndTestUtils.rotateAllActivities();
|
EndToEndTestUtils.rotateAllActivities();
|
||||||
|
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.generic_save));
|
||||||
sendKeys(KeyEvent.KEYCODE_DEL);
|
sendKeys(KeyEvent.KEYCODE_DEL);
|
||||||
ArrayList<EditText> editTexts = EndToEndTestUtils.SOLO.getCurrentEditTexts();
|
ArrayList<EditText> editTexts = EndToEndTestUtils.SOLO.getCurrentEditTexts();
|
||||||
|
|
||||||
@@ -212,14 +212,12 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
|||||||
public void testTrackStartTime() {
|
public void testTrackStartTime() {
|
||||||
// Delete all track first.
|
// Delete all track first.
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
|
|
||||||
// Reset all settings.
|
// Reset all settings.
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
EndToEndTestUtils.resetAllSettings(activityMyTracks, false);
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
|
|
||||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.track_list_empty_message)));
|
||||||
instrumentation.waitForIdleSync();
|
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
|
||||||
// Test should not show relative time.
|
// Test should not show relative time.
|
||||||
EndToEndTestUtils.startRecording();
|
EndToEndTestUtils.startRecording();
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
@@ -229,13 +227,13 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2<Tra
|
|||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertFalse(EndToEndTestUtils.SOLO.waitForText(RELATIVE_STARTTIME_POSTFIX, 1, 500));
|
assertFalse(EndToEndTestUtils.SOLO.waitForText(EndToEndTestUtils.RELATIVE_STARTTIME_POSTFIX, 1, 5000));
|
||||||
|
|
||||||
// Test should show relative time for createSimpleTrack would save a track
|
// Test should show relative time for createSimpleTrack would save a track
|
||||||
// name that is different with the start time.
|
// name that is different with the start time.
|
||||||
EndToEndTestUtils.createSimpleTrack(2);
|
EndToEndTestUtils.createSimpleTrack(2);
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(RELATIVE_STARTTIME_POSTFIX, 1, 5000));
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(EndToEndTestUtils.RELATIVE_STARTTIME_POSTFIX, 1, 5000));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
EndToEndTestUtils.rotateAllActivities();
|
EndToEndTestUtils.rotateAllActivities();
|
||||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
// There is no track now.
|
// There is no track now.
|
||||||
trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
||||||
@@ -74,7 +74,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
EndToEndTestUtils.GPX.toUpperCase()));
|
EndToEndTestUtils.GPX.toUpperCase()));
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.sd_card_save_error_no_track)));
|
.getString(R.string.sd_card_save_error_no_track)));
|
||||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,7 +89,8 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
|
|
||||||
EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(0));
|
EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(0));
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true);
|
||||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils
|
||||||
|
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
trackListView = EndToEndTestUtils.SOLO.getCurrentListViews();
|
||||||
int trackNumberNew = trackListView.get(0).getCount();
|
int trackNumberNew = trackListView.get(0).getCount();
|
||||||
@@ -102,15 +103,15 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
public void testDeleteOneTrackUnderRecording() {
|
public void testDeleteOneTrackUnderRecording() {
|
||||||
EndToEndTestUtils.startRecording();
|
EndToEndTestUtils.startRecording();
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_stop_recording),
|
assertTrue(EndToEndTestUtils.findMenuItem(
|
||||||
false));
|
activityMyTracks.getString(R.string.menu_stop_recording), false));
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete),
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true);
|
||||||
true);
|
EndToEndTestUtils
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_record_track),
|
assertTrue(EndToEndTestUtils.findMenuItem(
|
||||||
false));
|
activityMyTracks.getString(R.string.menu_record_track), false));
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(
|
assertTrue(EndToEndTestUtils.findMenuItem(
|
||||||
activityMyTracks.getString(R.string.menu_record_track), false));
|
activityMyTracks.getString(R.string.menu_record_track), false));
|
||||||
|
|||||||
+115
-52
@@ -37,6 +37,7 @@ import java.io.PrintStream;
|
|||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides utilities to smoke test.
|
* Provides utilities to smoke test.
|
||||||
@@ -68,9 +69,15 @@ public class EndToEndTestUtils {
|
|||||||
static final String MENU_MORE = "More";
|
static final String MENU_MORE = "More";
|
||||||
static String trackName;
|
static String trackName;
|
||||||
|
|
||||||
|
// Following is some check strings in English and Chinese
|
||||||
|
private static final HashMap<String, String> RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL = new HashMap<String, String>();
|
||||||
|
private static final HashMap<String, String> VIEW_MODE_ENGLISH_MULTILINGUAL = new HashMap<String, String>();
|
||||||
|
public static String RELATIVE_STARTTIME_POSTFIX = "";
|
||||||
|
public static String VIEW_MODE = "";
|
||||||
|
|
||||||
static Solo SOLO;
|
static Solo SOLO;
|
||||||
static Instrumentation INSTRUMENTATION;
|
static Instrumentation instrumentation;
|
||||||
static TrackListActivity ACTIVITYMYTRACKS;
|
static TrackListActivity activityMytracks;
|
||||||
// Check whether the UI has an action bar which is related with the version of
|
// Check whether the UI has an action bar which is related with the version of
|
||||||
// Android OS.
|
// Android OS.
|
||||||
static boolean hasActionBar = false;
|
static boolean hasActionBar = false;
|
||||||
@@ -79,6 +86,31 @@ public class EndToEndTestUtils {
|
|||||||
|
|
||||||
private EndToEndTestUtils() {}
|
private EndToEndTestUtils() {}
|
||||||
|
|
||||||
|
private static void checkLanguage() {
|
||||||
|
RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.put("es", "mins ago");
|
||||||
|
RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.put("de", "minute");
|
||||||
|
RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.put("fr", "Minuten");
|
||||||
|
RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.put("ar", "دقيقة");
|
||||||
|
RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.put("zh", "分钟前");
|
||||||
|
|
||||||
|
VIEW_MODE_ENGLISH_MULTILINGUAL.put("es", "mode");
|
||||||
|
VIEW_MODE_ENGLISH_MULTILINGUAL.put("de", "modus");
|
||||||
|
VIEW_MODE_ENGLISH_MULTILINGUAL.put("fr", "Mode");
|
||||||
|
VIEW_MODE_ENGLISH_MULTILINGUAL.put("ar", "وضع");
|
||||||
|
VIEW_MODE_ENGLISH_MULTILINGUAL.put("zh", "模式");
|
||||||
|
|
||||||
|
|
||||||
|
// Check the language, test in Chinese or English.
|
||||||
|
String deviceLanguage = instrumentation.getContext().getResources().getConfiguration().locale.getLanguage();
|
||||||
|
if (RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.get(deviceLanguage) != null) {
|
||||||
|
RELATIVE_STARTTIME_POSTFIX = RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.get(deviceLanguage);
|
||||||
|
VIEW_MODE = VIEW_MODE_ENGLISH_MULTILINGUAL.get(deviceLanguage);
|
||||||
|
} else {
|
||||||
|
RELATIVE_STARTTIME_POSTFIX = RELATIVE_STARTTIME_POSTFIX_MULTILINGUAL.get("es");
|
||||||
|
VIEW_MODE = VIEW_MODE_ENGLISH_MULTILINGUAL.get("es");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends Gps data to emulator.
|
* Sends Gps data to emulator.
|
||||||
*
|
*
|
||||||
@@ -134,27 +166,27 @@ public class EndToEndTestUtils {
|
|||||||
*/
|
*/
|
||||||
static void setupForAllTest(Instrumentation instrumentation, TrackListActivity activityMyTracks) {
|
static void setupForAllTest(Instrumentation instrumentation, TrackListActivity activityMyTracks) {
|
||||||
setIsEmulator();
|
setIsEmulator();
|
||||||
EndToEndTestUtils.INSTRUMENTATION = instrumentation;
|
EndToEndTestUtils.instrumentation = instrumentation;
|
||||||
EndToEndTestUtils.ACTIVITYMYTRACKS = activityMyTracks;
|
EndToEndTestUtils.activityMytracks = activityMyTracks;
|
||||||
EndToEndTestUtils.SOLO = new Solo(EndToEndTestUtils.INSTRUMENTATION,
|
EndToEndTestUtils.SOLO = new Solo(EndToEndTestUtils.instrumentation,
|
||||||
EndToEndTestUtils.ACTIVITYMYTRACKS);
|
EndToEndTestUtils.activityMytracks);
|
||||||
// Check if open MyTracks first time after install. If so, there would be a
|
// 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.
|
// welcome view with accept buttons. And makes sure only check once.
|
||||||
if (!EndToEndTestUtils.isCheckedFirstLaunch) {
|
if (!EndToEndTestUtils.isCheckedFirstLaunch) {
|
||||||
if ((EndToEndTestUtils.getButtonOnScreen(EndToEndTestUtils.ACTIVITYMYTRACKS
|
if ((EndToEndTestUtils.getButtonOnScreen(EndToEndTestUtils.activityMytracks
|
||||||
.getString(R.string.eula_accept)) != null)) {
|
.getString(R.string.eula_accept), false, false) != null)) {
|
||||||
EndToEndTestUtils.verifyFirstLaunch();
|
EndToEndTestUtils.verifyFirstLaunch();
|
||||||
} else if (EndToEndTestUtils.SOLO.waitForText(
|
} else if (EndToEndTestUtils.SOLO.waitForText(
|
||||||
// After reset setting, welcome page will show again.
|
// After reset setting, welcome page will show again.
|
||||||
ACTIVITYMYTRACKS.getString(R.string.welcome_title), 0, 500)) {
|
activityMytracks.getString(R.string.welcome_title), 0, 500)) {
|
||||||
resetPreferredUnits();
|
resetPreferredUnits();
|
||||||
}
|
}
|
||||||
|
checkLanguage();
|
||||||
EndToEndTestUtils.isCheckedFirstLaunch = true;
|
EndToEndTestUtils.isCheckedFirstLaunch = true;
|
||||||
EndToEndTestUtils.setHasActionBar();
|
EndToEndTestUtils.setHasActionBar();
|
||||||
} else if (EndToEndTestUtils.SOLO.waitForText(
|
} else if (EndToEndTestUtils.SOLO.waitForText(
|
||||||
// After reset setting, welcome page will show again.
|
// After reset setting, welcome page will show again.
|
||||||
ACTIVITYMYTRACKS.getString(R.string.welcome_title), 0, 500)) {
|
activityMytracks.getString(R.string.welcome_title), 0, 500)) {
|
||||||
resetPreferredUnits();
|
resetPreferredUnits();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,10 +201,10 @@ public class EndToEndTestUtils {
|
|||||||
* Checks if need reset preferred units.
|
* Checks if need reset preferred units.
|
||||||
*/
|
*/
|
||||||
private static void resetPreferredUnits() {
|
private static void resetPreferredUnits() {
|
||||||
EndToEndTestUtils.SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
|
getButtonOnScreen(activityMytracks.getString(R.string.generic_ok), true, true);
|
||||||
SOLO.waitForText(ACTIVITYMYTRACKS.getString(R.string.settings_stats_units_title));
|
SOLO.waitForText(activityMytracks.getString(R.string.settings_stats_units_title));
|
||||||
EndToEndTestUtils.SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
|
getButtonOnScreen(activityMytracks.getString(R.string.generic_ok), true, true);
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -191,12 +223,14 @@ public class EndToEndTestUtils {
|
|||||||
* Accepts terms and configures units.
|
* Accepts terms and configures units.
|
||||||
*/
|
*/
|
||||||
static void verifyFirstLaunch() {
|
static void verifyFirstLaunch() {
|
||||||
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.eula_accept));
|
getButtonOnScreen(activityMytracks.getString(R.string.eula_accept), true, true);
|
||||||
// Click for welcome.
|
if (SOLO.waitForText(activityMytracks.getString(R.string.generic_ok))) {
|
||||||
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
|
// Click for welcome.
|
||||||
// Click for choose units.
|
getButtonOnScreen(activityMytracks.getString(R.string.generic_ok), true, true);
|
||||||
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.generic_ok));
|
// Click for choose units.
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
getButtonOnScreen(activityMytracks.getString(R.string.generic_ok), true, true);
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -208,7 +242,7 @@ public class EndToEndTestUtils {
|
|||||||
static void createSimpleTrack(int numberOfGpsData) {
|
static void createSimpleTrack(int numberOfGpsData) {
|
||||||
startRecording();
|
startRecording();
|
||||||
EndToEndTestUtils.sendGps(numberOfGpsData);
|
EndToEndTestUtils.sendGps(numberOfGpsData);
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
stopRecording(true);
|
stopRecording(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,6 +262,7 @@ public class EndToEndTestUtils {
|
|||||||
View oneTrack = SOLO.getCurrentListViews().get(0).getChildAt(0);
|
View oneTrack = SOLO.getCurrentListViews().get(0).getChildAt(0);
|
||||||
trackName = (String) ((TextView) oneTrack.findViewById(R.id.list_item_name)).getText();
|
trackName = (String) ((TextView) oneTrack.findViewById(R.id.list_item_name)).getText();
|
||||||
if (isClick) {
|
if (isClick) {
|
||||||
|
SOLO.scrollUp();
|
||||||
SOLO.clickOnView(oneTrack);
|
SOLO.clickOnView(oneTrack);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -255,18 +290,18 @@ public class EndToEndTestUtils {
|
|||||||
*/
|
*/
|
||||||
static void startRecording() {
|
static void startRecording() {
|
||||||
if (hasActionBar) {
|
if (hasActionBar) {
|
||||||
Button startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
|
Button startButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_record_track), false, false);
|
||||||
// In case a track is recording.
|
// In case a track is recording.
|
||||||
if (startButton == null) {
|
if (startButton == null) {
|
||||||
stopRecording(true);
|
stopRecording(true);
|
||||||
startButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
|
startButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_record_track), false, false);
|
||||||
}
|
}
|
||||||
SOLO.clickOnView(startButton);
|
SOLO.clickOnView(startButton);
|
||||||
} else {
|
} else {
|
||||||
showMoreMenuItem();
|
showMoreMenuItem();
|
||||||
if (!SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))) {
|
if (!SOLO.searchText(activityMytracks.getString(R.string.menu_record_track))) {
|
||||||
// Check if in TrackDetailActivity.
|
// Check if in TrackDetailActivity.
|
||||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) {
|
if (SOLO.searchText(activityMytracks.getString(R.string.menu_play))) {
|
||||||
SOLO.goBack();
|
SOLO.goBack();
|
||||||
} else {
|
} else {
|
||||||
// In case a track is recording.
|
// In case a track is recording.
|
||||||
@@ -274,8 +309,8 @@ public class EndToEndTestUtils {
|
|||||||
showMoreMenuItem();
|
showMoreMenuItem();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track));
|
SOLO.clickOnText(activityMytracks.getString(R.string.menu_record_track));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,12 +321,12 @@ public class EndToEndTestUtils {
|
|||||||
*/
|
*/
|
||||||
static boolean isUnderRecording() {
|
static boolean isUnderRecording() {
|
||||||
if (hasActionBar) {
|
if (hasActionBar) {
|
||||||
return getButtonOnScreen(ACTIVITYMYTRACKS
|
return getButtonOnScreen(activityMytracks
|
||||||
.getString(R.string.menu_record_track)) == null;
|
.getString(R.string.menu_record_track), false, false) == null;
|
||||||
}
|
}
|
||||||
showMoreMenuItem();
|
showMoreMenuItem();
|
||||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))
|
if (SOLO.searchText(activityMytracks.getString(R.string.menu_record_track))
|
||||||
|| SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) {
|
|| SOLO.searchText(activityMytracks.getString(R.string.menu_play))) {
|
||||||
SOLO.goBack();
|
SOLO.goBack();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -302,18 +337,18 @@ public class EndToEndTestUtils {
|
|||||||
/**
|
/**
|
||||||
* Stops recoding track.
|
* Stops recoding track.
|
||||||
*
|
*
|
||||||
* @param isSave ture means should save this track
|
* @param isSave true means should save this track
|
||||||
*/
|
*/
|
||||||
static void stopRecording(boolean isSave) {
|
static void stopRecording(boolean isSave) {
|
||||||
if (hasActionBar) {
|
if (hasActionBar) {
|
||||||
SOLO.clickOnView(getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording)));
|
getButtonOnScreen(activityMytracks.getString(R.string.menu_stop_recording), false, true);
|
||||||
} else {
|
} else {
|
||||||
showMoreMenuItem();
|
showMoreMenuItem();
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording));
|
SOLO.clickOnText(activityMytracks.getString(R.string.menu_stop_recording));
|
||||||
}
|
}
|
||||||
if (isSave) {
|
if (isSave) {
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
EndToEndTestUtils.SOLO.waitForText(activityMytracks.getString(R.string.generic_save), 1, 5000);
|
||||||
// Make every track name is unique to make sure every check can be
|
// Make every track name is unique to make sure every check can be
|
||||||
// trusted.
|
// trusted.
|
||||||
EndToEndTestUtils.trackName = EndToEndTestUtils.TRACK_NAME_PREFIX
|
EndToEndTestUtils.trackName = EndToEndTestUtils.TRACK_NAME_PREFIX
|
||||||
@@ -323,7 +358,7 @@ public class EndToEndTestUtils {
|
|||||||
// Close soft keyboard.
|
// Close soft keyboard.
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
}
|
}
|
||||||
SOLO.clickLongOnText(ACTIVITYMYTRACKS.getString(R.string.generic_save));
|
SOLO.clickLongOnText(activityMytracks.getString(R.string.generic_save));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -366,25 +401,34 @@ public class EndToEndTestUtils {
|
|||||||
*/
|
*/
|
||||||
static void saveTrackToSdCard(String trackKind) {
|
static void saveTrackToSdCard(String trackKind) {
|
||||||
deleteExportedFiles(trackKind);
|
deleteExportedFiles(trackKind);
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
findMenuItem(ACTIVITYMYTRACKS.getString(R.string.menu_save), true);
|
findMenuItem(activityMytracks.getString(R.string.menu_save), true);
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
SOLO.clickOnText(trackKind.toUpperCase());
|
SOLO.clickOnText(trackKind.toUpperCase());
|
||||||
rotateAllActivities();
|
// rotateAllActivities();
|
||||||
SOLO.waitForText(ACTIVITYMYTRACKS.getString(R.string.generic_success_title));
|
SOLO.waitForText(activityMytracks.getString(R.string.generic_success_title));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if a button is existed in the screen.
|
* Checks if a button is existed in the screen.
|
||||||
*
|
*
|
||||||
* @param buttonName the name string of the button
|
* @param buttonName the name string of the button
|
||||||
|
* @param isWait whether wait the text
|
||||||
|
* @param isClick whether click the button if find it
|
||||||
* @return the button to search, and null means can not find the button
|
* @return the button to search, and null means can not find the button
|
||||||
*/
|
*/
|
||||||
static Button getButtonOnScreen(String buttonName) {
|
static Button getButtonOnScreen(String buttonName, boolean isWait,boolean isClick) {
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
if (isWait) {
|
||||||
|
SOLO.waitForText(buttonName);
|
||||||
|
}
|
||||||
ArrayList<Button> currentButtons = SOLO.getCurrentButtons();
|
ArrayList<Button> currentButtons = SOLO.getCurrentButtons();
|
||||||
for (Button button : currentButtons) {
|
for (Button button : currentButtons) {
|
||||||
String title = (String) button.getText();
|
String title = (String) button.getText();
|
||||||
if (title.equalsIgnoreCase(buttonName)) {
|
if (title.equalsIgnoreCase(buttonName)) {
|
||||||
|
if(isClick) {
|
||||||
|
SOLO.clickOnView(button);
|
||||||
|
}
|
||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -397,17 +441,17 @@ 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();
|
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), false, false);
|
||||||
Button stopButton = getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording));
|
Button stopButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_stop_recording), false, false);
|
||||||
if (startButton != null || stopButton != null) {
|
if (startButton != null || stopButton != null) {
|
||||||
hasActionBar = true;
|
hasActionBar = true;
|
||||||
} else {
|
} else {
|
||||||
showMoreMenuItem();
|
showMoreMenuItem();
|
||||||
if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))
|
if (SOLO.searchText(activityMytracks.getString(R.string.menu_record_track))
|
||||||
|| SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording))) {
|
|| SOLO.searchText(activityMytracks.getString(R.string.menu_stop_recording))) {
|
||||||
hasActionBar = false;
|
hasActionBar = false;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@@ -422,7 +466,7 @@ public class EndToEndTestUtils {
|
|||||||
*/
|
*/
|
||||||
static void rotateCurrentActivity() {
|
static void rotateCurrentActivity() {
|
||||||
EndToEndTestUtils.rotateActivity(SOLO.getCurrentActivity());
|
EndToEndTestUtils.rotateActivity(SOLO.getCurrentActivity());
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -434,7 +478,7 @@ public class EndToEndTestUtils {
|
|||||||
EndToEndTestUtils.rotateActivity(activity);
|
EndToEndTestUtils.rotateActivity(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
INSTRUMENTATION.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -448,11 +492,12 @@ public class EndToEndTestUtils {
|
|||||||
boolean findResult = false;
|
boolean findResult = false;
|
||||||
|
|
||||||
// Firstly find in action bar.
|
// Firstly find in action bar.
|
||||||
Button button = getButtonOnScreen(menuName);
|
Button button = getButtonOnScreen(menuName, false, false);
|
||||||
if (button != null) {
|
if (button != null) {
|
||||||
findResult = true;
|
findResult = true;
|
||||||
if (click) {
|
if (click) {
|
||||||
SOLO.clickOnView(button);
|
SOLO.clickOnView(button);
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
}
|
}
|
||||||
return findResult;
|
return findResult;
|
||||||
}
|
}
|
||||||
@@ -467,6 +512,7 @@ public class EndToEndTestUtils {
|
|||||||
|
|
||||||
if (findResult && click) {
|
if (findResult && click) {
|
||||||
SOLO.clickOnText(menuName);
|
SOLO.clickOnText(menuName);
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
} else {
|
} else {
|
||||||
SOLO.goBack();
|
SOLO.goBack();
|
||||||
}
|
}
|
||||||
@@ -537,4 +583,21 @@ public class EndToEndTestUtils {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets all settings of MyTracks.
|
||||||
|
*
|
||||||
|
* @param activityMyTracks current activity
|
||||||
|
* @param keepInSettingList whether keep in setting list or not
|
||||||
|
*/
|
||||||
|
public static void resetAllSettings(Activity activityMyTracks, boolean keepInSettingList) {
|
||||||
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||||
|
SOLO.waitForText(activityMyTracks.getString(R.string.settings_reset));
|
||||||
|
SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
|
||||||
|
getButtonOnScreen(activityMytracks.getString(R.string.generic_ok), true, true);
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
if (!keepInSettingList) {
|
||||||
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -84,7 +84,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
|||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_import), true);
|
||||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_error_no_file,
|
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_import_error_no_file,
|
||||||
FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX)));
|
FileUtils.buildExternalDirectoryPath(EndToEndTestUtils.GPX)));
|
||||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
|
|
||||||
// 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);
|
||||||
@@ -93,7 +93,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
|||||||
EndToEndTestUtils.GPX.toUpperCase()));
|
EndToEndTestUtils.GPX.toUpperCase()));
|
||||||
EndToEndTestUtils.rotateAllActivities();
|
EndToEndTestUtils.rotateAllActivities();
|
||||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
||||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
// Check export file.
|
// Check export file.
|
||||||
assertEquals(gpxFilesNumber + trackNumber,
|
assertEquals(gpxFilesNumber + trackNumber,
|
||||||
EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
|
EndToEndTestUtils.getExportedFiles(EndToEndTestUtils.GPX).length);
|
||||||
@@ -111,7 +111,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
|||||||
"%")[0]);
|
"%")[0]);
|
||||||
// Check import tracks should be equal with the sum of trackNumber and
|
// Check import tracks should be equal with the sum of trackNumber and
|
||||||
// gpxFilesNumber;
|
// gpxFilesNumber;
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertEquals(trackNumber + gpxFilesNumber, EndToEndTestUtils.SOLO.getCurrentListViews().get(0)
|
assertEquals(trackNumber + gpxFilesNumber, EndToEndTestUtils.SOLO.getCurrentListViews().get(0)
|
||||||
.getCount());
|
.getCount());
|
||||||
@@ -124,7 +124,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
|
|||||||
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
|
.clickOnText(String.format(activityMyTracks.getString(R.string.menu_save_format),
|
||||||
EndToEndTestUtils.KML.toUpperCase()));
|
EndToEndTestUtils.KML.toUpperCase()));
|
||||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.sd_card_save_success));
|
||||||
EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
// 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);
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
|
|||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true);
|
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.help_about));
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -84,8 +84,7 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
|
|||||||
public void testSearch() {
|
public void testSearch() {
|
||||||
EndToEndTestUtils.createSimpleTrack(1);
|
EndToEndTestUtils.createSimpleTrack(1);
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.SOLO.clickOnView(EndToEndTestUtils.getButtonOnScreen(activityMyTracks
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_search), true);
|
||||||
.getString(R.string.menu_search)));
|
|
||||||
ArrayList<EditText> editTexts = EndToEndTestUtils.SOLO.getCurrentEditTexts();
|
ArrayList<EditText> editTexts = EndToEndTestUtils.SOLO.getCurrentEditTexts();
|
||||||
EndToEndTestUtils.SOLO.enterText(editTexts.get(0), EndToEndTestUtils.trackName);
|
EndToEndTestUtils.SOLO.enterText(editTexts.get(0), EndToEndTestUtils.trackName);
|
||||||
sendKeys(KeyEvent.KEYCODE_ENTER);
|
sendKeys(KeyEvent.KEYCODE_ENTER);
|
||||||
|
|||||||
@@ -61,14 +61,8 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public void testChangeAndReset() {
|
public void testChangeAndReset() {
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
// Reset all settings.
|
||||||
instrumentation.waitForIdleSync();
|
EndToEndTestUtils.resetAllSettings(activityMyTracks, true);
|
||||||
// Rotate on the settings page.
|
|
||||||
EndToEndTestUtils.rotateAllActivities();
|
|
||||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.settings_reset));
|
|
||||||
// Reset all settings at first.
|
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
|
|
||||||
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok));
|
|
||||||
// Change a setting of Map.
|
// Change a setting of Map.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
@@ -96,12 +90,12 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
|
|
||||||
// Reset all settings.
|
// Reset all settings.
|
||||||
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.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
|
|
||||||
// Check settings.
|
// Check settings.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
.getString(R.string.settings_stats_units_title));
|
.getString(R.string.settings_stats_units_title), 1, 20000);
|
||||||
displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
displayCheckBoxs = EndToEndTestUtils.SOLO.getCurrentCheckBoxes();
|
||||||
assertEquals(useMetric, displayCheckBoxs.get(0).isChecked());
|
assertEquals(useMetric, displayCheckBoxs.get(0).isChecked());
|
||||||
|
|
||||||
@@ -132,33 +126,53 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
// Test just change preferred units when display CHART tab.
|
// Test just change preferred units when display CHART tab.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_chart_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_chart_tab));
|
||||||
EndToEndTestUtils.sendGps(3);
|
EndToEndTestUtils.sendGps(3);
|
||||||
ChangeStatsSettings(true, false);
|
ChangeStatsSettings(true, false, false, false, false);
|
||||||
EndToEndTestUtils.sendGps(3);
|
EndToEndTestUtils.sendGps(3);
|
||||||
EndToEndTestUtils.stopRecording(true);
|
EndToEndTestUtils.stopRecording(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests the change of stats settings during recording on stats view.
|
* Tests the change of stats settings during recording on stats tab.
|
||||||
*/
|
*/
|
||||||
public void testChangeStatsSettings_underRecording_stats() {
|
public void testChangeStatsSettings_underRecording_stats() {
|
||||||
EndToEndTestUtils.startRecording();
|
EndToEndTestUtils.startRecording();
|
||||||
// Test change preferred units and preferred rate when display STATS tab.
|
// Test change preferred units and preferred rate when display STATS tab.
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
EndToEndTestUtils.sendGps(3);
|
EndToEndTestUtils.sendGps(3);
|
||||||
ChangeStatsSettings(true, true);
|
ChangeStatsSettings(true, true, false, false, false);
|
||||||
EndToEndTestUtils.sendGps(3);
|
EndToEndTestUtils.sendGps(3);
|
||||||
EndToEndTestUtils.stopRecording(true);
|
EndToEndTestUtils.stopRecording(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests displaying elevation, grade and latitude and longitude information in Stats tab.
|
||||||
|
*/
|
||||||
|
public void testChangeStatsSettings_showExtraInfos() {
|
||||||
|
EndToEndTestUtils.createTrackIfEmpty(5, false);
|
||||||
|
EndToEndTestUtils.resetAllSettings(activityMyTracks, true);
|
||||||
|
ChangeStatsSettings(false, false, true, true, true);
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
|
.getString(R.string.stats_min_elevation)));
|
||||||
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
|
.getString(R.string.stats_min_grade)));
|
||||||
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
|
.getString(R.string.stats_latitude)));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes settings of preferred units and preferred rate.
|
* Changes settings of preferred units and preferred rate.
|
||||||
*
|
*
|
||||||
* @param changeUnits is change the preferred unit
|
* @param changeUnits is change the preferred unit
|
||||||
* @param changeRate is change the preferred rate
|
* @param changeRate is change the preferred rate
|
||||||
|
* @param changeElevation is change the elevation
|
||||||
|
* @param changeGrade is change the grade
|
||||||
|
* @param changeLatLong is change the latitude and longitude
|
||||||
*/
|
*/
|
||||||
private void ChangeStatsSettings(boolean changeUnits, boolean changeRate) {
|
private void ChangeStatsSettings(boolean changeUnits, boolean changeRate,
|
||||||
|
boolean changeElevation, boolean changeGrade, boolean changeLatLong) {
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
|
||||||
@@ -173,6 +187,18 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
.getString(R.string.settings_stats_rate_title));
|
.getString(R.string.settings_stats_rate_title));
|
||||||
}
|
}
|
||||||
|
if (changeElevation) {
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.stats_elevation));
|
||||||
|
}
|
||||||
|
if (changeGrade) {
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_stats_grade));
|
||||||
|
}
|
||||||
|
if (changeLatLong) {
|
||||||
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
|
.getString(R.string.settings_stats_coordinate));
|
||||||
|
}
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
}
|
}
|
||||||
@@ -225,7 +251,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete_all), true);
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
|
|
||||||
// Read from SD card.
|
// Read from SD card.
|
||||||
@@ -233,7 +259,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup));
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
|
||||||
.getString(R.string.settings_backup_restore));
|
.getString(R.string.settings_backup_restore));
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||||
activityMyTracks.getString(R.string.sd_card_import_success), 0, 10000));
|
activityMyTracks.getString(R.string.sd_card_import_success), 0, 10000));
|
||||||
// Check restore track.
|
// Check restore track.
|
||||||
@@ -260,7 +286,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
|
|||||||
// Close soft keyboard.
|
// Close soft keyboard.
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
}
|
}
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok));
|
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
|
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
|
|||||||
@@ -88,10 +88,7 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
|
|||||||
EndToEndTestUtils.showMoreMenuItem();
|
EndToEndTestUtils.showMoreMenuItem();
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
||||||
activityMyTracks.getString(R.string.menu_settings), 1, 3000));
|
activityMyTracks.getString(R.string.menu_settings), 1, 3000));
|
||||||
assertTrue(EndToEndTestUtils.SOLO.waitForText(
|
assertTrue(EndToEndTestUtils.SOLO.searchText(EndToEndTestUtils.VIEW_MODE, 1, true, false));
|
||||||
activityMyTracks.getString(R.string.menu_satellite_mode), 1, 0)
|
|
||||||
|| EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.menu_map_mode),
|
|
||||||
1, 0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user