Bu belgede, mobil uygulamalar için manuel KG görevlerini otomatikleştiren ve sürekli entegrasyon (CI) ile lansman öncesi test stratejilerini etkinleştiren testler olan Robo komut dosyalarının nasıl kullanılacağı açıklanmaktadır. Örneğin, yaygın bir kullanıcı yolculuğunu test etmek veya kullanıcı arayüzüne (UI) kullanıcı adı ve şifre gibi belirli girişler sağlamak için Robo komut dosyalarını kullanabilirsiniz. Robo komut dosyaları, Robo testin bir özelliğidir.
Robo komut dosyalarıyla, uygulamanızdaki bir iş akışında ilerlerken kendinizi kaydeder, ardından bu kaydı Firebase konsoluna yükleyerek Robo testlerinde çalıştırırsınız. Komut dosyası ekli bir Robo testi çalıştırdığınızda Robo önce önceden komut verilmiş işlemlerinizi adım adım uygular, ardından uygulamayı normal bir şekilde keşfeder.
Robo komut dosyaları, test motoru olarak Robo testini kullanır. En temel haliyle Robo komut dosyası, metin girme "kullanıcı adı" ve ardından Tamam düğmesine dokunma gibi bir dizi kullanıcı arayüzü işleminden oluşur. Robo komut dosyaları, bir öğenin görünmesini bekleme, bir öğenin belirli bir noktasına dokunma ve Android Debug Bridge (adb
) kabuk komutlarını yürütme gibi işlemleri de içerebilir.
Robo komut dosyaları, geleneksel test çerçevelerine kıyasla aşağıdaki avantajları sunar:
Kapasite | Açıklama |
Son derece sağlam | Robo komut dosyaları, uygulama sürümleri arasındaki önemli yapısal ve davranışsal farklılıkların yanı sıra uygulamanın kararsızlığını tolere edebilir. |
Açık uçlu | Robo komut dosyası tamamlandıktan sonra temel Robo testi devreye girerek uygulamayı test etmeye devam edebilir. Bu devamlı test yaklaşımı, çeşitli önemli kullanım alanlarını mümkün kılar. Örneğin, özel bir oturum açma akışı gerçekleştirerek bir uygulamayı belirli bir duruma getirmek için Robo komut dosyası kullanabilirsiniz. |
Kayıt Özellikli | Robo komut dosyalarını manuel olarak kodlamanız gerekmez. Android Studio'daki Robo komut dosyası kaydedici kullanılarak kaydedilebilir. Robo komut dosyaları oluşturmak veya değiştirmek için genellikle mobil geliştirme bilgisi gerekmez. |
Esnek | Robo komut dosyaları, oyunlarda yaygın olarak kullanılan yerel olmayan kullanıcı arayüzü öğeleriyle etkileşimde bulunabilir. |
Robo komut dosyaları, Robo testi sırasında koşullu olarak tetiklenir. Bu sayede kullanıcılar, Robo'nun davranışını artırabilir (genellikle daha fazla kapsama alanı elde etmek veya belirli işlevleri hedeflemek için). Geleneksel test çerçevelerinin aksine, Robo komut dosyaları aşağıdakileri destekler:
- Çeşitli tetikleme koşulları (ör. belirli bir uygulama paketinin adının etkin olması veya olmaması ya da belirli bir öğenin ekranda gösterilmesi veya gösterilmemesi).
- Yürütme kontrolleri (ör. maksimum yürütme sayısı, öncelik, ilgili tarama aşaması).
- Alışılmadık işlem türleri (koşullu, öğe yoksayan, ekran kapatan).
Kolayca korunabildikleri için mümkün olduğunda Robo komut dosyalarını kullanmanızı öneririz. Örneğin, Robo komut dosyası kullanarak şunları yapabilirsiniz:
- Bir uygulamanın işlevselliğinin temelini anlamak için önemli iş akışlarında gezinin. Örneğin, oturum açma işlemi gerçekleştirebilir, ilk başlatmadan sonra uygulamanın durumunu ayarlayabilir ve yeni bir kullanıcı kaydedebilirsiniz.
- Robo test süresinden en iyi şekilde yararlanmak için Robo'yu uygulamanın belirli bir bölümüne odaklayın. Robo komut dosyası, Robo test'i uygulamanın ilgili bölümüne yönlendirir. Burada Robo test, tam otomatik taramaya devam eder.
- Analiz yapmak için bir uygulamayı belirli bir duruma veya ekrana getirin. Örneğin, uygulama içi mesajı, gizlilik politikasını veya oyunun belirli bir seviyesini analiz etmek için bu işlemi yapabilirsiniz.
- Robo testiyle veya Robo testi olmadan uçtan uca bir enstrümantasyon testi gerçekleştirin. Robo komut dosyası tamamlandıktan sonra tam otomatik taramaya devam edin.
Aşağıdaki işlemleri yapmak için daha gelişmiş Robo komut dosyası özelliklerini kullanın:
- Robo, test edilen uygulamayı taramaya başlamadan önce veya tarama tamamlandıktan sonra işlemler gerçekleştirin. Örneğin, taramadan önce test edilen uygulama verilerini temizleyin ya da cihaz ayarlarını değiştirin.
- Bir tarama sırasında Robo davranışının bazı yönlerini değiştirme, özellikle:
- Robo'nun bazı kullanıcı arayüzü widget'larını veya uygulama ekranlarını yoksaymasını sağlayın.
- Robo'nun belirli bir ekrandan geri giderken gerçekleştireceği özel bir işlem sağlayın.
- Robo'nun, tarama sırasında belirli bir uygulama ekranıyla karşılaştığında belirli işlemleri gerçekleştirmesini sağlayın.
- Robo'nun tarama işlemini nasıl gerçekleştireceğini tamamen özelleştirin. Örneğin, tarama boyunca test edilen uygulamayı arka planda tutmak için koşullu ve koşulsuz işlemlerin bir kombinasyonunu kullanın. Bu sırada cihazda değişiklikler yapın ve yol boyunca görünen tüm pop-up iletişim kutularını kapatın.
Robo komut dosyalarının her tür testi değiştirmediğini unutmayın. Uygulamanızdaki düşük seviyeli mantık hatalarını yakalamak için yine birim testlerine ihtiyacınız vardır. Bu testler genellikle Android veya iOS ortamı gerektirmez. Robo komut dosyası testlerini, işletme mantığı hakkında belirli ve ayrıntılı onaylar içerebilen hedefli enstrümantasyon testleriyle desteklemenizi öneririz. Bu onaylar en iyi şekilde kodda ifade edilir.
Android Studio'da Test Lab kullanarak Robo komut dosyası kaydetme
Android Studio'daki Robo komut dosyası kaydedici, cihazınızda doğrudan uygulamayla etkileşim kurarak Robo komut dosyaları kaydetmenize olanak tanır. Android Studio'da Firebase aracını kullanarak Robo komut dosyası oluşturmaya başlamak için aşağıdaki talimatları uygulayın:
Android Studio'yu açın ve Araçlar -> Firebase'i seçin.
Firebase bölmesinde Record Robo Script and Use it to Guide Robo Test'i (Robo Komut Dosyası Kaydetme ve Robo Testine Rehberlik Etmek İçin Kullanma) tıklayın.
Robo komut dosyası kaydet'i tıklayın. Dağıtım hedefi seçin iletişim kutusu gösterilir.
Robo senaryosunu kaydetmek istediğiniz cihazı seçin.
Robo komut dosyasını cihazda kaydettikten sonra dosyayı istediğiniz konumda JSON dosyası olarak kaydedin.
Firebase konsolunda Test Lab sayfasını açın ve JSON komut dosyası ile uygulama APK'sını yükleyin.
Devam düğmesini tıklayın. Cihazı ve API düzeyini seçmeniz istenir. Test komut dosyası tamamlandıktan sonra Test Lab, test raporunu oluşturur.
(İsteğe bağlı) Test raporunun ve videonun logcat'ini kopyalamak veya indirmek için Kaynak Dosyaları Görüntüle'yi tıklayın.
Varsayılan olarak, Robo komut dosyası sağlamlık mekanizmaları, komut dosyasının erken başarısız olmasını engeller.
strict
yürütme modunu seçerseniz ve bir Robo komut dosyası herhangi bir noktada başarısız olursa,
Test Lab komut dosyasındaki tüm sonraki adımları bırakır ve normal bir Robo taramasına devam eder. Robo komut dosyalarının başarısız olmasının en sık karşılaşılan nedeni, Robo'nun ekranda gerekli bir öğeyi bulamamasıdır. Başarısızlıkları önlemek için uygulamanızda gezinmenin tahmin edilebilir olduğundan ve ekranlarınızın deterministik bir sırada gösterildiğinden emin olun.
Test Lab'da Robo komut dosyası çalıştırma
Test Lab içinde Robo komut dosyası çalıştırmak için aşağıdaki talimatları uygulayın:
Firebase konsolunda Test Lab sayfasını açın.
Uygulamanın APK'sını veya AAB'sini Uygulama APK'sı veya AAB alanı'na yükleyin.
Kaydettiğiniz veya manuel olarak oluşturduğunuz Robo komut dosyası dosyanızı Robo komut dosyası (isteğe bağlı) alanına yükleyin.
Yerel Robo testi çalıştırmasına Robo komut dosyası sağlama
Yerel bir Robo test çalıştırmasına Robo komut dosyası sağlamak için aşağıdaki Robo testi seçeneğini kullanın:
--robo-script-file <robo-script-path>
<robo-script-path>
yerine yerel dosya sistemindeki Robo komut dosyası dosyanızın yolunu girin. Yerel Robo testi çalıştırma talimatlarını uygulayın.
gcloud CLI test çağrısında Robo komut dosyası belirtme
Bir gcloud KSA testi çağrısında Robo komut dosyası belirtmek için aşağıdaki gcloud KSA işaretini kullanın:
--robo-script = <robo-script-path>
<robo-script-path>
yerine, yerel dosya sistemindeki veya Cloud Storage içindeki Robo komut dosyası yolunuzu gs://
gösterimini kullanarak girin. Örneğin:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Sonraki adımlar
- Robo komut dosyalarının yapısı, özellikleri, kullanımı ve işlemleri hakkında bilgi edinmek için Robo komut dosyaları referans kılavuzuna bakın.
- Robo testi çalıştırın.