diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ee93b175798f5174f290b6df1de1e9cef203a89c
--- /dev/null
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt
@@ -0,0 +1,68 @@
+package de.rki.coronawarnapp.ui.main.home
+
+import de.rki.coronawarnapp.risk.RiskState
+import de.rki.coronawarnapp.tracing.TracingProgress
+import de.rki.coronawarnapp.tracing.states.IncreasedRisk
+import de.rki.coronawarnapp.tracing.states.LowRisk
+import de.rki.coronawarnapp.tracing.states.TracingDisabled
+import de.rki.coronawarnapp.tracing.states.TracingInProgress
+import de.rki.coronawarnapp.tracing.ui.homecards.IncreasedRiskCard
+import de.rki.coronawarnapp.tracing.ui.homecards.LowRiskCard
+import de.rki.coronawarnapp.tracing.ui.homecards.TracingDisabledCard
+import de.rki.coronawarnapp.tracing.ui.homecards.TracingProgressCard
+import org.joda.time.Instant
+
+object HomeData {
+
+    object Tracing {
+        val lowRiskItem = LowRiskCard.Item(
+            state = LowRisk(
+                riskState = RiskState.LOW_RISK,
+                isInDetailsMode = true,
+                lastExposureDetectionTime = Instant.now(),
+                allowManualUpdate = true,
+                daysWithEncounters = 1,
+                activeTracingDays = 1
+            ),
+            onCardClick = {},
+            onUpdateClick = {}
+        )
+
+        val increasedRiskItem = IncreasedRiskCard.Item(
+            state = IncreasedRisk(
+                riskState = RiskState.INCREASED_RISK,
+                isInDetailsMode = true,
+                lastExposureDetectionTime = Instant.now(),
+                allowManualUpdate = true,
+                daysWithEncounters = 1,
+                activeTracingDays = 1,
+                lastEncounterAt = Instant.now()
+            ),
+            onCardClick = {},
+            onUpdateClick = {}
+        )
+
+        val tracingDisabledItem = TracingDisabledCard.Item(
+            state = TracingDisabled(
+                riskState = RiskState.LOW_RISK,
+                isInDetailsMode = true,
+                lastExposureDetectionTime = Instant.now()
+            ),
+            onCardClick = {},
+            onEnableTracingClick = {}
+        )
+
+        val tracingProgressItem = TracingProgressCard.Item(
+            state = TracingInProgress(
+                riskState = RiskState.LOW_RISK,
+                isInDetailsMode = true,
+                tracingProgress = TracingProgress.Downloading
+            ),
+            onCardClick = {}
+        )
+    }
+
+    object Submission {
+
+    }
+}
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
index 35e498f2965d2145b33dc51eac20e0b67cdfad9f..98cfdb7a57391329c33bf6c7c6a634104b697b7e 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt
@@ -2,6 +2,8 @@ package de.rki.coronawarnapp.ui.main.home
 
 import androidx.fragment.app.testing.launchFragment
 import androidx.lifecycle.MutableLiveData
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.matcher.ViewMatchers.withId
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import dagger.Module
 import dagger.android.ContributesAndroidInjector
@@ -9,28 +11,17 @@ import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.appconfig.AppConfigProvider
 import de.rki.coronawarnapp.main.CWASettings
 import de.rki.coronawarnapp.notification.TestResultNotificationService
-import de.rki.coronawarnapp.risk.RiskState
 import de.rki.coronawarnapp.storage.TracingRepository
 import de.rki.coronawarnapp.submission.SubmissionRepository
 import de.rki.coronawarnapp.submission.ui.homecards.NoTest
 import de.rki.coronawarnapp.submission.ui.homecards.SubmissionStateProvider
 import de.rki.coronawarnapp.submission.ui.homecards.TestUnregisteredCard
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
-import de.rki.coronawarnapp.tracing.TracingProgress
-import de.rki.coronawarnapp.tracing.states.IncreasedRisk
-import de.rki.coronawarnapp.tracing.states.LowRisk
-import de.rki.coronawarnapp.tracing.states.TracingDisabled
-import de.rki.coronawarnapp.tracing.states.TracingInProgress
 import de.rki.coronawarnapp.tracing.states.TracingStateProvider
