Robo testi çalıştırma (Android)

Robo testi, Firebase Test Lab ile entegre bir test aracıdır. Robo test, uygulamanızın kullanıcı arayüzünün (UI) yapısını analiz eder ve ardından kullanıcı etkinliklerini otomatik olarak simüle ederek metodik bir şekilde keşfeder. Robo testi, bir uygulamayı aynı ayarlarla belirli bir cihaz yapılandırmasında test etmek için kullanıldığında her zaman aynı kullanıcı etkinliklerini aynı sırayla simüle eder. Bu tekrarlanabilir test yaklaşımı, hata düzeltmelerini doğrulamak ve regresyonları test etmek için Robo testini kullanmanıza olanak tanır.

Robo test, günlük dosyalarını yakalar, bir dizi açıklamalı ekran görüntüsü kaydeder ve ardından bu ekran görüntülerinden bir video oluşturarak gerçekleştirdiği simüle edilmiş kullanıcı işlemlerini gösterir. Bu günlükler, ekran görüntüleri ve videolar, uygulama kilitlenmelerinin temel nedenini belirlemenize yardımcı olabilir. Bu Robo test özellikleri, uygulamanızın kullanıcı arayüzündeki sorunları bulmanıza da yardımcı olabilir.

Normal Robo testleri çalıştırmanın yanı sıra Robo testlerinin bir özelliği olan Robo komut dosyalarını kullanarak testlerinizi özelleştirebilirsiniz. Daha fazla bilgi edinmek için Robo komut dosyası çalıştırma başlıklı makaleyi inceleyin.

iOS+ için Robo'nun beta sürümünü denemek istiyorsanız Robo testi çalıştırma başlıklı makaleyi inceleyin.

Robo testi tarama istatistikleri

Robo test, Robo test sonuçlarınızı yorumlamanıza yardımcı olmak için her test taraması sırasında istatistikleri kaydeder. Test Lab, test sonuçları sayfanızdaki Robo testi sekmesinin üst kısmında istatistikleri gösterir:

  • İşlemler: Robo komut dosyası işlemleri, monkey işlemleri ve Robo yönergeleri dahil olmak üzere tarama sırasında gerçekleştirilen toplam işlem sayısı.

  • Etkinlikler: Tarama sırasında ele alınan farklı etkinliklerin sayısı.

  • Ekranlar: Tarama sırasında ziyaret edilen farklı ekranların sayısı.

Test Lab, Robo testinin görsel bir temsilini tarama grafiği biçiminde oluşturmak için de istatistikleri kullanır. Grafikte düğümler ekranları, kenarlar ise işlemleri temsil eder. Ekranlar arasındaki kenarları takip ederek Robo testinin tarama boyunca uygulamanızda nasıl gezindiği hakkında fikir edinebilirsiniz.

Robo test zaman aşımı

Uygulamanızın kullanıcı arayüzünün karmaşıklığına bağlı olarak Robo testinin kapsamlı bir kullanıcı arayüzü etkileşimleri grubunu tamamlaması beş dakika veya daha uzun sürebilir. Test zaman aşımını çoğu uygulama için en az 120 saniye (2 dakika), orta düzeyde karmaşık uygulamalar için ise 300 saniye (5 dakika) olarak ayarlamanızı öneririz. Zaman aşımı için varsayılan değer, Android Studio ve Firebase Console'dan çalıştırılan testler için 300 saniye (5 dakika), gcloud komut satırından çalıştırılan testler için ise 900 saniyedir (15 dakika).

Uygulama başlatma zaman aşımı hataları

Uygulamanızın başlatılması uzun sürerse Robo testi hata verebilir ve uygulamanızı tarayamaz. Bu durum yalnızca başlatma süresinin çok uzun olduğu durumlarda ortaya çıkar ve yalnızca uygulamanızı daha hızlı başlatılacak şekilde revize ederek çözülebilir.

Robo komut dosyalarıyla daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız olabilir. Örneğin, yaygın bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve şifre gibi belirli kullanıcı arayüzü girişleri sağlamak isteyebilirsiniz. Robo komut dosyaları yardımcı olabilir. Robo komut dosyaları hakkında daha fazla bilgi edinmek için Robo komut dosyası çalıştırma ve Robo komut dosyaları referans kılavuzu başlıklı makaleleri inceleyin.

Robo testleri ve Android dışı kullanıcı arayüzü widget'ları

Robo testleri, Android kullanıcı arayüzü widget'larında doğrudan işlem yapmak için Android API'yi kullanır. Bu sayede testler kullanıcı arayüzünüzü otomatik olarak keşfedebilir ancak testlerin çalıştırılabilmesi için ekranın Android kullanıcı arayüzü hiyerarşisinin çıkarılabilmesi gerekir.

Uygulamanızdaki bir ekranda Android kullanıcı arayüzü widget'ları kullanılmıyorsa Robo testleri, o ekranı test etmek için Monkey İşlemleri'ni kullanır. Daha metodik olan Robo test işlemlerinin aksine Monkey İşlemleri, cihaz ekranındaki yarı rastgele konumlarda dokunma etkinliklerini simüle eder.

