Catch up on highlights from Firebase at Google I/O 2023. Learn more

Bir Robo komut dosyası çalıştırın

Bu belge, mobil uygulamalar için manuel QA görevlerini otomatikleştiren ve sürekli entegrasyon (CI) ve lansman öncesi test stratejileri sağlayan testler olan Robo komut dosyalarının nasıl kullanılacağını açıklar. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve parola gibi belirli bir kullanıcı arabirimi (UI) girişi sağlamak için Robo betiklerini kullanabilirsiniz. Robo betikleri, Robo testinin bir özelliğidir.

Robo betikleriyle, uygulamanızdaki bir iş akışında yürürken kendinizi kaydedersiniz, ardından bu kaydı Robo testlerinde çalıştırmak için Firebase konsoluna yüklersiniz. Ekli bir komut dosyasıyla bir Robo testi çalıştırdığınızda, Robo önce önceden komut dosyası oluşturulmuş eylemlerinizi gerçekleştirir ve ardından her zamanki gibi uygulamayı keşfeder.

Robo betikleri, test motoru olarak Robo testini kullanır. En temel haliyle, bir Robo betiği, 'kullanıcı adı' metnini girmek ve ardından Tamam düğmesine dokunmak gibi bir dizi UI eyleminden oluşur. Robo betikleri, bir öğenin görünmesini beklemek, bir öğe içinde belirli bir noktaya dokunmak ve Android Hata Ayıklama Köprüsü ( adb ) kabuk komutlarını yürütmek gibi eylemleri de içerebilir.

Robo komut dosyaları, geleneksel test çerçevelerine göre aşağıdaki avantajlara sahiptir:

Kabiliyet Tanım
Son derece sağlam Robo betikleri, uygulama sürümleri ile uygulama düzensizliği arasındaki önemli yapısal ve davranışsal farklılıkları tolere edebilir.
açık uçlu Bir Robo betiği tamamlandıktan sonra, temel Robo testi devralabilir ve uygulamayı test etmeye devam edebilir. Bu sürekli test yaklaşımı, birkaç temel kullanım durumu sağlar. Örneğin, özel bir oturum açma akışı gerçekleştirerek bir uygulamayı belirli bir duruma getirmek için bir Robo komut dosyası kullanabilirsiniz.
Kaydedilebilir Robo betiklerini manuel olarak kodlamanız gerekmez. Android Studio'daki Robo script kaydedici kullanılarak kaydedilebilirler. Robo betikleri oluşturmak veya değiştirmek, genellikle herhangi bir mobil geliştirme bilgisi gerektirmez.
Esnek Robo betikleri, oyunlarda yaygın olan yerel olmayan UI öğeleriyle etkileşime girebilir.

Robo betikleri, bir Robo testi sırasında koşullu olarak tetiklenir ve bu, kullanıcıların Robo'nun davranışını artırmasına olanak tanır - tipik olarak daha fazla kapsama alanı elde etmek veya belirli işlevleri hedeflemek için. Geleneksel test çerçevelerinin aksine, Robo betikleri aşağıdakileri destekler:

  • Çeşitli tetikleme koşulları, örneğin, belirli bir uygulama paketi adının etkin olması (veya olmaması) veya belirli bir öğenin ekranda görüntülenmesi (veya görüntülenmemesi).
  • Yürütme, örneğin, maksimum yürütme sayısını, önceliği, ilgili tarama aşamasını kontrol eder.
  • Geleneksel olmayan eylem türleri (koşullu, öğe yok sayma, ekranı kapatma).

