Robo testi, Firebase Test Lab ile entegre edilmiş 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 bu yapıyı metodik bir şekilde keşfeder. Robo testi, belirli bir cihaz yapılandırmasında aynı ayarlara sahip bir uygulamayı test etmek için kullandığınızda her zaman aynı kullanıcı etkinliklerini aynı sırada simüle eder. Bu tekrarlanabilir test yaklaşımı, hata düzeltmelerini doğrulamak ve gerileme testleri yapmak için Robo test'i kullanmanıza olanak tanır.
Robo testi, günlük dosyalarını yakalar, bir dizi açıklama eklenmiş ekran görüntüsü kaydeder ve ardından gerçekleştirdiği simüle edilmiş kullanıcı işlemlerini 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 kilitlenmelerinin temel nedenini belirlemenize yardımcı olabilir. Bu Robo testi ö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 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 sonuçlarınızı yorumlamanıza yardımcı olmak için Robo test, her test taraması sırasında istatistikleri kaydeder. Test Lab, test sonuçları sayfanızdaki Robo testi sekmesinin en üstünde istatistikleri gösterir:
İşlemler: Tarama sırasında gerçekleştirilen toplam işlem sayısıdır. Robo komut dosyası işlemleri, monkey işlemleri ve Robo yönergeleri bu sayıya dahildir.
Etkinlikler: Tarama sırasında kapsanan farklı etkinliklerin sayısı.
Ekranlar: Tarama sırasında ziyaret edilen farklı ekranların sayısı.
Test Lab, Robo testiyle ilgili istatistikleri kullanarak tarama grafiği şeklinde görsel bir temsil de oluşturur. Grafikte düğümler ekranları, kenarlar ise işlemleri temsil eder. Ekranlar arasındaki kenarları takip ederek Robo test'in tarama sırasında uygulamanızda nasıl gezindiği hakkında fikir edinebilirsiniz.
Robo testi zaman aşımı
Robo testi, uygulamanızın kullanıcı arayüzünün karmaşıklığına bağlı olarak kapsamlı bir kullanıcı arayüzü etkileşimi grubunu tamamlamak için beş dakika veya daha uzun sürebilir. Çoğu uygulama için test zaman aşımını 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 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 durum yalnızca başlatma süresinin çok uzun olduğu durumlarda meydana gelir 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 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 Robo komut dosyası çalıştırma ve Robo komut dosyaları referans kılavuzu başlıklı makaleleri inceleyin.
Robo testleri ve Android olmayan 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'sini kullanır. Bu, testlerin kullanıcı arayüzünüzü otomatik olarak keşfetmesine yardımcı olur ancak testlerin, üzerinde test çalıştırmak için bir ekranın Android kullanıcı arayüzü hiyerarşisini çıkarabilmesi gerektiği anlamına da gelir.
Uygulamanızdaki bir ekranda Android kullanıcı arayüzü widget'ları kullanılmıyorsa Robo testleri, bu ekranı test etmek için Monkey Actions'a geri döner. Daha metodik olan Robo testi işlemlerinin aksine, Monkey Actions yalnızca bir cihazın 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 Firebase Test Lab Oyun Döngüsü Testleri aracılığıyla bir dizi komut dosyası oluşturulmuş dokunma ve etkileşimle Monkey Action'ın rastgele dokunmalarını 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 testini kullanabilirsiniz. Robo testi, farklı coğrafi konumlardaki bir dizi popüler fiziksel cihazda çalışır. Bu sayede, çeşitli form faktörleri ve donanım yapılandırmaları için test kapsamı sağlar. Daha fazla bilgi için Sorunları tanımlamak için lansman öncesi raporları kullanma başlıklı makaleyi inceleyin.
Test hesabında oturum açma ve önceden tanımlanmış metin girişi
Robo testi, test hesabı oturum açmayı destekler ve önceden tanımlanmış metinleri uygulamanızdaki alanlara 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 Android kaynak adını 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 testinde oturum açmayı destekleyen, birbirini dışlayan iki yöntem vardır:
Özel oturum açma: Test hesabı kimlik bilgileri sağlarsanız Robo Test'e bu bilgilerin nereye girileceğini söylemeniz ve kimlik bilgilerini de sağlamanız gerekir.
Otomatik oturum açma: Uygulamanızda kimlik doğrulama için Google Hesabı'nın kullanıldığı bir oturum açma ekranı varsa özel oturum açma için test hesabı kimlik bilgileri sağlamadığınız sürece Robo testi, Google test hesabı kullanır.
Özel oturum açma için test hesabı kimlik bilgilerini sağlamak üzere aşağıdakileri yapın:
Boyut seçin sayfasında Ek seçenekler'i belirleyin.
Test hesabı kimlik bilgileri (isteğe bağlı) bölümünde, kullanıcı adı ve şifre kaynak adlarını, test hesabının 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:
Boyut seçin sayfasında Ek seçenekler'i belirleyin.
Ek alanlar (isteğ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} hatası
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 taramaya normal şekilde devam eder.
Derin bağlantılar
Test için uygulamanızın desteklediği en fazla üç derin bağlantı sağlayabilirsiniz.
Derin bağlantılar, uygulamanıza Android ACTION_VIEW
intent'leri olarak verilir. 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
amaç kullanılarak) başlatılır ve belirtilen zaman aşımına kadar taranır. Ana taramadan sonra her derin bağlantı 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ı yoksayar. Derin bağlantı sorunları genellikle sağlanan derin bağlantı ile uygulamanızdaki tanımı arasındaki tutarsızlık nedeniyle oluşur. 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'in sunduğu 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'ya yüklemeden önce lisans denetimini kaldırın.
Sonraki adımlar
- Robo komut dosyalarını kullanarak testlerinizi özelleştirin.