- Cara termudah untuk mengotomatiskan pengujian UI aplikasi mobile
- Memiliki toleransi bawaan terhadap ketidakstabilan elemen UI
- Karena elemen UI tidak selalu berada di posisi yang diharapkan, mengetuk layar tidak selalu berhasil
- Dirancang untuk menerima dan menangani ketidakstabilan pada aplikasi mobile dan perangkat
- Memiliki toleransi bawaan terhadap delay
- Tidak perlu menambahkan pemanggilan
sleep() di dalam pengujian
- Mengetahui bahwa pemuatan konten (misalnya melalui jaringan) dapat memerlukan waktu, sehingga akan menunggu secara otomatis tetapi tidak lebih lama dari yang diperlukan
- Mendukung iterasi yang sangat cepat
- Pengujian diinterpretasikan sehingga tidak perlu dikompilasi
- Dapat terus memantau file pengujian dan menjalankannya kembali saat ada perubahan
- Menyediakan sintaks yang deklaratif namun kuat
- Pengujian didefinisikan dalam file
yaml
- Mudah dikonfigurasi
- Merupakan satu binary tunggal yang dapat berjalan di mana saja
Opini GN⁺
- Maestro adalah alat baru untuk otomatisasi pengujian aplikasi mobile yang bertujuan mengatasi keterbatasan alat yang sudah ada seperti Appium, Espresso, UIAutomator, dan XCTest. Khususnya, karena memiliki toleransi bawaan terhadap ketidakstabilan elemen UI dan delay, alat ini tampaknya dapat mengurangi masalah yang sering muncul saat menggunakan alat yang ada.
- Karena menggunakan sintaks deklaratif berbasis YAML, tampaknya bahkan engineer QA yang bukan developer pun dapat dengan mudah menulis test case. Namun, bila belum terbiasa dengan sintaks YAML, tetap ada biaya belajar.
- Appium saat ini digunakan secara luas sebagai alat otomatisasi pengujian aplikasi mobile. Appium memiliki keunggulan karena mendukung berbagai platform mobile dan bahasa pemrograman, tetapi juga memiliki kelemahan berupa tingkat kegagalan pengujian yang tinggi akibat masalah stabilitas. Perlu dilihat sejauh mana Maestro dapat mengatasi masalah Appium ini.
- Saat ini Maestro memiliki dokumentasi yang baik dan juga mengelola komunitas Slack, sehingga layak dipertimbangkan untuk diadopsi. Namun, karena masih merupakan versi awal, tampaknya diperlukan validasi yang memadai sebelum diterapkan di lingkungan produksi.
4 komentar
Setelah dicoba, ternyata cukup oke karena bisa dilakukan dengan cepat (dari setup sampai membuat file yaml untuk pengujian pertama hanya sekitar 1 jam).
Maestro itu simpel dan punya banyak kelebihan. Namun, di Android masih ada masalah untuk input bahasa Korea. https://github.com/mobile-dev-inc/maestro/issues/146
Hal lain yang agak disayangkan adalah eksekusinya tidak terlalu cepat dibandingkan alat pengujian lain. Biasanya alat pengujian berjalan sangat cepat tidak seperti pengguna sungguhan, jadi kalau
waittidak dirancang dengan cermat, ada masalah test gagal secara flaky. Maestro terasa lambat sampai-sampai terkesan seperti masalah itu diselesaikan dengan cara sekalian menunggu pelan-pelan. ^^;;;Di sisi lain, dalam web frontend testing, pendekatan yang memanfaatkan elemen aksesibilitas semakin populer, dan di mobile juga demikian. (lihat https://blog.banksalad.com/tech/test-in-banksalad-ios-2/)
Karena Maestro berfokus terutama pada text dan id, jadi sulit membedakan role seperti link, button, atau heading dengan nama "Daftar produk". Di web, bagian yang bisa diverifikasi dengan
aria-checked,aria-expanded, dan semacamnya juga terasa kurang.Menurut saya,
test-idjadi perlu diberi prefix dan semacamnya untuk mencegah bentrok id, dan pada akhirnya tetap merepotkan karena harus menguji lagi apakah elemen yang diambil dengan cara ini benar-benar merender text yang diharapkan.Terima kasih atas komentarnya yang penuh wawasan