Skip to content
Snippets Groups Projects
Commit 37655d73 authored by Mohamed Metwalli's avatar Mohamed Metwalli
Browse files

Add View assertion to make sure Fragment is already displaying its views to...

Add View assertion to make sure Fragment is already displaying its views to avoid capturing blank screenshots
parent f96217f8
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.ui.onboarding.screenshot package de.rki.coronawarnapp.ui.onboarding.screenshot
import androidx.fragment.app.testing.launchFragmentInContainer import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.ui.onboarding.OnboardingFragment import de.rki.coronawarnapp.ui.onboarding.OnboardingFragment
...@@ -44,7 +48,8 @@ class OnboardingFragmentScreenshot : BaseUITest() { ...@@ -44,7 +48,8 @@ class OnboardingFragmentScreenshot : BaseUITest() {
@Test @Test
fun capture_screenshot() { fun capture_screenshot() {
launchFragmentInContainer<OnboardingFragment>(themeResId = R.style.AppTheme) launchFragmentInContainer<OnboardingFragment>(themeResId = R.style.AppTheme)
Thread.sleep(1000) // Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingFragment::class.simpleName) Screengrab.screenshot(OnboardingFragment::class.simpleName)
} }
} }
package de.rki.coronawarnapp.ui.onboarding.screenshot package de.rki.coronawarnapp.ui.onboarding.screenshot
import androidx.fragment.app.testing.launchFragmentInContainer import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.ui.onboarding.OnboardingNotificationsFragment import de.rki.coronawarnapp.ui.onboarding.OnboardingNotificationsFragment
...@@ -44,8 +48,8 @@ class OnboardingNotificationsFragmentScreenshot : BaseUITest() { ...@@ -44,8 +48,8 @@ class OnboardingNotificationsFragmentScreenshot : BaseUITest() {
@Test @Test
fun capture_screenshot() { fun capture_screenshot() {
launchFragmentInContainer<OnboardingNotificationsFragment>(themeResId = R.style.AppTheme) launchFragmentInContainer<OnboardingNotificationsFragment>(themeResId = R.style.AppTheme)
.onFragment { // Check any view to make sure screenshot is not blank
Screengrab.screenshot(OnboardingNotificationsFragment::class.simpleName) onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
} Screengrab.screenshot(OnboardingNotificationsFragment::class.simpleName)
} }
} }
package de.rki.coronawarnapp.ui.onboarding.screenshot package de.rki.coronawarnapp.ui.onboarding.screenshot
import androidx.fragment.app.testing.launchFragmentInContainer import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.ui.onboarding.OnboardingPrivacyFragment import de.rki.coronawarnapp.ui.onboarding.OnboardingPrivacyFragment
...@@ -44,8 +48,8 @@ class OnboardingPrivacyFragmentScreenshot : BaseUITest() { ...@@ -44,8 +48,8 @@ class OnboardingPrivacyFragmentScreenshot : BaseUITest() {
@Test @Test
fun capture_screenshot() { fun capture_screenshot() {
launchFragmentInContainer<OnboardingPrivacyFragment>(themeResId = R.style.AppTheme) launchFragmentInContainer<OnboardingPrivacyFragment>(themeResId = R.style.AppTheme)
.onFragment { // Check any view to make sure screenshot is not blank
Screengrab.screenshot(OnboardingPrivacyFragment::class.simpleName) onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
} Screengrab.screenshot(OnboardingPrivacyFragment::class.simpleName)
} }
} }
package de.rki.coronawarnapp.ui.onboarding.screenshot package de.rki.coronawarnapp.ui.onboarding.screenshot
import androidx.fragment.app.testing.launchFragmentInContainer import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.ui.onboarding.OnboardingTestFragment import de.rki.coronawarnapp.ui.onboarding.OnboardingTestFragment
...@@ -44,6 +48,8 @@ class OnboardingTestFragmentScreenshot : BaseUITest() { ...@@ -44,6 +48,8 @@ class OnboardingTestFragmentScreenshot : BaseUITest() {
@Test @Test
fun capture_screenshot() { fun capture_screenshot() {
launchFragmentInContainer<OnboardingTestFragment>(themeResId = R.style.AppTheme) launchFragmentInContainer<OnboardingTestFragment>(themeResId = R.style.AppTheme)
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingTestFragment::class.simpleName) Screengrab.screenshot(OnboardingTestFragment::class.simpleName)
} }
} }
package de.rki.coronawarnapp.ui.onboarding.screenshot package de.rki.coronawarnapp.ui.onboarding.screenshot
import androidx.fragment.app.testing.launchFragmentInContainer import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.ui.onboarding.OnboardingTracingFragment import de.rki.coronawarnapp.ui.onboarding.OnboardingTracingFragment
...@@ -44,8 +48,8 @@ class OnboardingTracingFragmentScreenshot : BaseUITest() { ...@@ -44,8 +48,8 @@ class OnboardingTracingFragmentScreenshot : BaseUITest() {
@Test @Test
fun capture_screenshot() { fun capture_screenshot() {
launchFragmentInContainer<OnboardingTracingFragment>(themeResId = R.style.AppTheme) launchFragmentInContainer<OnboardingTracingFragment>(themeResId = R.style.AppTheme)
.onFragment { // Check any view to make sure screenshot is not blank
Screengrab.screenshot(OnboardingTracingFragment::class.simpleName) onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
} Screengrab.screenshot(OnboardingTracingFragment::class.simpleName)
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment