UI Automator

UI Automator adalah framework pengujian UI yang cocok untuk pengujian UI fungsional lintas-aplikasi di seluruh sistem dan di aplikasi yang diinstal.

Framework pengujian UI Automator menyediakan serangkaian API untuk membuat pengujian UI yang melakukan interaksi pada aplikasi pengguna dan aplikasi sistem. UI Automator API memungkinkan Anda untuk melakukan operasi seperti membuka menu Setelan atau peluncur aplikasi di perangkat pengujian. Framework pengujian UI Automator sangat cocok untuk menulis pengujian otomatis bergaya black box, karena kode pengujian tidak bergantung pada detail implementasi internal dari aplikasi target.

Fitur utama framework pengujian UI Automator meliputi:

  • Sebuah penampil untuk memeriksa hierarki tata letak. Untuk informasi selengkapnya, lihat UI Automator Viewer.
  • API untuk memperoleh informasi status dan melakukan operasi pada perangkat target. Untuk informasi selengkapnya, lihat Mengakses status perangkat.
  • API yang mendukung pengujian UI lintas-aplikasi. Untuk informasi selengkapnya, lihat UI Automator API.

Penampil UI Automator

Alat uiautomatorviewer menyediakan GUI yang mudah digunakan untuk memindai dan menganalisis komponen UI yang sedang ditampilkan di perangkat Android. Anda dapat menggunakan fitur ini untuk memeriksa hierarki tata letak dan menampilkan properti komponen UI yang tampak di latar depan perangkat. Informasi ini memungkinkan Anda membuat pengujian yang lebih baik menggunakan UI Automator, misalnya dengan membuat pemilih UI yang cocok dengan properti tertentu yang terlihat.

Alat uiautomatorviewer terletak di direktori <android-sdk>/tools/bin.

Mengakses status perangkat

Framework pengujian UI Automator menyediakan class UiDevice untuk mengakses dan menjalankan operasi pada perangkat tempat aplikasi target dijalankan. Anda dapat memanggil metode untuk mengakses properti perangkat seperti orientasi ukuran layar saat ini. Class UiDevice juga memungkinkan Anda melakukan tindakan seperti:

  • Mengubah rotasi perangkat.
  • Menekan tombol hardware, seperti "menaikkan volume".
  • Menekan tombol Kembali, Layar Utama, atau Menu
  • Membuka menu notifikasi
  • Mengambil screenshot dari jendela saat ini.

Misalnya, untuk menyimulasikan penekanan tombol Layar utama, panggil metode UiDevice.pressHome().

UI Automator API

UI Automator API memungkinkan Anda untuk membuat pengujian yang kuat tanpa perlu mengetahui tentang detail implementasi dari aplikasi yang ditargetkan. Anda dapat menggunakan API ini untuk menangkap dan memanipulasi komponen UI pada beberapa aplikasi:

  • UiCollection: Menghitung elemen UI penampung untuk tujuan penghitungan, atau menargetkan sub-elemen dengan properti yang berdeskripsi konten atau teks yang terlihat.
  • UiObject: Menyatakan elemen UI yang terlihat pada perangkat.
  • UiScrollable: Menyediakan dukungan untuk penelusuran item dalam penampung UI yang dapat di-scroll.
  • UiSelector: Menyatakan kueri untuk satu atau beberapa elemen UI target pada perangkat.
  • Configurator: Memungkinkan Anda untuk menetapkan parameter utama dalam menjalankan pengujian UI Automator.

Misalnya, kode berikut menunjukkan bagaimana Anda dapat menulis skrip pengujian yang menampilkan peluncur aplikasi default di perangkat:

Kotlin

    device = UiDevice.getInstance(getInstrumentation())
    device.pressHome()

    // Bring up the default launcher by searching for a UI component
    // that matches the content description for the launcher button.
    val allAppsButton: UIObject = device.findObject(
            UiSelector().description("Apps"))

    // Perform a click on the button to load the launcher.
    allAppsButton.clickAndWaitForNewWindow()
    

Java

    device = UiDevice.getInstance(getInstrumentation());
    device.pressHome();

    // Bring up the default launcher by searching for a UI component
    // that matches the content description for the launcher button.
    UiObject allAppsButton = device
            .findObject(new UiSelector().description("Apps"));

    // Perform a click on the button to load the launcher.
    allAppsButton.clickAndWaitForNewWindow();
    

Untuk mempelajari lebih lanjut cara menggunakan UI Automator, lihat referensi API dan UI Pengujian untuk beberapa aplikasi.

Referensi lainnya

Untuk mengetahui informasi selengkapnya tentang penggunaan UI Automator dalam pengujian Android, lihat referensi berikut.

Contoh