Mengambil screenshot dalam uji instrumentasi

Firebase Test Lab menyertakan library yang dapat digunakan untuk mengambil screenshot ketika menjalankan uji instrumentasi, misalnya pengujian yang ditulis menggunakan framework pengujian Espresso. Untuk menambahkan kemampuan ini ke pengujian Anda, download library cloudtestingscreenshotter_lib.aar.

Kemampuan mengambil screenshot sudah dimasukkan ke dalam APK uji, app-debug-test-unaligned.apk, untuk aplikasi contoh NotePad. Screenshot juga akan diambil ketika Anda menjalankan uji Robo. Petunjuk berikut ini berisi penjelasan mengenai cara menambahkan library screenshot ke aplikasi Anda dan cara memanggil library tersebut dari pengujian.

Setelah pengujian dijalankan, Anda dapat meninjau screenshot di Android Studio atau di Firebase console.

Menambahkan library screenshot ke project Anda

  1. Di Android Studio, buka tampilan Project dan klik kanan nama project Anda. Lalu, klik Baru > Direktori.

  2. Pada dialog Direktori Baru, ketik aars. Tindakan ini akan membuat direktori aars di root project uji Anda (sebagai direktori peer untuk folder app).

  3. Salin cloudtestingscreenshotter_lib.aar, lalu tempelkan ke folder aars.

  4. Di file build.gradle level root (level project) aplikasi, tambahkan referensi ke folder aars di setiap blok repositories:

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. Dalam direktori level teratas pada modul Anda (untuk aplikasi contoh NotePad, ini adalah direktori app), buka file build.gradle dan tambahkan dependensi pada cloudtestingscreenshotter_lib.aar ke level teratas blok dependencies:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. Di file AndroidManifest.xml, tentukan izin sistem untuk aplikasi Anda dengan menambahkan baris berikut ke dalam tag <manifest>. Jika Anda menguji di Android 10 (API level 29) atau versi yang lebih tinggi, hapus izin WRITE_EXTERNAL_STORAGE (aplikasi Anda tidak memerlukan izin ini untuk dapat membaca dan menulis screenshot ke perangkat).

    <manifest ... >
       <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.INTERNET"/>
       ...
    </manifest>
    

Mengambil screenshot dari pengujian Anda

Jika sewaktu-waktu Anda ingin mengambil screenshot selama pengujian, panggil metode ScreenShotter.takeScreenshot dari library cloudtestingscreenshotter_lib, dengan argumen pertama adalah label yang Anda gunakan untuk mengidentifikasi screenshot tersebut (main_screen_2 dalam contoh berikut):

Java

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);

Kotlin+KTX

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)

Melihat screenshot

Setelah pengujian selesai, Anda dapat membandingkan screenshot mana pun yang diambil saat pengujian dengan cara memilih elemen di hierarki hasil pengujian, lalu mengklik opsi Lihat Screenshot Melihat Screenshot.

Layar perbandingan screenshot

Anda dapat memilih dan membandingkan screenshot dari berbagai konfigurasi dengan cara berikut:

Tugas Tindakan
Beralih antara eksekusi pengujian. Gunakan menu drop-down di pojok kiri atas.

menu kasus uji
Beralih antara screenshot dalam suatu eksekusi pengujian. Gunakan tanda panah di pojok kanan atas.

pengalih screenshot
Menambahkan panel perbandingan screenshot tambahan ke tampilan saat ini. Klik Bandingkan.

Bandingkan
Memilih dimensi pengujian yang berbeda (jenis perangkat, orientasi, lokal, dll.). Pilih anggota dimensi baru dari daftar di bagian bawah screenshot.

Langkah berikutnya

Download aplikasi sampel NotePad.