Robo testi çalıştırma (Android)

Robo testi, Firebase Test Lab ile entegre edilmiş bir test aracıdır. Robo test, 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ı sistematik bir şekilde inceler. 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 gerileme olup olmadığını test etmek için Robo test'i kullanmanıza olanak tanır.

Robo test, günlük dosyalarını yakalar, bir dizi not eklenmiş ekran görüntüsü kaydeder ve ardından bu ekran görüntülerinden, gerçekleştirdiği simüle edilmiş kullanıcı işlemlerini göstermek için 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 test özellikleri, uygulamanızın kullanıcı arayüzündeki 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 ve sonraki sürümler 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 testi, Robo testi sonuçlarınızı yorumlamanıza yardımcı olmak için her test taraması sırasında istatistikleri kaydeder. Test Lab, test sonuçları sayfanızdaki Robo test sekmesinin üst kısmında istatistikleri gösterir:

  • İşlemler: Robo komut dosyası işlemleri, maymun işlemleri ve Robo yönergeleri dahil olmak üzere tarama sırasında yapılan toplam işlem 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, istatistikleri kullanarak Robotest'in tarayıcı grafiği biçiminde görsel bir temsilini de oluşturur. Grafikte düğümler ekranlar, kenarlar ise işlemlerdir. 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ı

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 Robo testinin beş dakika veya daha uzun sürmesi gerekebilir. Test zaman aşımının çoğu uygulama için en az 120 saniye (2 dakika), orta düzeyde karmaşık uygulamalar için ise 300 saniye (5 dakika) olarak ayarlanmasını ö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ürerse Robo test hata verebilir ve uygulamanızı tarayamaz. Bu durum yalnızca başlatma süresinin çok uzun olduğu durumlarda ortaya çıkar ve yalnızca uygulamanızı daha hızlı başlatılacak şekilde düzelterek çözülebilir.

Robo komut dosyalarıyla daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız olur. Örneğin, yaygın bir kullanıcı yolculuğunu test etmek veya kullanıcı adı ve şifre gibi belirli kullanıcı arayüzü girişleri sağlamak isteyebilirsiniz. Robo komut dosyaları bu konuda 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ı makalelere göz atın.

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'yi kullanır. Bu, testlerin kullanıcı arayüzünüzü otomatik olarak keşfetmesine yardımcı olur ancak testleri çalıştırmak için bir ekranın Android kullanıcı arayüzü hiyerarşisini ayıklayabilmeleri gerektiği anlamına da gelir.

Uygulamanızdaki bir ekranda Android kullanıcı arayüzü widget'ları kullanılmıyorsa Robo testleri, söz konusu ekranı test etmek için Monkey Actions'a geçer. Daha metodik Robo testi işlemlerinin aksine Monkey Actions, cihaz ekranındaki yarı rastgele konumlarda dokunma etkinliklerini simüle eder.

Android kullanıcı arayüzü widget'ları kullanmayan ekranları daha iyi test etmek için Monkey Action'ın rastgele tıklamalarını, Firebase Test Lab Oyun Döngüsü Testleri aracılığıyla komut dosyası içeren bir dizi tıklama ve etkileşimle değiştirebilirsiniz.

Google Play ile entegrasyon

Uygulamanızın APK dosyasını alfa veya beta kanalını kullanarak yükleyip yayınlarken Google Play Console'da Robo testi'ni kullanabilirsiniz. Robo test, farklı coğrafi konumlardaki popüler fiziksel cihazlarda çalışır ve çeşitli form faktörleri ve donanım yapılandırmalarında test kapsamı sunar. Daha fazla bilgi edinmek için Sorunları tanımlamak için lansman öncesi raporları kullanma başlıklı makaleyi inceleyin.

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

Robo test, test hesabı oturum açma özelliğini destekler ve 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 test, 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 test, oturum açmayı desteklemek için birbirini hariç tutan iki yönteme sahiptir:

  • Özel oturum açma: Test hesabı kimlik bilgilerini sağlarsanız Robo test'e bu kimlik bilgilerinin nereye girileceğini belirtmeniz ve kimlik bilgilerini sağlamanız gerekir.

  • Otomatik oturum açma: Uygulamanızda kimlik doğrulama için 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 bilgilerini sağlamak üzere aşağıdakileri yapın:

  1. Boyut seçin sayfasında Ek seçenekler'i belirleyin.

  2. Test hesabı kimlik bilgileri (isteğe bağlı) bölümünde, kullanıcı adı ve şifre kaynak adlarını ve 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 alanlar için metin girişi sağlamak üzere aşağıdakileri yapın:

  1. Boyut seçin sayfasında Ek seçenekler'i belirleyin.

  2. Ek alanlar (İsteğe bağlı) bölümüne bir veya daha fazla kaynak adı ve ilgili metin alanlarına girilmesi gereken dizeleri girin.

Önceden tanımlanmış metin girişi {:#predefined-text} hataları

Robo testi, sağlanan normal ifadeyle eşleşen bir Android kaynak adına sahip EditText alanları arar. Robo eşleşen bir alan bulamazsa metninizi girmez, aksi takdirde taramaya normal şekilde 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 intent'leri olarak gönderilir. 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 intent'i kullanılarak) başlatılır ve belirtilen zaman aşımına kadar taranır. Ana tarama işleminden sonra her derin bağlantı 30 saniye daha taranır.

Robo test, derin bağlantınızla eşleşen bir etkinlik bulamazsa Test Labbu bağlantıyı yoksayar. 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 olup olmadığını kontrol etmek 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 denetimini kaldırın.

Sonraki adımlar