UI untuk Banyak Aplikasi
Android mendukung pengujian antarmuka pengguna yang melibatkan lebih dari satu aplikasi. Mari kita anggap aplikasi kita memiliki opsi untuk berpindah dari aplikasi kita ke aplikasi perpesanan untuk mengirim pesan dan kemudian kembali ke aplikasi kita. Dalam skenario ini, kerangka kerja pengujian otomator UI membantu kita menguji aplikasi. Otomator UI dapat dianggap sebagai pendamping yang baik untuk framework pengujian espresso. Kita bisa mengeksploitasi opsi intending () dalam framework pengujian espresso sebelum memilih automator UI .
Instruksi Pengaturan
Android menyediakan automator UI sebagai plugin terpisah. Ini perlu dikonfigurasi di app / build.gradle seperti yang ditentukan di bawah ini,
dependencies {
...
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}
Alur Kerja untuk Menulis Kasus Uji
Mari kita pahami cara menulis kasus uji berbasis UI Automator ,
Dapatkan objek UiDevice dengan memanggil metode getInstance () dan meneruskan objek Instrumentation .
myDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
myDevice.pressHome();
Dapatkan objek UiObject menggunakan metode findObject () . Sebelum menggunakan metode ini, kita dapat membuka aplikasi uiautomatorviewer untuk memeriksa komponen UI aplikasi target karena memahami aplikasi target memungkinkan kita menulis kasus pengujian yang lebih baik.
UiObject button = myDevice.findObject(new UiSelector()
.text("Run")
.className("android.widget.Button"));
Simulasikan interaksi pengguna dengan memanggil metode UiObject . Misalnya, setText () untuk mengedit bidang teks dan klik () untuk mengaktifkan peristiwa klik pada tombol.
if(button.exists() && button.isEnabled()) {
button.click();
}
Terakhir, kami memeriksa apakah UI mencerminkan keadaan yang diharapkan.