[android] #3919 - restore espresso tests
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user