Robo komut dosyası çalıştırma (Android)

Bu dokümanda, mobil uygulamalar için manuel kalite güvencesi görevlerini otomatikleştiren ve sürekli entegrasyon (CI) ile lansman öncesi test stratejilerinin etkinleştirildiği 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) belirli girişler (ör. kullanıcı adı ve şifre) sağlamak için Robo komut dosyalarını kullanabilirsiniz. Robo komut dosyaları, Robo test'in bir özelliğidir.

Robo komut dosyalarıyla, uygulamanızdaki bir iş akışında ilerlerken kendinizi kaydeder ve ardından bu kaydı Robo testlerinde çalıştırmak için Firebase konsoluna yüklersiniz. Komut dosyası ekli bir Robo testi çalıştırdığınızda Robo, önce önceden komut verilmiş işlemlerinizi uygular, ardından uygulamayı normal bir şekilde keşfeder.

Robo komut dosyaları, test motoru olarak Robo test'i kullanır. En temel haliyle bir Robo komut dosyası, "kullanıcı adı" metnini girin ve ardından Tamam düğmesine dokunun gibi bir dizi kullanıcı arayüzü işleminden oluşur. Robo komut dosyaları, bir öğenin görünmesini bekleme, bir öğedeki belirli bir noktaya 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 avantajlara sahiptir:

Kapasite Açıklama
Son derece sağlam Robo komut dosyaları, uygulama sürümleri ile uygulama stabiliteleri arasındaki önemli yapısal ve davranış farklılıklarına tolerans gösterebilir.
Açık uçlu Robo komut dosyası tamamlandıktan sonra temel Robo testi uygulamayı devralıp test etmeye devam edebilir. Devam eden bu test yaklaşımı, bazı temel kullanım alanlarına imkan sağ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 Yapılabilir Robo komut dosyalarını manuel olarak kodlamanız gerekmez. Bunlar, Android Studio'daki Robo komut dosyası kaydedicisi kullanılarak kaydedilebilir. Robo komut dosyalarını oluşturmak veya değiştirmek genellikle herhangi bir mobil geliştirme bilgisi gerektirmez.
Esnek Robo komut dosyaları, oyunlarda yaygın olarak kullanılan yerel olmayan kullanıcı arayüzü öğeleriyle etkileşime girebilir.

Robo komut dosyaları, Robo testi sırasında koşullu olarak tetiklenir. Bu, kullanıcıların Robo'nun davranışını artırmasına olanak tanır. Bu genellikle daha fazla kapsam elde etmek veya belirli bir işlevi hedeflemek için yapılır. Geleneksel test çerçevelerinin aksine, Robo komut dosyaları aşağıdakileri destekler:

  • Belirli bir uygulama paketi adının etkin olması (veya olmaması) ya da ekranda belirli bir öğenin gösterilmesi (veya gösterilmemesi) gibi çeşitli tetikleme koşulları.
  • 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, öğeyi yok sayan, ekranı kapatan).

Kolayca yönetilebildikleri için mümkün olduğunca Robo komut dosyalarını kullanmanızı öneririz. Örneğin, Robo komut dosyasını kullanarak şunları yapabilirsiniz:

  • Bir uygulamanın işlevinin merkezine ulaşmak için önemli iş akışlarında gezinin. Örneğin, oturum açabilir, ilk başlatma işleminden 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 testinin bir uygulamanın ilgili bölümüne ulaşmasına rehberlik eder. Burada Robo test, tam otomatik taramayı devam ettirir.
  • Bir uygulamayı belirli bir duruma veya ekrana getirerek analiz gerçekleştirebilirsiniz. Örneğin, uygulama içi mesajı, gizlilik politikasını veya oyunun belirli bir seviyesini analiz edebilirsiniz.
  • Robo komut dosyası tamamlandıktan sonra tam otomatik taramayı devam ettiren Robo testi olsun veya olmasın uçtan uca bir enstrümantasyon testi gerçekleştirin.

