[android] #3919 - restore espresso tests

This commit is contained in:
Tobrun
2016-02-12 09:52:29 +01:00
parent 076f29ca30
commit a20225bbf1
5 changed files with 73 additions and 26 deletions

View File

@@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.maps;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,7 +30,7 @@ public class MapFragment extends Fragment {
private MapView mMap;
public static MapFragment newInstance(){
public static MapFragment newInstance() {
return new MapFragment();
}
@@ -94,7 +95,12 @@ public class MapFragment extends Fragment {
}
@NonNull
public void getMapAsync(@NonNull OnMapReadyCallback onMapReadyCallback){
mMap.getMapAsync(onMapReadyCallback);
public void getMapAsync(@NonNull final OnMapReadyCallback onMapReadyCallback) {
new Handler().post(new Runnable() {
@Override
public void run() {
mMap.getMapAsync(onMapReadyCallback);
}
});
}
}

View File

@@ -1,6 +1,7 @@
package com.mapbox.mapboxsdk.maps;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -29,7 +30,7 @@ public class SupportMapFragment extends Fragment {
private MapView mMap;
public static SupportMapFragment newInstance(){
public static SupportMapFragment newInstance() {
return new SupportMapFragment();
}
@@ -94,7 +95,12 @@ public class SupportMapFragment extends Fragment {
}
@NonNull
public void getMapAsync(@NonNull OnMapReadyCallback onMapReadyCallback){
mMap.getMapAsync(onMapReadyCallback);
public void getMapAsync(@NonNull final OnMapReadyCallback onMapReadyCallback) {
new Handler().post(new Runnable() {
@Override
public void run() {
mMap.getMapAsync(onMapReadyCallback);
}
});
}
}

View File

@@ -4,17 +4,18 @@ import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.LargeTest;
import com.mapbox.mapboxsdk.testapp.utils.DrawerUtils;
import com.mapbox.mapboxsdk.testapp.utils.GestureUtils;
import com.mapbox.mapboxsdk.testapp.utils.ScreenshotUtil;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.doubleClick;
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
/**
* Tests on MainActivity with screenshots
@@ -23,8 +24,6 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText;
@LargeTest
public class MainActivityScreenTest extends BaseTest {
private final static String HOME_BUTTON_STRING = "Navigate up";
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(
MainActivity.class);
@@ -44,23 +43,13 @@ public class MainActivityScreenTest extends BaseTest {
/*
* Take a screenshot of Mapbox Streets to monitor #1649
*/
@Test
public void testMapboxStreetsBlackAndWhite() {
// Click home and switch to Mapbox streets
onView(withContentDescription(HOME_BUTTON_STRING))
.perform(click());
onView(withText(R.string.styleMapboxStreets))
.perform(click());
// Zoom in
onView(withId(R.id.mainMapView))
.perform(doubleClick());
onView(withId(R.id.mainMapView))
.perform(doubleClick());
// Standard screenshot
takeNamedScreenshot(mActivity, "testMapboxStreetsBlackAndWhite");
DrawerUtils.openDrawer();
DrawerUtils.clickItem(R.string.styleEmerald);
GestureUtils.doubleClickGesture(R.id.mainMapView);
GestureUtils.doubleClickGesture(R.id.mainMapView);
takeNamedScreenshot(mActivity, "testEmeraldStyle");
}
}

View File

@@ -0,0 +1,29 @@
package com.mapbox.mapboxsdk.testapp.utils;
import android.support.annotation.StringRes;
import android.support.test.espresso.Espresso;
import android.support.test.espresso.action.ViewActions;
import android.support.test.espresso.matcher.ViewMatchers;
import com.mapbox.mapboxsdk.testapp.R;
import org.hamcrest.Matchers;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
public class DrawerUtils {
private final static String HOME_BUTTON_STRING = "Navigate up";
public static void openDrawer(){
onView(withContentDescription(HOME_BUTTON_STRING)).perform(click());
}
public static void clickItem(@StringRes int txtId){
Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.design_menu_item_text),
ViewMatchers.hasSibling(ViewMatchers.withText(txtId)))).perform(ViewActions.click());
}
}

View File

@@ -0,0 +1,17 @@
package com.mapbox.mapboxsdk.testapp.utils;
import android.support.annotation.IdRes;
import com.mapbox.mapboxsdk.testapp.R;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.doubleClick;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
public class GestureUtils {
public static void doubleClickGesture(@IdRes int id){
onView(withId(id)).perform(doubleClick());
}
}