Slide 1

Slide 1 text

Scalable UI testing solutions Google I/O 2 02 3 LT

Slide 2

Slide 2 text

Summary Espresso Device API Firebase Test Lab 
 with Gradle Managed Devices Compose Screenshot Test 2 https://www.youtube.com/watch?v=L 6 CSaH 0 kDnI

Slide 3

Slide 3 text

Espresso Device API 3

Slide 4

Slide 4 text

Foldable device 4

Slide 5

Slide 5 text

Con fi guration Change Con fi guration Change Android Emulator 33 . 1 . 10 Android Gradle Plugin 8 . 2 . 0 -alpha 04 https://developer.android.com/studio/preview/features#espresso- device-api androidx.test.espresso:espresso-device 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

Firebase Test Lab 
 with Gradle Managed Devices 7

Slide 8

Slide 8 text

8 Gradle Managed Devices Gradle AndroidTest 
 AVD /CI AGP 8 . 2 . 0 -alpha 01 
 Firebase Test Lab

Slide 9

Slide 9 text

9 Firebase

Slide 10

Slide 10 text

10 $ gcloud auth login $ gcloud config set project PROJECT_ID $ ./gradlew assembleDebugAndroidTest $ gcloud firebase test android run \ --type instrumentation \ --app app-debug-unaligned.apk \ --test app-debug-test-unaligned.apk \ --device model=Nexus6,version=21,locale=en,orientation=portrait \ --device model=Nexus7,version=19,locale=fr,orientation=landscape --client-details matrixLabel="Example matrix label"

Slide 11

Slide 11 text

Compose Screenshot Test 11

Slide 12

Slide 12 text

Screenshot test UI 12

Slide 13

Slide 13 text

13 Preview @Preview @Composable fun CardPreview() { //… }

Slide 14

Slide 14 text

Host-side screenshot test @Preview Composable AndroidTest 
 Android Gradle Plugin 8 . 2 . 0 14