Bir Robo testi çalıştırın

Robo testi, Firebase Test Lab ile entegre bir test aracıdır. Robo testi, 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 bunu metodik olarak araştırır. Robo testi, bir uygulamayı aynı ayarlarla belirli bir cihaz yapılandırmasında test etmek için kullandığınızda, aynı kullanıcı etkinliklerini her zaman aynı sırayla simüle eder. Bu tekrarlanabilir test yaklaşımı, hata düzeltmelerini doğrulamak ve gerilemeleri test etmek için Robo testini kullanmanızı sağlar.

Robo testi, günlük dosyalarını yakalar, bir dizi açıklamalı ekran görüntüsü kaydeder ve ardından gerçekleştirdiği simüle edilmiş kullanıcı işlemlerini size göstermek için bu ekran görüntülerinden bir video oluşturur. Bu günlükler, ekran görüntüleri ve videolar, uygulama çökmelerinin temel nedenini belirlemenize yardımcı olabilir. Bu Robo test özellikleri, uygulamanızın kullanıcı arayüzüyle ilgili 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 bkz. Bir Robo komut dosyası çalıştırma .

Robo testi tarama istatistikleri

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

  • Eylemler: Robo komut dosyası eylemleri, maymun eylemleri ve Robo yönergeleri dahil olmak üzere, tarama sırasında gerçekleştirilen toplam eylem sayısı.

  • Aktiviteler: Tarama sırasında kapsanan farklı aktivitelerin sayısı.

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

Test Lab ayrıca, bir tarama grafiği biçiminde Robo testinin görsel bir temsilini oluşturmak için istatistikleri kullanır. Grafiğin düğümleri olarak ekranları ve kenarları olarak eylemleri vardır. Ekranlar arasındaki kenarları takip ederek, Robo testinin tarama boyunca uygulamanızı nasıl geçtiği hakkında bir fikir edinebilirsiniz.

