Robo betiği çalıştırma (Android)

Bu belgede, mobil uygulamalar için manuel QA görevlerini otomatikleştiren ve sürekli entegrasyonu (CI) ve lansman öncesi test stratejilerini etkinleştiren testler olan Robo komut dosyalarının nasıl kullanılacağı açıklanmaktadır. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve şifre gibi belirli kullanıcı arayüzü (UI) girişi sağlamak için Robo komut dosyalarını kullanabilirsiniz. Robo komut dosyaları Robo testinin bir özelliğidir.

Robo komut dosyalarıyla, uygulamanızdaki bir iş akışında yürürken kendinizi kaydedersiniz, ardından bu kaydı Robo testlerinde çalıştırılmak üzere Firebase konsoluna yüklersiniz. Bir komut dosyası eklenmiş olarak bir Robo testi çalıştırdığınızda, Robo önce önceden komut dosyasıyla oluşturulan eylemlerinizde adım adım ilerler ve ardından uygulamayı her zamanki gibi keşfeder.

Robo komut dosyaları, test motoru olarak Robo testini kullanır. En temel biçiminde, bir Robo komut dosyası, 'kullanıcı adı' metnini girmek ve ardından Tamam düğmesine dokunmak gibi bir dizi kullanıcı arayüzü eyleminden oluşur. Robo komut dosyaları ayrıca bir öğenin görünmesini beklemek, öğe içindeki 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ının geleneksel test çerçevelerine göre aşağıdaki avantajları vardır:

Kabiliyet Tanım
Son derece sağlam Robo komut dosyaları, uygulama sürümleri ile uygulama kesintileri 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 görevi devralabilir ve uygulamayı test etmeye devam edebilir. Bu sürekli test yaklaşımı birçok önemli kullanım senaryosunu 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ını kullanabilirsiniz.
Kaydedilebilir Robo komut dosyalarını manuel olarak kodlamanıza gerek yoktur. Android Studio'daki Robo komut dosyası kaydedici kullanılarak kaydedilebilirler. Robo komut dosyaları oluşturmak veya değiştirmek genellikle mobil geliştirme konusunda herhangi bir bilgi gerektirmez.
Esnek Robo komut dosyaları, oyunlarda yaygın olan yerel olmayan kullanıcı arayüzü öğeleriyle etkileşime girebilir.

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

  • Çeşitli tetikleyici 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 kontrolleri, örneğin maksimum yürütme sayısı, öncelik, ilgili tarama aşaması.
  • Alışılmadık eylem türleri (koşullu, öğe yok sayma, ekranı kapatma).

Bakımları zahmetsizce yapılabildiğinden, mümkün olduğunda Robo komut dosyalarını 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, bir uygulamanın ilk başlatmadan sonraki 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 tam otomatik taramayı sürdürdüğü bir uygulamanın ilgili kısmına ulaşmak için Robo testine rehberlik eder.
  • Bir analiz gerçekleştirmek (örneğin, uygulama içi bir mesajı, gizlilik politikasını veya bir oyunun belirli bir düzeyini analiz etmek) için uygulamayı belirli bir duruma veya ekrana getirin.
  • Robo betiği tamamlandıktan sonra tam otomatik taramayı sürdüren 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 tarama tamamlandıktan sonra eylemler gerçekleştirin (örneğin, taramadan önce test edilen uygulama verilerini temizleyin veya cihaz ayarlarını değiştirin).
  • Tarama sırasında Robo davranışının bazı yönlerini değiştirin, özellikle:
    • Robo'nun bazı kullanıcı arayüzü widget'larını veya uygulama ekranlarını görmezden gelmesini sağlayın.
    • Belirli bir ekrandan geri izleme yaparken Robo'nun gerçekleştireceği ö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 tarama işlemini nasıl gerçekleştireceğ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şiklikler yapın ve yol boyunca görünen açılır pencereleri kapatın.

Robo komut dosyalarının her türlü testin yerini almadığını unutmayın. Uygulamanızdaki düşük seviyeli mantık hatalarını yakalamak için hâlâ 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 kodla ifade edilen spesifik, ayrıntılı iddialara sahip olabilecek hedeflenen enstrümantasyon testleriyle tamamlamanızı öneririz.

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

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'daki Firebase aracı aracılığıyla Robo komut dosyası oluşturmaya başlamak için bu 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 Rehberlik Etmek İçin Kullan'ı tıklayın.

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

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

  5. Robo betiğini cihaza kaydettikten sonra dosyayı istediğiniz konuma JSON dosyası olarak kaydedin.

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

  7. Devam düğmesine 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 logcat'ını kopyalamak veya indirmek için Kaynak Dosyaları Görüntüle'ye tıklayın.

Varsayılan olarak, Robo komut dosyası sağlamlık mekanizmaları bunun erkenden arızalanmasını önler. 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ı iptal eder ve normal bir Robo taramasına devam eder. Çoğu zaman Robo komut dosyaları, Robo'nun ekranda gerekli bir öğeyi bulamaması nedeniyle başarısız olur. Hataları önlemek için uygulamanızda gezinmenin öngörülebilir olduğundan ve ekranlarınızın belirleyici bir sırada gösterildiğinden emin olun.

Test Laboratuvarında bir Robo betiği çalıştırın

Test Lab'da bir Robo betiği çalıştırmak için şu talimatları izleyin:

  1. Firebase konsolunda Test Laboratuvarı 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ıştırmasına bir Robo komut dosyası sağlayın

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> yerine yerel dosya sistemindeki Robo komut dosyanızın yolunu yazın. Yerel bir Robo test çalıştırması için talimatları izleyin.

gcloud CLI testi çağrısında bir Robo komut dosyası belirtin

Bir gcloud CLI testi ç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> gs:// gösterimini kullanarak yerel dosya sistemindeki veya Cloud Storage'daki Robo komut dosyası 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