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

Bu dokümanda, 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 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 ve uygulama kararsızlığı arasında önemli yapısal ve davranışsal farklılıklara izin verebilir.
Açık uçlu Bir Robo komut dosyası tamamlandıktan sonra temel Robo testi devreye girip uygulamayı test etmeye devam edebilir. Bu sürekli test yaklaşımı, birkaç önemli kullanım alanı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. Bunlar, Android Studio'daki Robo komut dosyası kaydedicisi kullanılarak kaydedilebilir. Robot komut dosyalarını oluşturmak veya değiştirmek için genellikle mobil geliştirme hakkında bilgi sahibi olmanız gerekmez.
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 sayede kullanıcılar, genellikle daha fazla kapsam elde etmek veya belirli işlevleri hedeflemek için Robo'nun davranışını artırabilir. 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 tetikleyici koşullar.
  • Yürütme kontrolleri (ör. maksimum yürütme sayısı, öncelik, alakalı 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ştirin. Ö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.
    • Belirli bir ekrandan geri dönerken Robo'nun gerçekleştirmesi için özel bir işlem sağlayın.
    • Tarama sırasında belirli bir uygulama ekranıyla karşılaşıldığında Robo'nun belirli işlemleri yapmasını 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ızdaki düşük düzey 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ı iddialar içerebilen ve en iyi şekilde kodda ifade edilebilen 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'te Robo komut dosyası çalıştırma

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 testi çalıştırması için Robo komut dosyası sağlamak istiyorsanız aşağıdaki Robo testi 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österimini 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