-import de.rki.coronawarnapp.tracing.ui.homecards.IncreasedRiskCard
-import de.rki.coronawarnapp.tracing.ui.homecards.LowRiskCard
-import de.rki.coronawarnapp.tracing.ui.homecards.TracingDisabledCard
-import de.rki.coronawarnapp.tracing.ui.homecards.TracingProgressCard
 import de.rki.coronawarnapp.tracing.ui.homecards.TracingStateItem
 import de.rki.coronawarnapp.tracing.ui.statusbar.TracingHeaderState
 import de.rki.coronawarnapp.ui.main.home.items.DiaryCard
 import de.rki.coronawarnapp.ui.main.home.items.FAQCard
-import de.rki.coronawarnapp.ui.main.home.items.HomeItem
 import de.rki.coronawarnapp.util.security.EncryptionErrorResetTool
 import de.rki.coronawarnapp.util.ui.SingleLiveEvent
 import io.mockk.MockKAnnotations
@@ -40,7 +31,6 @@ import io.mockk.impl.annotations.MockK
 import io.mockk.just
 import io.mockk.spyk
 import io.mockk.verify
-import org.joda.time.Instant
 import org.junit.After
 import org.junit.Before
 import org.junit.Rule
@@ -52,6 +42,7 @@ import testhelpers.Screenshot
 import testhelpers.SystemUIDemoModeRule
 import testhelpers.TestDispatcherProvider
 import testhelpers.launchFragmentInContainer2
+import testhelpers.recyclerScrollTo
 import tools.fastlane.screengrab.Screengrab
 import tools.fastlane.screengrab.locale.LocaleTestRule
 