Robot testi 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 setini tamamlaması beş dakika veya daha uzun sürebilir. Çoğu uygulama için test zaman aşımını en az 120 saniye (2 dakika) ve orta düzeyde karmaşık uygulamalar için 300 saniye (5 dakika) olarak ayarlamanızı öneririz. Zaman aşımı için varsayılan değer, Android Studio ve Firebase konsolundan çalıştırılan testler için 300 saniyedir (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şlaması uzun sürüyorsa Robo testi hata verebilir ve uygulamanızı tarayamaz. Bu, yalnızca çok uzun başlatma süresinin olduğu durumlarda olur ve yalnızca uygulamanızı daha hızlı başlaması için revize ederek çözülebilir.

Robo komut dosyalarıyla daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız vardır. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve parola gibi belirli bir kullanıcı arabirimi girişi sağlamak isteyebilirsiniz. Robo komut dosyaları yardımcı olabilir. Robo komut dosyaları hakkında daha fazla bilgi edinmek için Bir Robo komut dosyası çalıştırma ve Robo komut dosyaları başvuru kılavuzuna bakın.

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

Robo testleri, doğrudan Android UI widget'larında eylemler gerçekleştirmek için Android API'sini kullanır. Bu, testlerin kullanıcı arayüzünüzü otomatik olarak keşfetmesine yardımcı olur, ancak aynı zamanda üzerinde testler yapmak için bir ekran için bir Android kullanıcı arayüzü hiyerarşisi çıkarabilmeleri gerektiği anlamına gelir.

Uygulamanızdaki bir ekran Android UI widget'larını kullanmıyorsa, Robo testleri o ekranı test etmek için Monkey Actions'a geri döner. Daha metodik Robo test eylemlerinden farklı olarak, Monkey Actions, bir cihazın ekranındaki yarı rasgele konumlardaki dokunma olaylarını basitçe simüle eder.

Android UI widget'larını kullanmayan ekranları daha iyi test etmek için, Firebase Test Lab Oyun Döngüsü Testleri aracılığıyla bir Maymun Eyleminin rastgele dokunuşlarını bir dizi komut dosyasıyla dokunma ve etkileşimle değiştirebilirsiniz.

Google Play ile entegrasyon

Alfa veya beta kanalını kullanarak uygulamanızın APK dosyasını yükleyip yayınladığınızda, Google Play Konsolunda Robo testini kullanabilirsiniz. Robo testi, farklı coğrafi konumlardan bir dizi popüler fiziksel cihaz üzerinde çalışır ve çeşitli form faktörleri ve donanım yapılandırmaları arasında test kapsamı sağlar. Daha fazla bilgi edinmek için Sorunları belirlemek için lansman öncesi raporları kullanma bölümüne bakın.

Hesapta oturum açmayı ve önceden tanımlanmış metin girişini test edin

Robo testi, test hesabı oturum açmayı destekler ve ayrıca uygulamanızdaki alanlara önceden tanımlanmış metin girmenize olanak tanır. Özel oturum açma ve diğer önceden tanımlanmış metin girişleri için Robo testi, 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 bkz. Kaynaklara Erişme .

Kayıt olmak

Robo testi, oturum açmayı desteklemek için birbirini dışlayan iki yönteme sahiptir:

  • Özel oturum açma: Test hesabı kimlik bilgilerini sağlarsanız, Robo test'e bunların nereye girileceğini söylemeniz ve ayrıca bu kimlik bilgilerini sağlamanız gerekir.

  • Otomatik oturum açma: Uygulamanızın kimlik doğrulama için bir Google hesabı kullanan bir oturum açma ekranı varsa, özel oturum açma için test hesabı kimlik bilgilerini sağlamadığınız sürece Robo test bir Google test hesabı kullanır.

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

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

  2. Test hesabı kimlik bilgileri (İsteğe bağlı) altında, test hesabı için kullanıcı adı ve parola kaynak adlarını ve kullanıcı adı ve parolayı 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 alanlara metin girişi sağlamak için aşağıdakileri yapın:

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

  2. Ek alanlar (İsteğe bağlı) altında, bir veya daha fazla kaynak adını ve ilgili metin alanlarına girilecek dizeleri girin.

Önceden tanımlanmış metin girişi hataları

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

Test için uygulamanız tarafından desteklenen en fazla üç derin bağlantı sağlayabilirsiniz. Android ACTION_VIEW amaçlarıyla uygulamanıza derin bağlantılar verilir. Bu nedenle, her bağlantı uygulamanızdaki bir amaç filtresiyle eşleşmelidir.

Bir veya daha fazla derin bağlantı sağlanırsa, uygulama ilk olarak normal şekilde başlatılır ( ACTION_MAIN amacı kullanılarak) ve belirtilen zaman aşımına kadar taranır. Ana taramadan sonra, her derin bağlantı, her biri 30 saniye daha taranır.

Robo test, derin bağlantınızla eşleşen bir etkinlik bulamazsa, Test Lab bağlantıyı yok sayar. Derin bağlantı sorunları, genellikle sağlanan derin bağlantı ile uygulamanızdaki tanımı arasındaki tutarsızlığın sonucudur. 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ılı bir şekilde 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'a yüklemeden önce lisans kontrolünü kaldırın.

Bilinen Sorunlar

Robo testi şu anda aşağıdaki bilinen sınırlamalara sahiptir:

  • UI çerçevesi desteği: Robo testi, yalnızca Android UI çerçevesinden UI öğelerini kullanan uygulamalarla uyumludur ( View ve ViewGroup nesneleri dahil, ancak WebView nesneleri hariç). Unity oyun motorunu kullanan uygulamalar da dahil olmak üzere diğer UI çerçevelerini kullanan uygulamaları çalıştırmak için Robo testini kullanırsanız, test ilk ekranın ötesini keşfetmeden çıkabilir.
  • Oturum Açma Captcha'ları: Robo testi, örneğin bir Captcha'yı tamamlamak gibi oturum açmak için kimlik bilgilerini girmenin ötesinde ek kullanıcı eylemi gerektiren oturum açma ekranlarını atlayamaz.

Sonraki adımlar