获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

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

Robo test, Firebase Test Lab ile entegre çalışan bir test aracıdır. Robo testi, uygulamanızın kullanıcı arabiriminin (UI) yapısını analiz eder ve ardından kullanıcı etkinliklerini otomatik olarak simüle ederek bunu metodik olarak keşfeder. Robo testi, bir uygulamayı belirli bir cihaz yapılandırmasında 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 gerilemeleri test etmek için Robo testini kullanmanızı sağlar.

Robo test, günlük dosyalarını yakalar, açıklamalı bir dizi 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.

Düzenli Robo testleri çalıştırmanın yanı sıra, Robo testlerinin bir özelliği olan Robo betiklerini kullanarak testlerinizi özelleştirebilirsiniz. Daha fazla bilgi edinmek için Robo betiği çalıştırma bölümüne bakın.

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, 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 eylemlerin toplam sayısı.

  • Etkinlikler: Gezinme 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 gezinme grafiği biçiminde görsel bir sunumunu 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ızda nasıl gezindiğ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 eksiksiz 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 saniye (5 dakika) ve gcloud komut satırından çalıştırılan testler için 900 saniyedir (15 dakika).

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

Uygulamanızın başlaması uzun sürerse, Robo testi bir hata verebilir ve uygulamanızı tarayamaz. Bu, yalnızca aşırı uzun başlatma süresi durumlarında olur ve yalnızca uygulamanızı daha hızlı başlamasını sağlayacak şekilde revize ederek çözülebilir.

Robo betikleriyle daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyaç duyarsınız. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya bir kullanıcı adı ve parola gibi belirli bir kullanıcı arabirimi girişi sağlamak isteyebilirsiniz. Robo betikleri yardımcı olabilir. Robo betikleri hakkında daha fazla bilgi edinmek için Robo betiği çalıştırma ve Robo betikleri referans kılavuzuna bakın.

Robo testleri ve Android dışı UI 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 eylemlerinin aksine, Monkey Actions, bir cihazın ekranındaki yarı rastgele konumlardaki dokunma olaylarını basit bir şekilde simüle eder.

Android UI widget'larını kullanmayan ekranları daha iyi test etmek için, Firebase Test Lab Game Loop Tests yoluyla bir Monkey Action'ın rastgele dokunmalarını bir dizi komut dosyasıyla dokunma ve etkileşimlerle 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 konumlardan bir dizi popüler fiziksel cihaz üzerinde çalışır ve çeşitli form faktörlerinde ve donanım yapılandırmalarında test kapsamı sağlar. Daha fazla bilgi için bkz. Sorunları belirlemek için lansman öncesi raporları kullanma .

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

Robo test, 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şi 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şim .

Kayıt olmak

Robo test, 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ı nereye gireceğ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 bilgileri sağlamadığınız sürece Robo test bir Google test hesabı kullanır.

Özel oturum açma için test hesabı kimlik bilgileri sağlamak üzere 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, kullanıcı adı ve parola kaynak adlarını ve test hesabı için 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 karşılık gelen 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, bunun dışında her zamanki gibi taramaya devam eder.

Test için uygulamanız tarafından desteklenen en fazla üç derin bağlantı sağlayabilirsiniz. Android ACTION_VIEW amaçları doğrultusunda 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 önce normal şekilde başlatılır ( ACTION_MAIN amacı kullanılarak) ve belirtilen zaman aşımına kadar taranır. Ana taramadan sonra, her bir derin bağlantı, her biri için ek 30 saniye boyunca taranır.

Robo test, derin bağlantınızla eşleşen bir aktivite 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'e 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çeve desteği: Robo testi, yalnızca Android UI çerçevesindeki UI öğelerini kullanan uygulamalarla uyumludur ( View ve ViewGroup nesneleri dahil, ancak WebView nesneleri hariç). Unity oyun motorunu kullanan uygulamalar dahil olmak üzere diğer UI çerçevelerini kullanan uygulamaları kullanmak için Robo testini kullanırsanız testten ilk ekranın ötesini keşfetmeden çıkılabilir.
  • 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