@@ -80,21 +71,21 @@ class HomeFragmentTest : BaseUITest() {
     @Before
     fun setup() {
         MockKAnnotations.init(this, relaxed = true)
-
         viewModel = homeFragmentViewModelSpy()
-
         with(viewModel) {
+            every { observeTestResultToSchedulePositiveTestResultReminder() } just Runs
+            every { refreshRequiredData() } just Runs
             every { tracingHeaderState } returns MutableLiveData(TracingHeaderState.TracingActive)
+            every { showLoweredRiskLevelDialog } returns MutableLiveData()
             every { homeItems } returns MutableLiveData(emptyList())
-            every { refreshRequiredData() } just Runs
             every { popupEvents } returns SingleLiveEvent()
-            every { showLoweredRiskLevelDialog } returns MutableLiveData()
-            every { observeTestResultToSchedulePositiveTestResultReminder() } just Runs
         }
 
-        setupMockViewModel(object : HomeFragmentViewModel.Factory {
-            override fun create(): HomeFragmentViewModel = viewModel
-        })
+        setupMockViewModel(
+            object : HomeFragmentViewModel.Factory {
+                override fun create(): HomeFragmentViewModel = viewModel
+            }
+        )
     }
 
     @After
@@ -112,106 +103,45 @@ class HomeFragmentTest : BaseUITest() {
     @Screenshot
     @Test
     fun capture_screenshot_low_risk() {
-        val item = LowRiskCard.Item(
-            state = LowRisk(
-                riskState = RiskState.LOW_RISK,
-                isInDetailsMode = true,
-                lastExposureDetectionTime = Instant.now(),
-                allowManualUpdate = true,
-                daysWithEncounters = 1,
-                activeTracingDays = 1
-            ),
-            onCardClick = {},
-            onUpdateClick = {}
-        )
-
-        every { viewModel.homeItems } returns homeItemsLiveData(item)
-        launchFragmentInContainer2<HomeFragment>()
-        Thread.sleep(SCREENSHOT_DELAY_TIME)
-        Screengrab.screenshot(HomeFragment::class.simpleName)
+        every { viewModel.homeItems } returns itemsLiveData(HomeData.Tracing.lowRiskItem)
+        captureScreenshot()
     }
 
     @Screenshot
     @Test
     fun capture_screenshot_increased_risk() {
-        val item = IncreasedRiskCard.Item(
-            state = IncreasedRisk(
-                riskState = RiskState.INCREASED_RISK,
-                isInDetailsMode = true,
-                lastExposureDetectionTime = Instant.now(),
-                allowManualUpdate = true,
-                daysWithEncounters = 1,
-                activeTracingDays = 1,
-                lastEncounterAt = Instant.now()
-            ),
-            onCardClick = {},
-            onUpdateClick = {}
-        )
-
-        every { viewModel.homeItems } returns homeItemsLiveData(item)
-        launchFragmentInContainer2<HomeFragment>()
-        Thread.sleep(SCREENSHOT_DELAY_TIME)
-        Screengrab.screenshot(HomeFragment::class.simpleName)
+        every { viewModel.homeItems } returns itemsLiveData(HomeData.Tracing.increasedRiskItem)
+        captureScreenshot()
     }
 
     @Screenshot
     @Test
     fun capture_screenshot_tracing_disabled() {
-        val item = TracingDisabledCard.Item(
-            state = TracingDisabled(
-                riskState = RiskState.LOW_RISK,
-                isInDetailsMode = true,
-                lastExposureDetectionTime = Instant.now()
-            ),
-            onCardClick = {},
-            onEnableTracingClick = {}
-        )
-
         every { viewModel.tracingHeaderState } returns MutableLiveData(TracingHeaderState.TracingInActive)
-        every { viewModel.homeItems } returns homeItemsLiveData(item)
-        launchFragmentInContainer2<HomeFragment>()
-        Thread.sleep(SCREENSHOT_DELAY_TIME)
-        Screengrab.screenshot(HomeFragment::class.simpleName)
+        every { viewModel.homeItems } returns itemsLiveData(HomeData.Tracing.tracingDisabledItem)
+        captureScreenshot()
     }
 
     @Screenshot
     @Test
     fun capture_screenshot_tracing_progress_downloading() {
-        val item = TracingProgressCard.Item(
-            state = TracingInProgress(
-                riskState = RiskState.LOW_RISK,
-                isInDetailsMode = true,
-                tracingProgress = TracingProgress.Downloading
-            ),
-            onCardClick = {}
-        )
+        every { viewModel.homeItems } returns itemsLiveData(HomeData.Tracing.tracingProgressItem)
+        captureScreenshot()
+    }
 
-        every { viewModel.homeItems } returns homeItemsLiveData(item)
+    private fun captureScreenshot() {
+        val simpleName = HomeFragment::class.simpleName
         launchFragmentInContainer2<HomeFragment>()
         Thread.sleep(SCREENSHOT_DELAY_TIME)
-        Screengrab.screenshot(HomeFragment::class.simpleName)
-    }
+        Screengrab.screenshot(simpleName)
 
-    @Screenshot
-    @Test
-    fun capture_screenshot_tracing_progress_ENFIsCalculating() {
-        val item = TracingProgressCard.Item(
-            state = TracingInProgress(
-                riskState = RiskState.INCREASED_RISK,
-                isInDetailsMode = true,
-                tracingProgress = TracingProgress.ENFIsCalculating
-            ),
-            onCardClick = {}
-        )
-
-        every { viewModel.homeItems } returns homeItemsLiveData(item)
-        launchFragmentInContainer2<HomeFragment>()
+        onView(withId(R.id.recycler_view)).perform(recyclerScrollTo())
         Thread.sleep(SCREENSHOT_DELAY_TIME)
-        Screengrab.screenshot(HomeFragment::class.simpleName)
+        Screengrab.screenshot(simpleName.plus("2"))
     }
 
-    private fun homeItemsLiveData(tracingStateItem: TracingStateItem): MutableLiveData<List<HomeItem>> {
-        return MutableLiveData(
+    private fun itemsLiveData(tracingStateItem: TracingStateItem) =
+        MutableLiveData(
             listOf(
                 tracingStateItem,
                 TestUnregisteredCard.Item(NoTest, onClickAction = {}),
@@ -219,7 +149,6 @@ class HomeFragmentTest : BaseUITest() {
                 FAQCard.Item(onClickAction = { })
             )
         )
-    }
 
     private fun homeFragmentViewModelSpy() = spyk(
         HomeFragmentViewModel(