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

Robo test, 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 metodik olarak inceler. Robo test, belirli bir cihaz yapılandırmasında aynı ayarlara sahip bir uygulamayı test etmek için kullandığınızda aynı kullanıcı etkinliklerini her zaman aynı sırayla simüle eder. Bu tekrarlanabilir test yaklaşımı, hata düzeltmelerini doğrulamak ve regresyonları test etmek için Robo test'i kullanmanıza olanak tanır.

Robo test günlük dosyalarını yakalar, bir dizi ek açıklamalı ekran görüntüsü kaydeder ve daha sonra bu ekran görüntülerinden gerçekleştirdiği kullanıcı işlemlerinin simülasyonunu gösteren 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üyle ilgili sorunları da bulmanıza yardımcı olabilir.

Düzenli 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 edinmek için Robo komut dosyası çalıştırma konusuna bakın.

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, istatistikleri test sonuçları sayfanızdaki Robo test sekmesinin üst kısmında görüntüler:

  • İşlemler: Robo komut dosyası işlemleri, maymun işlemleri ve Robo yönergeleri de dahil olmak üzere tarama sırasında gerçekleştirilen toplam işlem sayısı.

  • Etkinlikler: Tarama sırasında ele alınan farklı etkinliklerin sayısı.

  • Ekranlar: Tarama sırasında ziyaret edilen farklı ekranların sayısı.

Test Lab, Robo testinin tarama grafiği biçiminde görsel bir temsilini oluşturmak için de bu istatistiklerden yararlanır. Grafiğin düğümleri olarak ekranlar ve kenarlar olarak eylemler vardır. Ekranlar arasındaki kenarları takip ederek, Robo testinin tarama boyunca uygulamanızda nasıl gezindiği konusunda bir fikir edinebilirsiniz.

Robo testi zaman aşımı

Uygulamanızın kullanıcı arayüzünün karmaşıklığına bağlı olarak, Robo testin kapsamlı bir kullanıcı arayüzü etkileşimlerini tamamlaması beş dakika veya daha uzun sürebilir. Test zaman aşımını çoğu uygulama için en az 120 saniye (2 dakika), orta düzeyde karmaşık uygulamalar için de 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 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 sorun yalnızca başlatma süresinin çok uzun olması durumunda meydana gelir ve uygulamanızın daha hızlı başlatılmasını sağlayacak şekilde düzeltilerek giderilebilir.

Robo komut dosyalarıyla daha fazla kontrol

Bazen testleriniz üzerinde daha fazla kontrole ihtiyacınız olur. Örneğin, ortak 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ı size 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 rehberine bakın.

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

Robo testleri, doğrudan Android kullanıcı arayüzü widget'ları üzerinde işlem gerçekleştirmek için Android API'yi kullanır. Bu, testlerin kullanıcı arayüzünü otomatik olarak keşfetmesine yardımcı olur ancak aynı zamanda bir ekranda test çalıştırabilmek için Android kullanıcı arayüzü hiyerarşisini ayıklayabilmeleri gerektiği anlamına da gelir.

Uygulamanızdaki bir ekran Android kullanıcı arayüzü widget'larını kullanmıyorsa Robo testleri bu ekranı test etmek için Monkey Actions'ı kullanır. Daha metodik Robo test işlemlerinden farklı olarak Monkey Actions, yalnızca cihaz ekranındaki yarı rastgele konumlarda dokunma etkinliklerini simüle eder.

Android kullanıcı arayüzü widget'larının kullanılmadığı ekranları daha iyi test etmek için Firebase Test Lab Oyun Döngüsü Testleri aracılığıyla Monkey Action'ın rastgele dokunma işlemlerini komut dosyası içeren dokunma ve etkileşimlerle değiştirebilirsiniz.

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 test'i kullanabilirsiniz. Robo test, farklı coğrafi konumlardan popüler olan bir dizi fiziksel cihaz üzerinde çalışarak çeşitli form faktörleri ve donanım yapılandırmaları genelinde test kapsamı sağlar. Daha fazla bilgi edinmek isterseniz Sorunları tanımlamak için lansman öncesi raporları kullanma bölümüne bakın.

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

Robo test, test hesabında oturum açmayı destekler ve uygulamanızdaki alanlara önceden tanımlanmış metin girmenize olanak tanır. Robo test, özel oturum açma ve diğer önceden tanımlanmış metin girişleri için uygulamanızdaki EditText alanlarına metin girebilir. Her dize için EditText alanını bir Android kaynak adı kullanarak tanımlamanız gerekir. Daha fazla bilgi edinmek için Kaynaklara Erişme sayfasını 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 bilgileri sağlarsanız Robo test'e bu bilgileri nerede gireceğini söylemeniz ve bu 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 (İsteğe bağlı) altında, test hesabının kullanıcı adı ve şifre kaynağı adları ile 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 şunları yapın:

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

  2. Ek alanlar (İsteğe bağlı) altında, bir veya daha fazla kaynak adı girin. İlgili metin alanlarına girilecek 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ını arar. Robo eşleşen alan bulamazsa metninizi girmez, aksi takdirde taramasına her zamanki gibi devam eder.

Test için uygulamanızın desteklediği en fazla üç derin bağlantı sağlayabilirsiniz. Derin bağlantılar, uygulamanıza Android ACTION_VIEW amacı olarak yayınlanır. Bu nedenle, her bağlantı uygulamanızdaki bir intent filtresiyle eşleşmelidir.

Bir veya daha fazla derin bağlantı sağlanırsa uygulama ilk olarak normal bir şekilde 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ının her biri ek 30 saniye boyunca taranır.

Robo test, 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ıktan kaynaklanır. Hem sağlanan URL'de hem de uygulamanızda yazım hatası veya başka tutarsızlıklar olup olmadığını 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ına yayınlamanız gerekir. Uygulamanızı Test Lab'i kullanarak alfa veya beta kanalında test etmek için uygulamanızı Test Lab'e yüklemeden önce lisans kontrolünü kaldırın.

Sonraki adımlar