From 466cf4a9502dab34f4e63d4469db87addbb43a19 Mon Sep 17 00:00:00 2001 From: agundawar Date: Fri, 14 Dec 2018 21:15:12 +0530 Subject: [PATCH] Integrating spoon screenshots with Espresso --- app/build.gradle | 18 ++++++++++++++++++ .../samplecalculator/EnsureInputTests.java | 13 +++++++++++++ .../samplecalculator/EnsureOperationTests.java | 14 ++++++++++++++ app/src/main/AndroidManifest.xml | 1 + 4 files changed, 46 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 4edff7c..7ffb1e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,16 @@ apply plugin: 'com.android.application' +apply plugin: 'spoon' + + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.stanfy.spoon:spoon-gradle-plugin:1.2.2' + } +} android { compileSdkVersion 26 @@ -27,4 +39,10 @@ dependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' + androidTestCompile 'com.squareup.spoon:spoon-client:1.7.1' +} + +spoon { + debug = true + adbTimeout = 30 } diff --git a/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureInputTests.java b/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureInputTests.java index 636c1e8..a812300 100644 --- a/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureInputTests.java +++ b/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureInputTests.java @@ -4,6 +4,7 @@ import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,6 +14,7 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; +import com.squareup.spoon.Spoon; /** * Espresso tests to ensure that editText box is updated appropriately @@ -27,16 +29,27 @@ public class EnsureInputTests { public ActivityTestRule activityRule = new ActivityTestRule(MainActivity.class); + private MainActivity mainActivity; + + @Before + public void setUp() { + mainActivity = activityRule.getActivity(); + } + @Test public void ensureSingleInputIsHandled() { + Spoon.screenshot(mainActivity, "initial_state"); onView(withId(R.id.buttonOne)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("1"))); + Spoon.screenshot(mainActivity, "post_multiple_btn_click"); } @Test public void ensureMultipleInputIsHandled() { + Spoon.screenshot(mainActivity, "initial_state"); onView(withId(R.id.buttonOne)).perform(click()); onView(withId(R.id.buttonTwo)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("12"))); + Spoon.screenshot(mainActivity, "post_multiple_btn_click"); } } diff --git a/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureOperationTests.java b/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureOperationTests.java index 999d7eb..9f9700d 100644 --- a/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureOperationTests.java +++ b/app/src/androidTest/java/com/sample/browserstack/samplecalculator/EnsureOperationTests.java @@ -4,6 +4,7 @@ import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,6 +14,7 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; +import com.squareup.spoon.Spoon; /** * Espresso tests to ensure that simple operations result in @@ -27,6 +29,14 @@ public class EnsureOperationTests { public ActivityTestRule activityRule = new ActivityTestRule(MainActivity.class); + private MainActivity mainActivity; + + @Before + public void setUp() { + mainActivity = activityRule.getActivity(); + } + + @Test public void ensureAdditionWorks() { onView(withId(R.id.buttonOne)).perform(click()); @@ -36,6 +46,7 @@ public void ensureAdditionWorks() { onView(withId(R.id.buttonOne)).perform(click()); onView(withId(R.id.buttonEqual)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("33"))); + Spoon.screenshot(mainActivity, "post_addition"); } @Test @@ -47,6 +58,7 @@ public void ensureSubtractionWorks() { onView(withId(R.id.buttonOne)).perform(click()); onView(withId(R.id.buttonEqual)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("11"))); + Spoon.screenshot(mainActivity, "post_subtraction"); } @Test @@ -57,6 +69,7 @@ public void ensureMultiplicationWorks() { onView(withId(R.id.buttonFive)).perform(click()); onView(withId(R.id.buttonEqual)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("60"))); + Spoon.screenshot(mainActivity, "post_multiplication"); } @Test @@ -67,5 +80,6 @@ public void ensureDivisionWorks() { onView(withId(R.id.buttonThree)).perform(click()); onView(withId(R.id.buttonEqual)).perform(click()); onView(withId(R.id.editText)).check(matches(withText("4"))); + Spoon.screenshot(mainActivity, "post_division"); } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9e0d2a8..69a6e9f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ +