Change the view tests as the new map view.

This commit is contained in:
youtaol
2012-11-07 15:46:00 +08:00
parent 653d2e97b0
commit 2361e28552
2 changed files with 30 additions and 59 deletions
@@ -20,6 +20,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.util.Log;
import android.widget.ListView; import android.widget.ListView;
import java.util.ArrayList; import java.util.ArrayList;
@@ -42,6 +43,7 @@ public class SensorTest extends ActivityInstrumentationTestCase2<TrackListActivi
private Instrumentation instrumentation; private Instrumentation instrumentation;
private TrackListActivity activityMyTracks; private TrackListActivity activityMyTracks;
private final String disableMessage= "Sensor test is disabled";
@Override @Override
protected void setUp() throws Exception { protected void setUp() throws Exception {
@@ -57,6 +59,7 @@ public class SensorTest extends ActivityInstrumentationTestCase2<TrackListActivi
*/ */
public void testConnectZephyrBluetoothSensor() { public void testConnectZephyrBluetoothSensor() {
if (!testSensor) { if (!testSensor) {
Log.i(EndToEndTestUtils.LOG_TAG, disableMessage);
return; return;
} }
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
@@ -79,6 +82,7 @@ public class SensorTest extends ActivityInstrumentationTestCase2<TrackListActivi
*/ */
public void testConnectPolarBluetoothSensor() { public void testConnectPolarBluetoothSensor() {
if (!testSensor) { if (!testSensor) {
Log.i(EndToEndTestUtils.LOG_TAG, disableMessage);
return; return;
} }
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
@@ -112,6 +116,7 @@ public class SensorTest extends ActivityInstrumentationTestCase2<TrackListActivi
* @return true means the sensor is connected with MyTracks * @return true means the sensor is connected with MyTracks
*/ */
private boolean checkSensorsStatus() { private boolean checkSensorsStatus() {
EndToEndTestUtils.instrumentation.waitForIdleSync();
EndToEndTestUtils.createTrackIfEmpty(0, false); EndToEndTestUtils.createTrackIfEmpty(0, false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_sensor_state), true);
return EndToEndTestUtils.SOLO.waitForText( return EndToEndTestUtils.SOLO.waitForText(
@@ -119,4 +124,10 @@ public class SensorTest extends ActivityInstrumentationTestCase2<TrackListActivi
EndToEndTestUtils.NORMAL_WAIT_TIME); EndToEndTestUtils.NORMAL_WAIT_TIME);
} }
@Override
protected void tearDown() throws Exception {
EndToEndTestUtils.SOLO.finishOpenedActivities();
super.tearDown();
}
} }
@@ -17,14 +17,10 @@ package com.google.android.apps.mytracks.endtoendtest;
import com.google.android.apps.mytracks.TrackListActivity; import com.google.android.apps.mytracks.TrackListActivity;
import com.google.android.apps.mytracks.fragments.MyTracksMapFragment; import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
import com.google.android.maps.MapView;
import com.google.android.maps.mytracks.R; 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.View;
import java.util.ArrayList;
/** /**
* Tests switching views and the menu list of each view. * Tests switching views and the menu list of each view.
@@ -49,11 +45,11 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
} }
/** /**
* Switches view from {@link MyTracksMapFragment} to @ ChartFragment} , then changes * Switches view from {@link MyTracksMapFragment} to @ ChartFragment} , then
* to @ StatsFragment} . Finally back to {@link MyTracksMapFragment}. And check some * changes to @ StatsFragment} . Finally back to {@link MyTracksMapFragment}.
* menus in these views. In MapFragment, the menu should contain satellite/map * And check some menus in these views. In MapFragment, the menu should
* mode. In ChartFragment and StatsFragment, the menu should not contain * contain satellite/map mode. In ChartFragment and StatsFragment, the menu
* satellite/map mode. * should not contain satellite/map mode.
*/ */
public void testSwitchViewsAndMenusOfView() { public void testSwitchViewsAndMenusOfView() {
EndToEndTestUtils.createTrackIfEmpty(3, true); EndToEndTestUtils.createTrackIfEmpty(3, true);
@@ -66,27 +62,21 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings),
false)); false));
assertFalse(EndToEndTestUtils.findMenuItem( assertFalse(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer),
activityMyTracks.getString(R.string.menu_satellite), false));
assertFalse(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map),
false)); false));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.track_detail_stats_tab));
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings),
false)); false));
assertFalse(EndToEndTestUtils.findMenuItem( assertFalse(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer),
activityMyTracks.getString(R.string.menu_satellite), false));
assertFalse(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map),
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(); EndToEndTestUtils.rotateAllActivities();
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings),
false)); false));
assertTrue(EndToEndTestUtils.findMenuItem( assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer),
activityMyTracks.getString(R.string.menu_satellite), false) false));
|| EndToEndTestUtils
.findMenuItem(activityMyTracks.getString(R.string.menu_map), false));
} }
/** /**
@@ -96,45 +86,15 @@ public class ViewsTest extends ActivityInstrumentationTestCase2<TrackListActivit
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
EndToEndTestUtils.createTrackIfEmpty(1, false); EndToEndTestUtils.createTrackIfEmpty(1, false);
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Check current mode. EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer), true);
boolean isMapMode = true; EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.menu_terrain));
// If can not find switch menu in top menu, click More menu.
if (!EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_satellite),
false)) {
isMapMode = false;
}
EndToEndTestUtils.showMenuItem();
// Switch to satellite mode if it's map mode now..
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
.getString(isMapMode ? R.string.menu_satellite : R.string.menu_map));
isMapMode = !isMapMode;
ArrayList<View> allViews = EndToEndTestUtils.SOLO.getViews();
for (View view : allViews) {
if (view instanceof MapView) {
assertEquals(isMapMode, !((MapView) view).isSatellite());
}
}
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), false)); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.menu_satellite));
// Switch back. instrumentation.waitForIdleSync();
EndToEndTestUtils.showMenuItem(); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_map_layer), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks // 2 for there are two matches. And the first match is a noise.
.getString(isMapMode ? R.string.menu_satellite : R.string.menu_map)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.menu_map), 2);
isMapMode = !isMapMode;
allViews = EndToEndTestUtils.SOLO.getViews();
for (View view : allViews) {
if (view instanceof MapView) {
assertEquals(isMapMode, !((MapView) view).isSatellite());
}
}
// Wait for the TrackDetailActivity, or the stop button will can not be
// found in next step.
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.track_detail_chart_tab),
0, EndToEndTestUtils.SHORT_WAIT_TIME);
} }
@Override @Override