Maestro Mobil UI Test Otomasyon Framework ile İOS ve Android Mobil Uygulama Testi | by Mustafa Yldz | Sep, 2024

Maestro’yu macOS, Linux veya Windows’a (WSL) yüklemek için aşağıdaki komutu çalıştırın:

curl -fsSL "https://get.maestro.mobile.dev" | bash

macOS kullanıyorsanız, yukarıdaki yükleme komut dosyası yerine Homebrew’i kullanabilirsiniz:

brew tap mobile-dev-inc/tap
brew install maestro

Test Ortamının Hazırlanması:

  • Simülatörler, mobil uygulamanızın belirli bir cihazda veya işletim sistemi sürümünde nasıl çalışacağını simüle eder. Testlerin bu sanal ortamda çalışması için simülatörlerin önceden açılmış ve hazır durumda olması gerekir
  • Android Simülatör: Android uygulamalarınızı test etmek için Android simülatörlerine ihtiyaç duyarsınız.(Android Studio)
  • iOS Simülatör: iOS uygulamalarını test etmek için Xcode içindeki iOS simülatörlerine ihtiyaç vardır.

Maestro Flows’unuzu yazmanıza yardımcı olan ve testi görsel olarak izlemenizi sağlayan bi tool’dur.

Maestro Studio’yu başlatmak için aşağıdaki komutu çalıştırın:

maestro studio
Maestro Studio’yu kullanırken simulatörü açmalısın sağ taraftaki simulatorlerde yaptığınız değişiklik studio’daki cihazdada aynı şekilde senkron şekilde çalışıyor soldaki element seçmek için, sağdaki simulator üzerinde eylem yaparak soldaki simulatörü istediğinz noktaya getirebilirsiniz.

Maestro Studio veya benzer bir test framework’ü kullanarak mobil uygulama testlerini çalıştırmak için simülatörlerin açık olması gerekir. Simülatörler, uygulamanın sanal bir cihaz üzerinde çalışmasını sağlar ve testlerin bu ortamda yürütülmesi için gereklidir.

Oluşturulan Test YAML dosyası

appId: com.saucelabs.mydemoapp.ios
---
- assertVisible: "Sauce Labs Backpack"
- assertVisible:
id: "Product Price"
index: 0
- tapOn: "Sauce Labs Backpack"
- assertVisible: "$ 29.99"
- assertVisible: "AddPlus Icons"
- tapOn: "AddPlus Icons"
- assertVisible: "2"
- assertVisible:
id: "AddToCart"
- tapOn:
id: "AddToCart"
- tapOn:
id: "Cart-tab-item"
- assertVisible: "$59.98"
- assertVisible: "2 Items"
- tapOn: "Remove Item"
- assertVisible:
id: "GoShopping"
- tapOn:
id: "GoShopping"
- assertVisible:
id: "title"

Bu test İOS uygulama için örnektir.

Videoda gösterildiği için testi save edip indirip herhangi bi IDE ile açıp appID yi girmelisiniz

appID yi bulmak için terminalde şu kodu çalıştırarak İOS uygulamanın simulatördeki ID sini bulabilirsiniz

xcrun simctl listapps booted

Videoda görüldüğü gibi appID yi bulup testin yaml dosyasına girerek appID yi ilgili yere gösterildiği gibi girerek testi artık Run edebiliyoruz :

maestro test "/Users/musti/Desktop/Test_Saucedemo_İOS/Flow.yaml"

Testi Run edip terminalde hemen sonuçları görebiliyoruz

Eğer test sonuç raporu istiyorsak HTML formatında alabiliyoruz, o zaman testi şu komut ile terminalden çalıştırmak gerekli :

maestro test "/Users/musti/Desktop/Test_Saucedemo_İOS/Flow.yaml" --format=HTML --output="/Users/musti/Desktop/Test_Saucedemo_İOS/test-report.html"
Test Raporu

Leave a Reply