forked from upstream-mirrors/OpenTracks
Add method pauseRecording() and resumeRecording() in EndToEndTestUtils. Make some changes to make start, pause, resume, stop track recording can runs well on the new UI(Move these buttons down from action bar in TrackListActivity).
This commit is contained in:
@@ -35,7 +35,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
private Instrumentation instrumentation;
|
private Instrumentation instrumentation;
|
||||||
private TrackListActivity activityMyTracks;
|
private TrackListActivity activityMyTracks;
|
||||||
|
|
||||||
@TargetApi(8)
|
@TargetApi(16)
|
||||||
public DeleteTest() {
|
public DeleteTest() {
|
||||||
super(TrackListActivity.class);
|
super(TrackListActivity.class);
|
||||||
}
|
}
|
||||||
@@ -114,11 +114,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
|
|||||||
EndToEndTestUtils
|
EndToEndTestUtils
|
||||||
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
|
||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(
|
assertFalse(EndToEndTestUtils.SOLO.getCurrentActivity().findViewById(R.id.track_list_stop_recording_button).isEnabled());
|
||||||
activityMyTracks.getString(R.string.menu_record_track), false));
|
|
||||||
instrumentation.waitForIdleSync();
|
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(
|
|
||||||
activityMyTracks.getString(R.string.menu_record_track), false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+53
-6
@@ -383,8 +383,11 @@ public class EndToEndTestUtils {
|
|||||||
* Starts recoding track.
|
* Starts recoding track.
|
||||||
*/
|
*/
|
||||||
static void startRecording() {
|
static void startRecording() {
|
||||||
if (hasActionBar) {
|
View startButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_record_track_button);
|
||||||
View startButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_record_track), false, false);
|
if(startButton != null && startButton.isShown()) {
|
||||||
|
SOLO.clickOnView(startButton);
|
||||||
|
} else if (hasActionBar) {
|
||||||
|
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);
|
||||||
@@ -409,12 +412,53 @@ public class EndToEndTestUtils {
|
|||||||
instrumentation.waitForIdleSync();
|
instrumentation.waitForIdleSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pauses recoding track.
|
||||||
|
*/
|
||||||
|
static void pauseRecording() {
|
||||||
|
View pauseButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_record_track_button);
|
||||||
|
if(pauseButton != null && pauseButton.isShown()) {
|
||||||
|
SOLO.clickOnView(pauseButton);
|
||||||
|
} else if (hasActionBar) {
|
||||||
|
pauseButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_pause_track), false, false);
|
||||||
|
SOLO.clickOnView(pauseButton);
|
||||||
|
} else {
|
||||||
|
showMenuItem();
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
SOLO.clickOnText(activityMytracks.getString(R.string.menu_pause_track));
|
||||||
|
}
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resume recoding track.
|
||||||
|
*/
|
||||||
|
static void resumeRecording() {
|
||||||
|
View startButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_record_track_button);
|
||||||
|
if(startButton != null && startButton.isShown()) {
|
||||||
|
SOLO.clickOnView(startButton);
|
||||||
|
} else if (hasActionBar) {
|
||||||
|
startButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_record_track), false, false);
|
||||||
|
SOLO.clickOnView(startButton);
|
||||||
|
} else {
|
||||||
|
showMenuItem();
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
SOLO.clickOnText(activityMytracks.getString(R.string.menu_record_track));
|
||||||
|
}
|
||||||
|
instrumentation.waitForIdleSync();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the MyTracks is under recording.
|
* Checks if the MyTracks is under recording.
|
||||||
*
|
*
|
||||||
* @return true if it is under recording.
|
* @return true if it is under recording.
|
||||||
*/
|
*/
|
||||||
static boolean isUnderRecording() {
|
static boolean isUnderRecording() {
|
||||||
|
View startButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_record_track_button);
|
||||||
|
if(startButton != null && startButton.isShown()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (hasActionBar) {
|
if (hasActionBar) {
|
||||||
return getButtonOnScreen(activityMytracks
|
return getButtonOnScreen(activityMytracks
|
||||||
.getString(R.string.menu_record_track), false, false) == null;
|
.getString(R.string.menu_record_track), false, false) == null;
|
||||||
@@ -435,7 +479,10 @@ public class EndToEndTestUtils {
|
|||||||
* @param isSave true 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) {
|
View stopButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_stop_recording_button);
|
||||||
|
if(stopButton != null && stopButton.isShown() ) {
|
||||||
|
SOLO.clickOnView(stopButton);
|
||||||
|
} else if (hasActionBar) {
|
||||||
getButtonOnScreen(activityMytracks.getString(R.string.menu_stop_recording), false, true);
|
getButtonOnScreen(activityMytracks.getString(R.string.menu_stop_recording), false, true);
|
||||||
} else {
|
} else {
|
||||||
showMenuItem();
|
showMenuItem();
|
||||||
@@ -624,15 +671,15 @@ public class EndToEndTestUtils {
|
|||||||
return findResult;
|
return findResult;
|
||||||
}
|
}
|
||||||
showMenuItem();
|
showMenuItem();
|
||||||
findResult = SOLO.searchText(menuName);
|
findResult = SOLO.searchText(menuName, 1, true);
|
||||||
} else {
|
} else {
|
||||||
// Non-ICS phone.
|
// Non-ICS phone.
|
||||||
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
|
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
|
||||||
if (SOLO.getText(menuName) != null) {
|
if (SOLO.getText(menuName) != null) {
|
||||||
findResult = true;
|
findResult = true;
|
||||||
} else if (SOLO.searchText(MENU_MORE)) {
|
} else if (SOLO.searchText(MENU_MORE, 1, true)) {
|
||||||
SOLO.clickOnText(MENU_MORE);
|
SOLO.clickOnText(MENU_MORE);
|
||||||
findResult = SOLO.searchText(menuName);
|
findResult = SOLO.searchText(menuName, 1, true);
|
||||||
isMoreMenuOpened = true;
|
isMoreMenuOpened = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -57,11 +57,6 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
|
|||||||
|
|
||||||
// Start recording
|
// Start recording
|
||||||
EndToEndTestUtils.startRecording();
|
EndToEndTestUtils.startRecording();
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
|
||||||
activityMyTracks.getString(R.string.menu_pause_track), false));
|
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
|
||||||
activityMyTracks.getString(R.string.menu_stop_recording), false));
|
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
activityMyTracks.getString(R.string.menu_pause_track), false));
|
activityMyTracks.getString(R.string.menu_pause_track), false));
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
@@ -69,7 +64,7 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
|
|||||||
EndToEndTestUtils.sendGps(gpsSignalNumber);
|
EndToEndTestUtils.sendGps(gpsSignalNumber);
|
||||||
|
|
||||||
// Pause
|
// Pause
|
||||||
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_pause_track), true);
|
EndToEndTestUtils.pauseRecording();
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
activityMyTracks.getString(R.string.menu_record_track), false));
|
activityMyTracks.getString(R.string.menu_record_track), false));
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
@@ -89,11 +84,6 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
|
|||||||
|
|
||||||
// Start recording
|
// Start recording
|
||||||
EndToEndTestUtils.startRecording();
|
EndToEndTestUtils.startRecording();
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
|
||||||
activityMyTracks.getString(R.string.menu_pause_track), false));
|
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
|
||||||
activityMyTracks.getString(R.string.menu_stop_recording), false));
|
|
||||||
EndToEndTestUtils.SOLO.goBack();
|
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
activityMyTracks.getString(R.string.menu_pause_track), false));
|
activityMyTracks.getString(R.string.menu_pause_track), false));
|
||||||
assertNotNull(EndToEndTestUtils.findMenuItem(
|
assertNotNull(EndToEndTestUtils.findMenuItem(
|
||||||
@@ -168,5 +158,15 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
|
|||||||
assertEquals(expectResumeNumber, numberOfResumePoint);
|
assertEquals(expectResumeNumber, numberOfResumePoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void tearDown() throws Exception {
|
||||||
|
// In normally, the activities of MyTracks should be closed after every test is
|
||||||
|
// completed. But this case is different, send two go back event to make it will
|
||||||
|
// not block following tests.
|
||||||
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
|
EndToEndTestUtils.SOLO.goBack();
|
||||||
|
super.tearDown();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
|
|||||||
false));
|
false));
|
||||||
|
|
||||||
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab));
|
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab));
|
||||||
|
EndToEndTestUtils.rotateAllActivities();
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(
|
assertTrue(EndToEndTestUtils.findMenuItem(
|
||||||
activityMyTracks.getString(R.string.menu_settings), false));
|
activityMyTracks.getString(R.string.menu_settings), false));
|
||||||
assertTrue(EndToEndTestUtils.findMenuItem(EndToEndTestUtils.VIEW_MODE, false));
|
assertTrue(EndToEndTestUtils.findMenuItem(EndToEndTestUtils.VIEW_MODE, false));
|
||||||
|
|||||||
Reference in New Issue
Block a user