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:
youtaol
2012-08-31 17:08:41 +08:00
parent 90e621db1f
commit c8bcfe654b
4 changed files with 67 additions and 23 deletions
@@ -35,7 +35,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
private Instrumentation instrumentation;
private TrackListActivity activityMyTracks;
@TargetApi(8)
@TargetApi(16)
public DeleteTest() {
super(TrackListActivity.class);
}
@@ -114,11 +114,7 @@ public class DeleteTest extends ActivityInstrumentationTestCase2<TrackListActivi
EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_record_track), false));
instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_record_track), false));
assertFalse(EndToEndTestUtils.SOLO.getCurrentActivity().findViewById(R.id.track_list_stop_recording_button).isEnabled());
}
@Override
@@ -383,8 +383,11 @@ public class EndToEndTestUtils {
* Starts recoding track.
*/
static void startRecording() {
if (hasActionBar) {
View startButton = getButtonOnScreen(activityMytracks.getString(R.string.menu_record_track), false, false);
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);
// In case a track is recording.
if (startButton == null) {
stopRecording(true);
@@ -409,12 +412,53 @@ public class EndToEndTestUtils {
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.
*
* @return true if it is under recording.
*/
static boolean isUnderRecording() {
View startButton = SOLO.getCurrentActivity().findViewById(R.id.track_list_record_track_button);
if(startButton != null && startButton.isShown()) {
return false;
}
if (hasActionBar) {
return getButtonOnScreen(activityMytracks
.getString(R.string.menu_record_track), false, false) == null;
@@ -435,7 +479,10 @@ public class EndToEndTestUtils {
* @param isSave true means should save this track
*/
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);
} else {
showMenuItem();
@@ -624,15 +671,15 @@ public class EndToEndTestUtils {
return findResult;
}
showMenuItem();
findResult = SOLO.searchText(menuName);
findResult = SOLO.searchText(menuName, 1, true);
} else {
// Non-ICS phone.
SOLO.sendKey(KeyEvent.KEYCODE_MENU);
if (SOLO.getText(menuName) != null) {
findResult = true;
} else if (SOLO.searchText(MENU_MORE)) {
} else if (SOLO.searchText(MENU_MORE, 1, true)) {
SOLO.clickOnText(MENU_MORE);
findResult = SOLO.searchText(menuName);
findResult = SOLO.searchText(menuName, 1, true);
isMoreMenuOpened = true;
}
}
@@ -57,11 +57,6 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
// Start recording
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(
activityMyTracks.getString(R.string.menu_pause_track), false));
assertNotNull(EndToEndTestUtils.findMenuItem(
@@ -69,7 +64,7 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
EndToEndTestUtils.sendGps(gpsSignalNumber);
// Pause
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_pause_track), true);
EndToEndTestUtils.pauseRecording();
assertNotNull(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_record_track), false));
assertNotNull(EndToEndTestUtils.findMenuItem(
@@ -89,11 +84,6 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
// Start recording
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(
activityMyTracks.getString(R.string.menu_pause_track), false));
assertNotNull(EndToEndTestUtils.findMenuItem(
@@ -168,5 +158,15 @@ public class PauseRecordingTest extends ActivityInstrumentationTestCase2<TrackLi
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));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_map_tab));
EndToEndTestUtils.rotateAllActivities();
assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_settings), false));
assertTrue(EndToEndTestUtils.findMenuItem(EndToEndTestUtils.VIEW_MODE, false));