Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Robo testlerini kullanmaya başlayın

Robo testi, Firebase Test Lab ile entegre bir test aracıdır. Robo testi, uygulamanızın kullanıcı arayüzünün yapısını analiz eder ve ardından kullanıcı etkinliklerini otomatik olarak simüle ederek bunu metodik olarak araştırır. Aksine UI / Uygulama Egzersiz Maymun aynı ayarlarla belirli bir cihaz yapılandırmasına bir uygulamayı test etmek için kullandığınızda testi, Robo testi her zaman aynı sırayla aynı kullanıcı faaliyetlerini taklit eder. Bu UI / Uygulama Egzersiz Maymun testiyle test ederken mümkün olmayan bir şekilde bağlanımlar için validate hata düzeltmeleri ve teste 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, uygulamanızın çökmesi durumunda temel nedeni belirlemenize yardımcı olabilir ve ayrıca uygulamanızın kullanıcı arayüzüyle ilgili sorunları bulmanıza da yardımcı olabilir.

Robo testi tarama istatistikleri

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

  • Eylemler: eylemlerin sayısı Robo komut eylemleri, maymun eylemleri ve Robo direktifleri dahil tarama sırasında gerçekleştirdi.
  • Etkinlikler: tarama sırasında örtülü ayrı etkinliklerinin sayısı.
  • Ekranlar: tarama sırasında ziyaret belirgin ekran sayısı.

Test Lab ayrıca, bir tarama grafiği biçiminde Robo taramasının 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'nun 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 Google Geliştirici Konsolu çalıştırmak testler için 300 saniye (5 dakika) ve çalıştırılan testler için 1500 saniye (25 dakika) gcloud komut satırında.

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

Uygulamanızın başlaması uzun sürerse Robo bir 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ıyla, uygulamanızdaki bir iş akışında yürürken kendinizi kaydedersiniz, ardından bu kaydı Robo testlerinde çalıştırmak için Firebase konsoluna yüklersiniz. Bir komut dosyası eklenmiş olarak bir Robo testi çalıştırdığınızda, Robo önce önceden komut dosyası oluşturulmuş eylemlerinizde adım adım ilerler, ardından her zamanki gibi uygulamayı keşfetmeye devam eder.

Android Studio'daki Firebase aracıyla Robo komut dosyası oluşturmaya başlayın:

  1. Android Studio'yu açın.
  2. Ana menüde,> Firebase Araçlar seçin.
  3. Deney Lab seçip Tutanak Robo Komut tıklayıp Kılavuzu Robo Testi için kullanabilirsiniz.
  4. Robo Komut Dosyanızı kaydetmek için araçtaki diğer adımları izleyin.
  5. Bu Robo Komut Dosyasını Test Laboratuvarına yükleyin ve testinizi başlatın.

Robo komut dosyası hataları

Bir Robo komut dosyası herhangi bir noktada başarısız olursa, Test Lab komut dosyasındaki diğer tüm adımları bırakır ve normal bir Robo taramasına devam eder. Çoğu zaman, Test Lab ekranda gerekli bir öğeyi bulamadığı için Robo komut dosyaları başarısız olur. Hataları önlemek için, uygulama navigasyonunuzun tahmin edilebilir olduğundan ve ekranlarınızın belirli olmayan bir sırayla gösterilmediğinden emin olun.

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 eylemlerinin aksine, Monkey Actions, bir cihazın ekranındaki yarı rastgele konumlardaki dokunma olaylarını basitçe simüle eder.

Android UI widget kullanmayın daha iyi bir test ekranlarında için, üzerinden programlanabilir musluklar ve etkileşimlerin bir set ile bir maymun Eylem keyfi musluklar yerine Firebase Test Laboratuvarı Oyun Döngü Testleri .

Google Play ile entegrasyon

Alfa veya beta kanalını kullanarak uygulamanızın APK dosyasını yükleyip yayınlarken 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örleri ve donanım yapılandırmaları arasında test kapsamı sağlar. Daha fazla bilgi için bkz sorunları tanımlamak için kullanın öncesi fırlatma raporlar .

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. Sipariş üzerine de oturum açma ve diğer önceden tanımlanmış metin girişi için, Robo testi içine metin girebilirsiniz EditText uygulamanızda alanlar. Her dize için, tespit etmek gerekir EditText bir Android kaynak adını kullanarak alanını. Daha fazla bilgi için bkz Erişim Kaynakları .

Kayıt olmak

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

  • Özel oturum açma: Eğer test hesabı kimlik bilgilerini, nereye onları girmek için Robo testini anlatmak ve ayrıca bu kimlik bilgilerini sağlamanız gerekir.
  • Otomatik oturum açma: Uygulamanızın bir oturum açma ekranında kimlik doğrulama için bir Google hesabı kullanan varsa özel oturum açma için test hesabı kimlik bilgilerini sürece, Robo testi, bir Google test hesabını 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çenekleri belirleyin.
  2. Test hesabı kimlik bilgileri (İsteğe bağlı) altında, kullanıcı adı ve şifre kaynak adları ve test hesabın kullanıcı adı 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:

  1. Boyutları seçin sayfasında Ek seçenekleri belirleyin.
  2. Ek alanlar (İsteğe bağlı) altında, bir veya birden fazla kaynak adları girin ve dizeleri ilgili metin alanlarına girin.

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

İçin Robo aramalar EditText bir ürünle düzenli ifade eşleşen bir Android kaynak adıyla alanlar. Robo eşleşen bir alan bulamazsa, metninizi girmez, aksi takdirde her zamanki gibi taramasına devam eder.

Üç kadar sağlayabilir derin bağlantıları test için uygulama tarafından desteklenen. Derin bağlantılar Android uygulamanıza verilir ACTION_VIEW niyet. Bu nedenle, her bağlantı uygulamanızdaki bir amaç filtresiyle eşleşmelidir.

Bir veya daha fazla derin bağlantıları sağlanırsa, uygulama ilk (kullanarak normalde başlatılır ACTION_MAIN niyet) ve belirtilen zaman aşımı kadar sürünerek. Ana taramadan sonra, her derin bağlantı, her biri 30 saniye daha taranır.

Robo, 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 Laboratuvarı kullandığınız uygulamaları destekler Uygulama Lisanslama Google Play tarafından sunulan hizmet. 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çeve desteği. Robo testi Android UI çerçevesinden kullanım UI öğeleri (dahil olduğu uygulamalar ile uyumludur View ve ViewGroup nesneleri, ancak hariç WebView nesneleri). 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, oturum açmak için kimlik bilgilerini girmenin ötesinde ek kullanıcı eylemi gerektiren oturum açma ekranlarını atlayamaz (bir Captcha'yı tamamlamak gibi).