diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOnboardingFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOnboardingFragmentTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..9405796513e6c152541a0b30c3f45f42e4dd8d2c
--- /dev/null
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOnboardingFragmentTest.kt
@@ -0,0 +1,55 @@
+package de.rki.coronawarnapp.ui.contactdiary
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import dagger.Module
+import dagger.android.ContributesAndroidInjector
+import de.rki.coronawarnapp.contactdiary.ui.onboarding.ContactDiaryOnboardingFragment
+import de.rki.coronawarnapp.contactdiary.ui.onboarding.ContactDiaryOnboardingFragmentViewModel
+import io.mockk.MockKAnnotations
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import testhelpers.BaseUITest
+import testhelpers.SystemUIDemoModeRule
+import testhelpers.launchFragment2
+import tools.fastlane.screengrab.locale.LocaleTestRule
+
+@RunWith(AndroidJUnit4::class)
+class ContactDiaryOnboardingFragmentTest : BaseUITest() {
+    @Rule
+    @JvmField
+    val localeTestRule = LocaleTestRule()
+
+    @get:Rule
+    val systemUIDemoModeRule = SystemUIDemoModeRule()
+
+    @Before
+    fun setup() {
+        MockKAnnotations.init(this, relaxed = true)
+
+        setupMockViewModel(
+            object : ContactDiaryOnboardingFragmentViewModel.Factory {
+                override fun create(): ContactDiaryOnboardingFragmentViewModel =
+                    ContactDiaryOnboardingFragmentViewModel()
+            }
+        )
+    }
+
+    @After
+    fun teardown() {
+        clearAllViewModels()
+    }
+
+    @Test
+    fun launch_fragment() {
+        launchFragment2<ContactDiaryOnboardingFragment>()
+    }
+}
+
+@Module
+abstract class ContactDiaryOnboardingFragmentTestModule {
+    @ContributesAndroidInjector
+    abstract fun contactDiaryOnboardingFragment(): ContactDiaryOnboardingFragment
+}
diff --git a/Corona-Warn-App/src/androidTest/java/testhelpers/FragmentTestModuleRegistrar.kt b/Corona-Warn-App/src/androidTest/java/testhelpers/FragmentTestModuleRegistrar.kt
index d8f85865286eebd115ee281a9275e9b678b297d1..24abcde429ee4dec6ce63fafaa816c1a8ccc8874 100644
--- a/Corona-Warn-App/src/androidTest/java/testhelpers/FragmentTestModuleRegistrar.kt
+++ b/Corona-Warn-App/src/androidTest/java/testhelpers/FragmentTestModuleRegistrar.kt
@@ -1,6 +1,7 @@
 package testhelpers
 
 import dagger.Module
+import de.rki.coronawarnapp.ui.contactdiary.ContactDiaryOnboardingFragmentTestModule
 import de.rki.coronawarnapp.ui.main.home.HomeFragmentTestModule
 import de.rki.coronawarnapp.ui.onboarding.OnboardingDeltaInteroperabilityFragmentTestModule
 import de.rki.coronawarnapp.ui.onboarding.OnboardingFragmentTestModule
@@ -33,7 +34,9 @@ import de.rki.coronawarnapp.ui.submission.SubmissionTestResultTestModule
         SubmissionTestResultConsentGivenTestModule::class,
         SubmissionSymptomIntroFragmentTestModule::class,
         SubmissionContactTestModule::class,
-        SubmissionQRScanFragmentModule::class
+        SubmissionQRScanFragmentModule::class,
+        // Contact Diary
+        ContactDiaryOnboardingFragmentTestModule::class
     ]
 )
 class FragmentTestModuleRegistrar
diff --git a/Corona-Warn-App/src/androidTest/java/testhelpers/TestAndroidModule.kt b/Corona-Warn-App/src/androidTest/java/testhelpers/TestAndroidModule.kt
new file mode 100644
index 0000000000000000000000000000000000000000..81093b7a7d4055e8562c823a34318640ac6b7c5b
--- /dev/null
+++ b/Corona-Warn-App/src/androidTest/java/testhelpers/TestAndroidModule.kt
@@ -0,0 +1,16 @@
+package testhelpers
+
+import android.content.Context
+import androidx.test.platform.app.InstrumentationRegistry
+import dagger.Module
+import dagger.Provides
+import de.rki.coronawarnapp.util.di.AppContext
+import javax.inject.Singleton
+
+@Module
+class TestAndroidModule {
+    @Provides
+    @Singleton
+    @AppContext
+    fun context(): Context = InstrumentationRegistry.getInstrumentation().targetContext
+}
diff --git a/Corona-Warn-App/src/androidTest/java/testhelpers/TestAppComponent.kt b/Corona-Warn-App/src/androidTest/java/testhelpers/TestAppComponent.kt
index 53c3c747ce83f218775dd3176b7479f25ed127b7..adc3a10ace099a3f9d7770d8b94605bced233747 100644
--- a/Corona-Warn-App/src/androidTest/java/testhelpers/TestAppComponent.kt
+++ b/Corona-Warn-App/src/androidTest/java/testhelpers/TestAppComponent.kt
@@ -11,7 +11,8 @@ import javax.inject.Singleton
     modules = [
         AndroidSupportInjectionModule::class,
         MockViewModelModule::class,
-        FragmentTestModuleRegistrar::class
+        FragmentTestModuleRegistrar::class,
+        TestAndroidModule::class
     ]
 )
 @Singleton
diff --git a/Corona-Warn-App/src/androidTest/java/testhelpers/TestExtensions.kt b/Corona-Warn-App/src/androidTest/java/testhelpers/TestExtensions.kt
index 601202d139449d7ad1265b5e91d36457724a9e2e..4ed236e7498ba989071f881aa568156aa99dc8fa 100644
--- a/Corona-Warn-App/src/androidTest/java/testhelpers/TestExtensions.kt
+++ b/Corona-Warn-App/src/androidTest/java/testhelpers/TestExtensions.kt
@@ -22,3 +22,14 @@ inline fun <reified F : Fragment> launchFragmentInContainer2(
     @StyleRes themeResId: Int = R.style.AppTheme,
     factory: FragmentFactory? = null
 ) = FragmentScenario.launchInContainer(F::class.java, fragmentArgs, themeResId, factory)
+
+/**
+ * Launches Fragment in Activity.
+ * Same as [androidx.fragment.app.testing.launchFragment] except that it defaults
+ * the theme to [R.style.AppTheme].
+ */
+inline fun <reified F : Fragment> launchFragment2(
+    fragmentArgs: Bundle? = null,
+    @StyleRes themeResId: Int = R.style.AppTheme,
+    factory: FragmentFactory? = null
+) = FragmentScenario.launch(F::class.java, fragmentArgs, themeResId, factory)