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 onu yöntemli bir şekilde inceler. Robo testi, bir uygulamayı belirli bir cihaz konfigürasyonunda aynı ayarlarla test etmek için kullandığınızda, 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 testi günlük dosyalarını yakalar, bir dizi açıklamalı ekran görüntüsünü 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.
Düzenli 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. Robo komut dosyası çalıştırma .
iOS+ için Robo'nun Beta sürümünü denemek istiyorsanız bkz. Robo Testi Çalıştırma .
Robo testi tarama istatistikleri
Robo testi sonuçlarınızı yorumlamanıza yardımcı olmak için Robo testi, her test taraması sırasında istatistikleri kaydeder. Test Lab, istatistikleri test sonuçları sayfanızdaki Robo testi sekmesinin üst kısmında 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 eylemlerin toplam sayısı.
Etkinlikler: Tarama sırasında kapsanan farklı etkinliklerin sayısı.
Ekranlar: Tarama sırasında ziyaret edilen farklı ekranların sayısı.
Test Lab ayrıca Robo testinin tarama grafiği biçiminde görsel bir temsilini oluşturmak için istatistikleri kullanır. Grafiğin düğümleri ekranlar, kenarları ise eylemlerdir. Ekranlar arasındaki kenarları takip ederek Robo testinin tarama boyunca uygulamanızda nasıl ilerlediği hakkında 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 kümesini tamamlaması beş dakika veya daha fazla sürebilir. Test zaman aşımını çoğu uygulama için en az 120 saniyeye (2 dakika) ve orta derecede karmaşık uygulamalar için 300 saniyeye (5 dakika) 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 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ürüyorsa Robo testi hata verebilir ve uygulamanızı tarayamaz. Bu yalnızca başlatma süresinin çok uzun olduğu durumlarda meydana gelir ve yalnızca uygulamanızın daha hızlı başlatılmasını sağlayacak şekilde revize edilmesiyle çözülebilir.
Robo komut dosyalarıyla daha fazla kontrol
Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız olur. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve şifre gibi belirli bir kullanıcı arayüzü girişi sağlamak isteyebilirsiniz. Robo komut dosyaları yardımcı olabilir. Robo komut dosyaları hakkında daha fazla bilgi edinmek için bkz. Robo komut dosyası çalıştırma ve Robo komut dosyaları başvuru kılavuzu .
Robo testleri ve Android olmayan kullanıcı arayüzü widget'ları
Robo testleri, Android kullanıcı arayüzü widget'ları üzerinde doğrudan eylemler gerçekleştirmek için Android API'yi kullanır. Bu, testlerin kullanıcı arayüzünüzü otomatik olarak keşfetmesine yardımcı olur, ancak aynı zamanda üzerinde testler yürütmek için bir ekran için Android kullanıcı arayüzü hiyerarşisini çıkarabilmeleri gerektiği anlamına da gelir.
Uygulamanızdaki bir ekran Android kullanıcı arayüzü widget'larını kullanmıyorsa Robo testleri, o ekranı test etmek için Monkey Actions'a başvurur. Daha metodik Robo testi eylemlerinin aksine, Monkey Actions, bir cihazın ekranındaki yarı rastgele konumlardaki dokunma olaylarını basitçe simüle eder.
Android kullanıcı arayüzü widget'larını kullanmayan ekranları daha iyi test etmek için, bir Maymun Eyleminin rastgele dokunmalarını , Firebase Test Laboratuvarı Oyun Döngü Testleri aracılığıyla 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 Console'da Robo testini kullanabilirsiniz. Robo testi, farklı coğrafi konumlardaki bir dizi popüler fiziksel cihaz üzerinde çalıştırılarak çeşitli form faktörleri ve donanım yapılandırmalarında test kapsamı sağlar. Daha fazla bilgi edinmek için Sorunları belirlemek için lansman öncesi raporları kullanma konusuna bakın.
Hesapta oturum açmayı ve önceden tanımlanmış metin girişini test edin
Robo testi, test hesabında 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
EditText alanını bir Android kaynak adı kullanarak tanımlamanız gerekir. Daha fazla bilgi edinmek için bkz . Kaynaklara Erişim .
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 de sağlamanız gerekir.
Otomatik oturum açma: Uygulamanızda kimlik doğrulama için bir Google hesabı kullanan bir oturum açma ekranı varsa Robo testi, özel oturum açma için test hesabı kimlik bilgilerini sağlamadığınız sürece bir Google test hesabı kullanır.
Özel oturum açmaya yönelik test hesabı kimlik bilgilerini sağlamak için aşağıdakileri yapın:
Boyutları seçin sayfasında Ek seçenekler'i seçin.
Test hesabı kimlik bilgileri (İsteğe bağlı) altında, test hesabının kullanıcı adı ve şifre kaynak adlarını ve kullanıcı adını ve ş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 alanlara metin girişi sağlamak için aşağıdakileri yapın:
Boyutları seçin sayfasında Ek seçenekler'i seçin.
Ek alanlar (İsteğe bağlı) altında, bir veya daha fazla kaynak adını ve karşılık gelen metin alanlarına girilecek dizeleri girin.
Önceden tanımlanmış metin girişi {:#preDefinition-text} 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, bunun dışında her zamanki gibi taramaya devam eder.
Derin bağlantılar
Test amacıyla uygulamanız tarafından desteklenen en fazla üç derin bağlantı sağlayabilirsiniz. Derin bağlantılar, uygulamanıza Android
ACTION_VIEW amaçları olarak verilir. Bu nedenle her bağlantının uygulamanızdaki bir amaç filtresiyle eşleşmesi gerekir.
Bir veya daha fazla derin bağlantı sağlanırsa uygulama ilk önce normal şekilde başlatılır (
ACTION_MAIN amacı kullanılarak) ve belirtilen zaman aşımına kadar taranır. Ana taramanın ardından her derin bağlantı, her biri 30 saniye daha taranır.
Derin bağlantı hataları
Robo testi, 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ıktan kaynaklanır. Yazım hataları veya diğer tutarsızlıklar için hem sağlanan URL'yi hem de uygulamanızı 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.
Sonraki adımlar
- Robo komut dosyalarını kullanarak testlerinizi özelleştirin.