Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Robo testlerine 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 yöntemsel olarak araştırır. Kullanıcı Arayüzü / Uygulama Egzersiz Maymunu testinin aksine, Robo testi, bir uygulamayı aynı ayarlarla belirli bir cihaz yapılandırmasında test etmek için kullandığınızda her zaman aynı kullanıcı etkinliklerini aynı sırada taklit eder. Bu, hata düzeltmelerini doğrulamak ve UI / Application Exerciser Monkey testi ile test ederken mümkün olmayan bir şekilde regresyonları 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 daha sonra 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, uygulamanız kilitlenirse temel nedeni belirlemenize yardımcı olabilir ve 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 Laboratuvarı, testinizin sonuçlar sayfasındaki Robo sekmesinin üstünde istatistikleri görüntüler:

  • Eylemler: Tarama sırasında gerçekleştirilen, Robo komut dosyası eylemleri, maymun eylemleri ve Robo yönergeleri dahil olmak üzere toplam eylem sayısı.
  • Faaliyetler: Tarama sırasında ele alınan farklı faaliyetlerin sayısı.
  • Ekranlar: Tarama sırasında ziyaret edilen ayrı ekranların sayısı.

Test Laboratuvarı ayrıca istatistikleri bir tarama grafiği biçiminde Robo taramasının görsel bir temsilini oluşturmak için kullanır. Grafik, düğümleri gibi ekranlara ve kenarlar gibi eylemlere sahiptir. Ekranlar arasındaki kenarları takip ederek, Robo'nun uygulamanızın tarama boyunca nasıl geçtiğine dair bir fikir edinebilirsiniz.

Robo 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şimlerini 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. Android Studio ve Google Geliştirici Konsolu'ndan yapılan testler için varsayılan zaman aşımı değeri 300 saniye (5 dakika) ve gcloud komut satırından gerçekleştirilen testler için 1500 saniye (25 dakika) ' gcloud .

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

Uygulamanızın başlaması uzun sürüyorsa Robo bir hata verebilir ve uygulamanızı tarayamaz. Bu, yalnızca çok uzun başlatma sürelerinde olur ve yalnızca uygulamanızı daha hızlı başlatacak şekilde gözden geçirerek çözülebilir.

Robo komut dosyalarıyla daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız olabilir. Örneğin, ortak bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve şifre gibi belirli kullanıcı arayüzü 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 kaydeder, ardından Robo testlerinde çalıştırmak için bu kaydı Firebase konsoluna yüklersiniz. Bir komut dosyası eklenmiş bir Robo testi çalıştırdığınızda, Robo önce komut dosyası oluşturulmuş eylemlerinizi gerçekleştirir, ardından uygulamayı her zamanki gibi keşfetmeye devam eder.

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

  1. Android Studio'yu açın.
  2. Ana menüde, Tools > Firebase'i seçin.
  3. Test Laboratuvarı'nı seçin ve Robo Komut Dosyasını Kaydet'i tıklayın ve Robo Testine Kılavuzluk etmek için kullanın .
  4. Robo Komut Dosyanızı kaydetmek için araçtaki diğer adımları izleyin.
  5. Bu Robo Script'i 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 Laboratuvarı koddaki diğer tüm adımları bırakır ve düzenli bir Robo taramasına devam eder. Çoğu zaman, Test Laboratuarı ekranda gerekli bir öğeyi bulamadığı için Robo komut dosyaları başarısız olur. Hatalardan kaçınmak için uygulama navigasyonunuzun öngörülebilir olduğundan ve ekranlarınızın belirleyici olmayan bir sırayla gösterilmediğinden emin olun.

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

Robo testleri, Android UI widget'larında doğrudan işlem yapmak için Android API'sını kullanır. Bu, testlerin kullanıcı arayüzünüzü otomatik olarak keşfetmesine yardımcı olur, ancak aynı zamanda testleri çalıştırmak için bir ekran için bir Android UI hiyerarşisini çıkartabilmeleri gerektiği anlamına gelir.

Uygulamanızdaki bir ekran Android UI widget'larını kullanmıyorsa, Robo testleri bu ekranı test etmek için Monkey Actions'a geri döner. Daha yöntemsel Robo eylemlerinden farklı olarak, Maymun Eylemleri bir cihazın ekranındaki yarı rastgele konumlardaki musluk olaylarını simüle eder.

Android UI widget'larını kullanmayan ekranları daha iyi test etmek için, bir Monkey Action uygulamasının keyfi dokunuşlarını Firebase Test Laboratuvarı Oyun Döngü Testleri aracılığıyla bir dizi senaryo dokunuşu ve etkileşimi ile 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 Konsolu'ndaki Robo testini kullanabilirsiniz. Robo testi, farklı coğrafi konumlardan bir dizi popüler fiziksel cihazda ç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 lansman öncesi raporları kullanma .

Hesapta oturum açma ve önceden tanımlanmış metin girişini test etme

Robo testi, test hesabı oturum açmasını destekler ve ayrıca uygulamanızdaki alanlara önceden tanımlanmış metin girmenizi sağlar. Ö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 için bkz. Kaynaklara Erişim .

Oturum aç

Robo testinde oturum açmayı desteklemek için birbirini dışlayan iki yöntem vardır:

  • Özel oturum açma: Test hesabı kimlik bilgileri sağlarsanız, Robo testine bunları nereye gireceğinizi söylemeniz ve bu kimlik bilgilerini girmeniz gerekir.
  • Otomatik oturum açma: Uygulamanızda 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 testi 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. Hesap kimlik bilgilerini test et (İsteğe bağlı) altında, test hesabının kullanıcı adını ve şifre kaynak adları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:

  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ı ve ilgili metin alanlarına girilecek dizeleri girin.

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

Robo, 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 normalde olduğu gibi taramaya devam eder.

Test için uygulamanız tarafından desteklenen en fazla üç derin bağlantı sağlayabilirsiniz. Derin bağlantılar uygulamanıza Android ACTION_VIEW amacı olarak gönderilir. Bu nedenle, her bağlantının uygulamanızdaki bir niyet filtresiyle eşleşmesi gerekir.

Bir veya daha fazla derin bağlantı sağlanırsa, uygulama önce normal olarak 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 ek 30 saniye daha taranır.

Robo derin bağlantınızla eşleşen bir etkinlik bulamazsa Test Laboratuvarı 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'de hem de uygulamanızda yazım hataları veya diğer tutarsızlıklar olup olmadığını kontrol edin.

Uygulama lisanslama desteği

Test Laboratuvarı, Google Play tarafından sunulan Uygulama Lisansı hizmetini kullanan uygulamaları destekler. Uygulamanızı Test Laboratuvarı ile test ederken lisanslamayı başarıyla kontrol etmek için, uygulamanızı Play Store'daki üretim kanalında yayınlamanız gerekir. Test Lab kullanarak uygulamanızı 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 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 da dahil olmak üzere diğer UI çerçevelerini kullanan uygulamaları kullanmak için Robo testini kullanırsanız, test ilk ekranın ötesini keşfetmeden çıkabilir.
  • Oturum Açma Captchas . Robo testi, oturum açmak için kimlik bilgilerini girmenin ötesinde ek kullanıcı işlemi gerektiren oturum açma ekranlarını atlayamaz (Captcha'yı tamamlamak gibi).