Pengujian aplikasi mobile telah lama menjadi titik permasalahan bagi para pengembang, dengan solusi yang ada sering dikritik karena kompleks, rapuh, dan memakan waktu. Maestro, sebuah framework pengujian UI yang relatif baru, tampaknya mengubah persepsi tersebut berdasarkan umpan balik komunitas.
Dikembangkan oleh Mobile.dev, Maestro memposisikan dirinya sebagai framework pengujian UI yang paling sederhana dan efektif untuk aplikasi mobile maupun web. Yang membedakannya adalah pendekatannya dalam menangani frustrasi umum pengujian UI: ketidakstabilan, penundaan, dan proses penyiapan yang kompleks.
Penerimaan Pengembang
Komunitas pengembang telah menunjukkan sikap positif tentang pendekatan Maestro. Banyak pengguna melaporkan bahwa memulai dengan Maestro jauh lebih mudah dibandingkan alternatif seperti Appium. Seorang pengembang menggambarkannya jauh lebih baik daripada alat otomatisasi mobile lainnya, sementara yang lain menyebutkan bahwa tampaknya terlalu bagus untuk menjadi kenyataan setelah mencobanya dengan aplikasi Flutter.
Menginstal dan mencobanya untuk sampel aplikasi Flutter. Sejauh ini terlihat terlalu bagus untuk menjadi kenyataan :) Sangat mudah untuk memulai dan bereksperimen. Dan mengejutkan cepatnya.
Sentimen ini muncul berulang kali dalam diskusi, dengan para pengembang mengapresiasi hambatan masuk yang rendah. Sintaks YAML deklaratif framework ini telah disorot sebagai kekuatan, meskipun beberapa pengembang mempertanyakan apakah pendekatan ini mungkin membatasi untuk skenario pengujian yang lebih kompleks.
Fitur dan Pembeda
Pembeda utama Maestro termasuk toleransi bawaan untuk ketidakstabilan UI dan penundaan, iterasi cepat melalui tes yang diinterpretasikan (bukan dikompilasi), dan proses penyiapan yang sederhana. Framework ini secara otomatis menunggu konten dimuat tanpa memerlukan panggilan sleep() eksplisit, mengatasi salah satu sumber kerapuhan tes yang paling umum.
Di luar fungsionalitas intinya, Maestro baru-baru ini memperluas dukungan untuk pengujian web (saat ini dalam versi beta), memperluas daya tariknya di luar komunitas pengembangan mobile. Penambahan ini memungkinkan tim untuk berpotensi menstandardisasi pendekatan pengujian mereka di seluruh platform.
Fitur Utama Key Maestro
- Toleransi bawaan terhadap ketidakstabilan: Secara otomatis menangani elemen UI dan interaksi yang tidak stabil
- Penanganan penundaan otomatis: Tidak perlu panggilan sleep() yang eksplisit
- Iterasi cepat: Tes diinterpretasikan, bukan dikompilasi
- Sintaks YAML deklaratif: Definisi tes yang sederhana
- Pengaturan sederhana: Instalasi binary tunggal
- Dukungan platform: Mobile (iOS/Android) dan Web (beta)
- Kemampuan AI: Perintah assertWithAI dan extractTextWithAI
- Sumber terbuka: Gratis untuk digunakan, termasuk di lingkungan CI/CD
Integrasi AI dan Kekhawatiran Harga
Meskipun banyak pengguna memuji versi open-source Maestro, ada beberapa kekhawatiran tentang strategi penetapan harga perusahaan untuk fitur premium. Seorang pengguna menyebutkan bahwa tim mereka berhenti menggunakan Maestro setelah perusahaan memutuskan untuk fokus pada AI dan menaikkan harga untuk menyesuaikan.
Menanggapi hal tersebut, Leland Takamine, co-founder Mobile.dev, mengakui kekhawatiran ini dan menyebutkan bahwa perusahaan menawarkan diskon untuk startup. Dia juga menekankan bahwa versi open-source tetap gratis untuk digunakan, termasuk di lingkungan CI/CD, dengan banyak tim menjalankan Maestro di platform seperti GitHub Actions dan Bitrise.
Kemampuan AI yang direferensikan termasuk fitur seperti perintah assertWithAI dan extractTextWithAI, yang diposisikan Maestro sebagai alternatif yang berfokus pada keandalan dibandingkan beberapa alat pengujian berbasis AI yang bersaing.
Keterbatasan dan Pengembangan Masa Depan
Meskipun penerimaan positif, pengguna telah mengidentifikasi keterbatasan dalam implementasi Maestro saat ini. Seorang pengembang mencatat bahwa framework ini tidak mendukung koordinasi beberapa tes alur bersama-sama, seperti pengujian panggilan telepon antara dua perangkat. Ini menyoroti preferensi Maestro untuk alur tes yang mandiri.
Tim di balik Maestro tampaknya responsif terhadap umpan balik, dengan para co-founder yang aktif terlibat dengan komunitas. Ketika ditanya tentang kemampuan untuk mengendalikan perangkat iOS yang sebenarnya alih-alih simulator, mereka menunjukkan bahwa fitur ini sedang dikembangkan.
Seiring evolusi pengujian mobile dan web, pendekatan Maestro untuk menyederhanakan proses pengujian sambil mempertahankan keandalan tampaknya beresonansi dengan para pengembang. Tantangannya akan menjadi menyeimbangkan kesederhanaan yang dihargai pengguna dengan fitur-fitur canggih yang dibutuhkan aplikasi kompleks, sekaligus menavigasi lanskap kompetitif alat pengujian yang ditingkatkan AI.
Referensi: Maestro: Painless Mobile UI Automation