Android kullanıcı arayüzü widget'larını kullanmayan ekranları daha iyi test etmek için Monkey işleminin rastgele dokunmalarını, Firebase Test Lab Oyun Döngüsü Testleri aracılığıyla bir dizi komut dosyasıyla oluşturulmuş dokunma ve etkileşimle değiştirebilirsiniz.

Google Play ile entegrasyon

Uygulamanızın APK dosyasını alfa veya beta kanalını kullanarak yükleyip yayınladığınızda Google Play Console'da Robo testi kullanabilirsiniz. Robo testi, farklı coğrafi konumlardaki popüler fiziksel cihazlarda çalışarak çeşitli form faktörleri ve donanım yapılandırmalarında test kapsamı sağlar. Daha fazla bilgi edinmek için Sorunları tanımlamak için lansman öncesi raporları kullanma başlıklı makaleyi inceleyin.

Test hesabı oturum açma ve önceden tanımlanmış metin girişi

Robo test, test hesabı oturum açma işlemini destekler ve uygulamanızdaki alanlara önceden tanımlanmış metin girmenize olanak tanır. Özel oturum açma ve diğer önceden tanımlanmış metin girişi için Robo test, uygulamanızdaki EditText alanlarına metin girebilir. Her dize için bir Android kaynak adı kullanarak EditText alanını tanımlamanız gerekir. Daha fazla bilgi edinmek için Kaynaklara erişme başlıklı makaleyi inceleyin.

Oturum aç

Robo test, oturum açmayı desteklemek için birbirini dışlayan iki yöntem kullanır:

  • Özel oturum açma: Test hesabı kimlik bilgilerini sağlarsanız Robo test'e bu bilgileri nereye gireceğini söylemeniz ve bu kimlik bilgilerini de sağlamanız gerekir.

  • Otomatik oturum açma: Özel oturum açma için test hesabı kimlik bilgileri sağlamazsanız otomatik oturum açma kullanılır. Robo testi, standart Android widget'ları veya Compose uygulamalarıyla oluşturulan uygulamalarda bir Google test hesabı kullanarak otomatik olarak oturum açabilir.

Özel oturum açma için test hesabı kimlik bilgilerini sağlamak üzere aşağıdakileri yapın:

  1. Boyutları seçin sayfasında Ek seçenekler'i belirleyin.

  2. Test hesabı kimlik bilgileri (İsteğe bağlı) bölümünde, kullanıcı adı ve şifre kaynak adlarını ve test hesabının kullanıcı adı ile şifresini girin.

Önceden tanımlanmış metin girişi

Uygulamanız tarafından kullanılan diğer metin alanları için özel giriş metni sağlayabilirsiniz. Ek alanlar için metin girişi sağlamak üzere aşağıdakileri yapın:

  1. Boyutları seçin sayfasında Ek seçenekler'i belirleyin.

  2. Ek alanlar (İsteğe bağlı) bölümünde bir veya daha fazla kaynak adı ve ilgili metin alanlarına girilecek dizeleri girin.

Önceden tanımlanmış metin girişi {:#predefined-text} hataları

Robo testi, sağlanan normal ifadeyle eşleşen bir Android kaynak adına sahip EditText alanlarını arar. Robo eşleşen bir alan bulamazsa metninizi girmez ancak taramasına normal şekilde devam eder.

Uygulamanızın desteklediği en fazla üç derin bağlantıyı test için sağlayabilirsiniz. Derin bağlantılar, uygulamanıza Android ACTION_VIEW intent'leri olarak gönderilir. Bu nedenle, her bağlantı uygulamanızdaki bir intent filtresiyle eşleşmelidir.

Bir veya daha fazla derin bağlantı sağlanırsa uygulama önce normal şekilde (ACTION_MAIN intent'i kullanılarak) başlatılır ve belirtilen zaman aşımı süresine kadar taranır. Ana taramadan sonra her bir derin bağlantı 30 saniye daha taranır.

Robo testi, derin bağlantınızla eşleşen bir etkinlik bulamazsa Test Lab bağlantıyı yoksayar. Derin bağlantı sorunları genellikle sağlanan derin bağlantı ile uygulamanızdaki tanımı arasındaki tutarsızlıktan kaynaklanır. Hem sağlanan URL'yi hem de uygulamanızı yazım hataları veya diğer tutarsızlıklar açısından kontrol edin.

Uygulama lisanslama desteği

Test Lab, Google Play tarafından sunulan Uygulama Lisanslama hizmetini kullanan uygulamaları destekler. Uygulamanızı Test Lab ile test ederken lisanslamayı başarıyla kontrol etmek için uygulamanızı Play Store'daki üretim kanalında yayınlamanız gerekir. Uygulamanızı Test Lab kullanarak alfa veya beta kanalında test etmek için uygulamanızı Test Lab platformuna yüklemeden önce lisans kontrolünü kaldırın.

Sonraki adımlar