Aşağıdakileri 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, tarama yapmadan önce test edilen uygulama verilerini temizleyin veya cihaz ayarlarını değiştirin.
  • Tarama sırasında Robo davranışının özelliklerini değiştirin. Ö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 izleme sırasında gerçekleştireceği özel bir işlem sağlayın.
    • Tarama sırasında belirli bir uygulama ekranıyla karşılaşıldığında Robo'nun belirli işlemler gerçekleştirmesini sağlayın.
  • Robo'nun tarama işlemini nasıl gerçekleştireceğini tamamen özelleştirebilirsiniz. Örneğin, cihaz üzerinde işlemler gerçekleştirirken ve bu süreçte görünen tüm pop-up iletişim kutularını kapatırken, test edilen uygulamayı tarama boyunca arka planda tutmak için koşullu ve koşulsuz işlemlerin bir kombinasyonunu kullanın.

Robo komut dosyalarının her tür testin yerini almadığını unutmayın. Uygulamanızda düşük seviyeli mantık hatalarını yakalamak için yine de birim testlerine ihtiyacınız vardır. Bu testler genellikle Android veya iOS ortamı gerektirmez. Robo komut dosyası testlerini, iş mantığıyla ilgili belirli ve ayrıntılı iddialara sahip olabilecek ve en iyi şekilde kodda ifade edilebilecek hedeflenen enstrümantasyon testleriyle desteklemenizi öneririz.

Android Studio'da Test Lab kullanarak Robo komut dosyası kaydetme

Android Studio'daki Robo komut dosyası kaydedici, cihazınızdaki uygulamayla doğrudan etkileşime geçerek Robo komut dosyaları kaydetmenize olanak tanır. Android Studio'daki Firebase aracını kullanarak Robo komut dosyalarını kullanmaya başlamak için aşağıdaki talimatları uygulayın:

  1. Android Studio'yu açıp Araçlar -> Firebase'i seçin.

  2. Firebase bölmesinde Robo Komut Dosyasını Kaydet ve Robo Test'e Rehberlik Etmek İçin Kullan'ı tıklayın.

  3. Robo komut dosyası kaydet'i tıklayın. Dağıtım Hedefi Seç iletişim kutusu görüntülenir.

  4. Robo komut dosyasını kaydetmek istediğiniz cihazı seçin.

  5. Robo komut dosyasını cihaza kaydettikten sonra dosyayı istediğiniz konumda JSON dosyası olarak kaydedin.

  6. Firebase konsolunda Test Lab sayfasını açın ve JSON komut dosyası dosyasını ve uygulama APK'sını yükleyin.

  7. 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.

  8. (İsteğe bağlı) Test raporunun ve videonun günlük kaydını kopyalamak veya indirmek için Kaynak Dosyaları Görüntüle'yi tıklayın.

Robo komut dosyası sağlamlık mekanizmaları, varsayılan olarak komut dosyasının erkenden 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 diğer tüm adımları bırakır ve normal Robo taramasına devam eder. Robo komut dosyaları genellikle Robo ekranda gerekli bir öğe bulamadığı için başarısız olur. Hataları önlemek için uygulama gezinmenizin tahmin edilebilir olduğundan ve ekranlarınızın belirli bir sırada gösterildiğinden emin olun.

Test Lab içinde Robo komut dosyası çalıştırın

Test Lab'te bir Robo komut dosyası çalıştırmak için aşağıdaki talimatları uygulayın:

  1. Firebase konsolunda Test Lab sayfasını açın.

  2. Uygulamanın APK'sını veya AAB'sini Uygulama APK'sı veya AAB alanı'na yükleyin.

  3. Kaydettiğiniz veya manuel olarak oluşturduğunuz Robo komut dosyası dosyasını Robo komut dosyası (isteğe bağlı) alanına yükleyin.

Yerel bir Robo testi çalıştırmak için Robo komut dosyası sağlama

Yerel bir Robo test çalıştırmasına Robo komut dosyası sağlamak için aşağıdaki Robo test seçeneğini kullanın:

--robo-script-file <robo-script-path>

<robo-script-path> değerini, yerel dosya sistemindeki Robo komut dosyası dosyanızı belirten bir adla değiştirin. Yerel Robo testi çalıştırma talimatlarını uygulayın.

gcloud CLI test çağrısında Robo komut dosyası belirtme

gcloud KSA test çağrısında bir Robo komut dosyası belirtmek için aşağıdaki gcloud KSA işaretçisini kullanın:

--robo-script = <robo-script-path>

<robo-script-path> değerini, yerel dosya sistemindeki veya Cloud Storage içindeki Robo komut dosyası dosyanızın yolunu gs:// gösterimiyle kullanarak değiştirin. Örneğin:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Sonraki adımlar