- Mobil uygulamaların UI testlerini otomatikleştirmenin en kolay yolu
- UI öğelerindeki kararsızlığa karşı yerleşik toleransa sahiptir
- UI öğeleri her zaman beklenen konumda olmayabileceği için ekrana dokunmak her zaman çalışmaz
- Mobil uygulama ve cihazlardaki kararsızlığı kabul eder ve buna göre yanıt vermeye çalışır
- Gecikmelere karşı yerleşik toleransa sahiptir
- Testlere
sleep() çağrıları eklemeye gerek yoktur
- İçeriğin yüklenmesinin (ör. ağ üzerinden) zaman alabileceğini bilir, otomatik olarak bekler ama gerekenden uzun süre beklemez
- Çok hızlı iterasyon mümkündür
- Testler yorumlandığı için derlenmeleri gerekmez
- Test dosyalarını sürekli izleyebilir ve değişiklik olduğunda yeniden çalıştırabilir
- Bildirimsel ama güçlü bir sözdizimi sunar
- Testler
yaml dosyalarında tanımlanır
- Kurulumu basittir
- Her yerde çalışan tek bir binary'dir
GN⁺'nin görüşü
- Maestro, mobil uygulama test otomasyonu için yeni bir araç ve Appium, Espresso, UIAutomator, XCTest gibi mevcut araçların sınırlamalarını aşmayı hedefliyor. Özellikle UI öğelerindeki kararsızlığa ve gecikmelere karşı yerleşik tolerans sunması, mevcut araçların kullanımında ortaya çıkan sorunları azaltabilir gibi görünüyor.
- YAML tabanlı bildirimsel sözdizimi kullandığı için, geliştirici olmayan QA mühendisleri de test senaryolarını daha kolay yazabilir gibi görünüyor. Ancak YAML sözdizimine aşina olmayanlar için bir öğrenme maliyeti olabilir.
- Mobil uygulama test otomasyon araçları arasında Appium yaygın olarak kullanılıyor. Appium'un birden çok mobil platformu ve programlama dilini desteklemesi önemli bir avantaj, ancak kararlılık sorunları nedeniyle test başarısızlık oranı yüksek olabiliyor. Maestro'nun Appium'un bu sorunlarını ne kadar çözebileceğini görmek gerekecek.
- Şu anda Maestro'nun dokümantasyonu iyi durumda ve bir Slack topluluğu da işletiliyor; bu nedenle değerlendirmeye değer görünüyor. Ancak hâlâ erken aşamada olduğu için, production ortamında kullanmadan önce yeterli doğrulama yapılması gerekecek.
4 yorum
Deneyince oldukça hızlı yapılabildiği için güzel görünüyor (kurulumdan ilk test için YAML hazırlamaya kadar yaklaşık 1 saat içinde).
maestro basit ve güzel birçok yönü olan bir araç. Ancak Android tarafında hâlâ Korece giriş sorunu var. https://github.com/mobile-dev-inc/maestro/issues/146
Bir diğer eksik yanı da, diğer test araçlarına kıyasla hızlı çalışmaması. Genelde test araçları gerçek kullanıcılardan farklı olarak çok hızlı çalıştığı için,
waitadımını çok dikkatli tasarlamazsanız testlerin flaky şekilde başarısız olması gibi sorunlar oluyordu. Maestro ise sanki bunu "yavaşça bekleyerek" çözmeye karar vermiş gibi hissettirecek kadar yavaş. ^^;;;Bir yandan web frontend testlerinde erişilebilirlik öğelerini kullanan yaklaşım popülerlik kazanıyor; mobilde de durum böyle. ( https://blog.banksalad.com/tech/test-in-banksalad-ios-2/ bkz.)
Maestro daha çok text ve id odaklı olduğu için,
"상품 목록"adlı birlink,buttonya daheadinggibi rolleri ayırt etmek zor oluyordu. Web’dearia-checked,aria-expandedgibi özelliklerle doğrulanabilen kısımların burada eksik olması da üzücü.Bence
test-id, id çakışmalarını önlemek için prefix vb. eklemeyi gerektiriyor ve sonuçta bu şekilde alınan öğenin beklenen text’i gerçekten render edip etmediğini yeniden test etmek zorunda kalmak da zahmetliydi.İçgörü dolu yorumunuz için teşekkür ederiz