Using Compose Testing + Espresso

This commit is contained in:
ifernandezdiaz
2025-06-26 10:34:59 -03:00
parent 5b012e1d23
commit a6ef2ea78d
4 changed files with 26 additions and 2 deletions

View File

@@ -293,6 +293,12 @@ dependencies {
testImplementation(libs.robolectric.robolectric)
testImplementation(libs.square.okhttp.mockwebserver)
testImplementation(libs.square.turbine)
androidTestImplementation(libs.androidx.uiautomator)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(libs.androidx.junit.ktx)
androidTestImplementation(libs.androidx.ui.test.junit4.android)
androidTestImplementation("androidx.test:runner:1.6.0")
androidTestImplementation("androidx.test:rules:1.6.0")
}
tasks {

View File

@@ -121,3 +121,14 @@
-dontwarn com.google.errorprone.annotations.CheckReturnValue
-dontwarn com.google.errorprone.annotations.Immutable
-dontwarn com.google.errorprone.annotations.RestrictedApi
################################################################################
# AndroidX Test Runner
################################################################################
# Keep the test runner classes
-keep class androidx.test.runner.** { *; }
-keep class androidx.test.internal.runner.** { *; }
-keep class androidx.test.ext.junit.** { *; }
-keep class androidx.test.ext.** { *; }
-keep class androidx.test.** { *; }

View File

@@ -16,7 +16,7 @@ import androidx.compose.ui.test.performClick
*/
abstract class Page(protected val composeTestRule: ComposeTestRule) {
companion object {
val TIMEOUT_MILLIS = 15000L
val TIMEOUT_MILLIS = 30000L
}
/**

View File

@@ -1,7 +1,10 @@
package e2e.tests
import androidx.compose.ui.test.*
import androidx.compose.ui.test.junit4.ComposeTestRule
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.junit4.createEmptyComposeRule
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.x8bit.bitwarden.MainActivity
import e2e.pageObjects.login.MainPage
@@ -13,7 +16,11 @@ import org.junit.runner.RunWith
class RealDeviceE2ETests {
@get:Rule
val composeTestRule = createAndroidComposeRule<MainActivity>()
val activityRule = ActivityScenarioRule(MainActivity::class.java)
// Workaround to find Compose UI elements on Espresso tests
@get:Rule
val composeTestRule: ComposeTestRule = createEmptyComposeRule()
@Test
fun testVaultLockUnlockFlow() {