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

Bu belgede, mobil uygulamalar için manuel KG görevlerini otomatikleştiren ve sürekli entegrasyon (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 senaryoları Robo testinin bir özelliğidir.

Robo komut dosyalarıyla, kendinizi uygulamanızdaki bir iş akışında yürürken kaydedersiniz, daha sonra Robo Testlerinde çalıştırmak için bu kaydı Firebase konsoluna yüklersiniz. Bir komut dosyası eklenmiş bir robo testi çalıştırdığınızda, Robo önce önceden yazılmış işlemlerinize adım atar ve ardından uygulamayı her zamanki gibi araştırır.

Robo komut dosyaları test motoru olarak robo testini kullanır. En temel formunda, bir robo komut dosyası 'Kullanıcı Adı' metnini girin ve ardından OK düğmesine dokunun . Robo komut dosyaları, bir öğenin görünmesini beklemek, bir öğenin 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 senaryolarının geleneksel test çerçevelerine göre aşağıdaki avantajları vardır:

Kabiliyet Tanım
Son derece sağlam Robo senaryoları uygulama sürümleri ve uygulama lapası arasındaki önemli yapısal ve davranışsal farklılıkları tolere edebilir.
Açık uçlu Bir robo komut dosyası tamamlandıktan sonra, temel robo testi uygulamayı test etmeye ve 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 komut dosyalarını manuel olarak kodlamanız gerekmez. Android stüdyosundaki Robo Script kaydedici kullanılarak kaydedilebilirler. Robo komut dosyaları oluşturmak veya değiştirmek genellikle mobil geliştirme bilgisi gerektirmez.
Esnek Robo komut dosyaları, oyunlarda yaygın olan yerli olmayan kullanıcı arayüzü öğeleriyle etkileşime girebilir.

Robo komut dosyaları, kullanıcıların Robo'nun davranışını artırmasına izin veren bir robo testi sırasında koşullu olarak tetiklenir - tipik olarak daha fazla kapsama alanı elde etmek veya belirli işlevselliği hedeflemek için. Geleneksel test çerçevelerinin aksine, robo komut dosyaları aşağıdakileri destekleyin:

  • Çeşitli tetikleme koşulları, örneğin, belirli bir uygulama paketi adı etkin (veya değil) veya ekranda (veya değil) belirli bir öğe.
  • Yürütme, örneğin, maksimum sayıda yürütme, öncelik, ilgili tarama aşaması kontrol eder.
  • Alışılmadık eylem türleri (koşullu, element-ateşleme, ekran kapanması).

Mümkün olduğunca robo komut dosyaları kullanmanızı öneririz çünkü zahmetsizce korunabilirler. Örneğin, aşağıdakileri yapmak için bir robo komut dosyası kullanabilirsiniz:

  • Bir uygulamanın işlevselliğinin çekirdeğine ulaşmak için önemli iş akışlarında gezinin. Örneğin, bir oturum açabilir, ilk lansmandan sonra bir uygulamanın durumu ayarlayabilir ve yeni bir kullanıcı kaydedebilirsiniz.
  • Robo test süresinden en iyi şekilde yararlanmak için bir uygulamanın belirli bir bölümüne odaklayın. Robo Script, Robo Testini Robo Testinin tam otomatik bir taramaya devam ettiği bir uygulamanın ilgili kısmına ulaşmak için yönlendirir.
  • Örneğin, bir uygulama içi mesajı, gizlilik politikasını veya belirli bir oyunun seviyesini analiz etmek için bir analiz yapmak için bir uygulamayı belirli bir duruma veya ekrana getirin.
  • Robo komut dosyası tamamlandıktan sonra tam otomatik taramaya devam eden robo testi ile veya olmadan uçtan uca enstrümantasyon testi yapın.

Aşağıdakileri yapmak için daha gelişmiş robo komut dosyası özellikleri kullanın:

  • Robo, testi altında veya bir tarama bittikten sonra sürünmeye başlamadan önce eylemleri gerçekleştirin, örneğin, bir taramadan önce testi altındaki verileri temizleyin veya cihaz ayarlarını değiştirin.
  • Özellikle bir tarama sırasında robo davranışının yönlerini değiştirin:
    • Robo'nun bazı UI widget'larını veya uygulama ekranlarını görmezden gelmesini sağlayın.
    • Belirli bir ekrandan geri izleme yaparken Robo'nun gerçekleştirmesi için özel bir eylem sağlayın.
    • Bir tarama sırasında belirli bir uygulama ekranı karşılaşıldığında Robo'nun belirli eylemleri gerçekleştirmesini sağlayın.
  • Robo'nun nasıl bir tarama yaptığını tamamen özelleştirin. Örneğin, cihaz manipülasyonları gerçekleştirirken ve yol boyunca görünen herhangi bir açılır iletişim kutusunu reddederken, tarama boyunca arka planda Test'in altında tutmak için koşullu ve koşulsuz eylemlerin bir kombinasyonunu kullanın.

Robo senaryolarının her türlü testin yerini almadığını unutmayın. Uygulamanızda düşük seviyeli mantık hatalarını yakalamak için hala birim testlerine ihtiyacınız var; Bu testler tipik olarak bir Android veya iOS ortamı gerektirmez. Robo komut dosyası testlerini, en iyi kodda ifade edilen iş mantığı hakkında spesifik, ayrıntılı iddialara sahip olabilen hedefli enstrümantasyon testleriyle desteklemenizi öneririz.

Android Studio'da Test Laboratuvarı Kullanarak Robo Script kaydedin

Android Studio'daki Robo Script kaydedici, cihazınızdaki uygulamayla doğrudan etkileşime girerek robo komut dosyalarını kaydetmenizi sağlar. Android Studio'daki Firebase Aracından Robo Scripting'e 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 için kullanın .

  3. Robo komut dosyasını 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ı istenen konumda bir JSON dosyası olarak kaydedin.

  6. Firebase konsolundaki Test Laboratuvarı sayfasını açın ve JSON Script dosyasını ve APK uygulamasını yükleyin.

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

  8. (İsteğe bağlı) Test raporunun logcat'ını ve videoyu kopyalamak veya indirmek için Kaynak dosyalarını görüntüleyin .

Varsayılan olarak, robo komut dosyası sağlamlık mekanizmaları erken başarısız olmasını engeller. strict yürütme modunu seçerseniz ve herhangi bir noktada bir robo komut dosyası başarısız olursa, Test Laboratuvarı komut dosyasındaki diğer tüm adımları terk eder ve düzenli bir robo taramasına devam eder. Çoğu zaman, robo komut dosyaları başarısız çünkü Robo ekranda gerekli bir öğeyi bulamıyor. Başarısızlıklardan kaçınmak için, uygulama gezintinizin öngörülebilir olduğundan ve ekranlarınızın deterministik bir sırayla gösterildiğinden emin olun.

Test Laboratuarında Robo Script çalıştırın

Test laboratuvarında bir robo komut dosyası çalıştırmak için şu talimatları izleyin:

  1. Firebase konsolundaki Test Laboratuvarı sayfasını açın.

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

  3. Robo komut dosyası (isteğe bağlı) alanına kaydedilen veya manuel olarak oluşturulan robo komut dosyası dosyanızı yükleyin.

Yerel bir robo test çalışmasına bir robo komut dosyası sağlayın

Yerel bir robo test çalışması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> yerel dosya sistemindeki Robo Script dosyanıza bir yolla değiştirin. Yerel bir robo test çalışması için talimatları izleyin.

GCLOUD CLI Test çağırma işleminde bir robo komut dosyası belirtin

Bir GCLOUD CLI Test çağrısında bir robo komut dosyası belirlemek için aşağıdaki GCLOUD CLI bayrağını kullanın:

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

<robo-script-path> yerel dosya sisteminde veya bulut depolama alanındaki robo komut dosyası dosyanızın bir yolu ile gs:// gösterimini değiştirin. Örneğin:

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

Sonraki adımlar