Bakımı kolay olduğu için mümkün olduğunca Robo betiklerini kullanmanızı öneririz. Örneğin, aşağıdakileri yapmak için bir Robo komut dosyası kullanabilirsiniz:

  • Bir uygulamanın işlevselliğinin özüne ulaşmak için önemli iş akışlarında gezinin. Örneğin, oturum açabilir, ilk çalıştırmadan sonra bir 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 testine, Robo testinin tamamen otomatik bir taramayı sürdürdüğü bir uygulamanın ilgili bölümüne ulaşması için rehberlik eder.
  • Bir uygulama içi mesajı, gizlilik politikasını veya belirli bir oyun seviyesini analiz etmek gibi bir analiz gerçekleştirmek için bir uygulamayı belirli bir duruma veya ekrana getirin.
  • Robo komut dosyası tamamlandıktan sonra tamamen otomatik bir taramaya devam eden Robo testi olsun ya da 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 bir tarama bittikten sonra eylemler gerçekleştirin; örneğin, taramadan önce test edilen uygulama verilerini temizleme, cihaz ayarlarını değiştirme vb.
  • Tarama sırasında Robo davranışının özelliklerini değiştirin, özellikle:
    • Robo'nun bazı UI widget'larını veya uygulama ekranlarını yoksaymasını sağlayın.
    • Robo'nun belirli bir ekrandan geri izleme yaparken gerçekleştirmesi için özel bir eylem sağlayın.
    • Tarama sırasında belirli bir uygulama ekranıyla karşılaşıldığında Robo'nun belirli eylemleri gerçekleştirmesini sağlayın.
  • Robo'nun gezinme işlemini nasıl gerçekleştirdiğini tamamen özelleştirin. Örneğin, test edilen uygulamayı tarama boyunca arka planda tutmak için koşullu ve koşulsuz eylemlerin bir kombinasyonunu kullanın, bu sırada cihazda değişiklik yapın ve yol boyunca görünen açılır pencereleri kapatın.

Robo betiklerinin her türlü testin yerini almadığını unutmayın. Uygulamanızdaki düşük seviyeli mantık hatalarını yakalamak için hala birim testlerine ihtiyacınız var; bu testler genellikle bir Android veya iOS ortamı gerektirmez. Robo komut dosyası testlerini, iş mantığı hakkında en iyi şekilde kodda ifade edilen belirli, ayrıntılı iddialara sahip olabilecek hedeflenen enstrümantasyon testleriyle tamamlamanızı öneririz.

Android Studio'da Test Lab kullanarak bir Robo komut dosyası kaydedin

Android Studio'daki Robo komut dosyası kaydedici, cihazınızdaki uygulamayla doğrudan etkileşim kurarak Robo komut dosyalarını kaydetmenize olanak tanır. Android Studio'da Firebase aracı aracılığıyla Robo komut dosyası oluşturmaya başlamak için şu talimatları izleyin:

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

  2. Firebase bölmesinde, Robo Komut Dosyasını Kaydet ve Robo Testine Kılavuzluk Etmek İçin Kullan öğesini tıklayın.

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

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

  5. Robo script'i cihaza kaydettikten sonra, dosyayı istenilen konuma JSON dosyası olarak kaydedin.

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

  7. Devam düğmesine tıklayın. Cihazı ve API seviyesini seçmeniz istenir. Test komut dosyası tamamlandıktan sonra Test Lab, test raporunu oluşturur.

  8. (İ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 betiği sağlamlık mekanizmaları erken arızalanması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 bir Robo taramasına devam eder. Çoğu zaman Robo betikleri, Robo ekranda gerekli bir öğeyi bulamadığı için başarısız olur. Hatalardan kaçınmak için uygulama gezintinizin tahmin edilebilir olduğundan ve ekranlarınızın belirleyici bir sırada gösterildiğinden emin olun.

Test Lab'de bir Robo betiği çalıştırın

Test Lab'de bir Robo komut dosyası çalıştırmak için şu talimatları izleyin:

  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. Kaydedilmiş veya manuel olarak oluşturulmuş Robo komut dosyası dosyanızı Robo komut dosyası (isteğe bağlı) alanına yükleyin.

Yerel bir Robo test çalışmasına bir Robo betiği sağlayın

Yerel bir Robo test çalıştırmasına bir 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> öğesini yerel dosya sistemindeki Robo betik dosyanızın yolu ile değiştirin. Yerel bir Robo test çalıştırması için talimatları izleyin.

Bir gcloud CLI test çağrısında bir Robo betiği belirtin

Bir gcloud CLI test çağrısında bir Robo komut dosyası belirtmek için aşağıdaki gcloud CLI işaretini kullanın:

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

<robo-script-path> öğesini gs:// gösterimini kullanarak yerel dosya sistemindeki veya Cloud Storage'daki Robo betik dosyanızın yolu ile değiştirin. Örneğin:

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

Sonraki adımlar