Uygulama Testi aracısı (Android)

Uygulama Testi Ajanı, Firebase'da Gemini tarafından desteklenen bir test senaryosu oluşturma, yönetme ve yürütme ajanıdır. Test hedeflerini doğal dilde tanımlarsınız. Ajan, uygulamanızı anlamak ve uygulamada gezinmek, kullanıcı etkileşimlerini simüle etmek ve ayrıntılı test sonuçları sağlamak için yapay zekayı kullanır.

Uygulama Testi aracısı verilerinizi nasıl kullanır?

Uygulama Testi aracısı, Firebase'daki Gemini tarafından sağlanır ve aynı şartlara tabidir. Firebase'daki Gemini'ın verilerinizi nasıl kullandığı hakkında daha fazla bilgi edinmek için Firebase'daki Gemini'ın verilerinizi nasıl kullandığı başlıklı makaleyi inceleyin.

Başlamadan önce

Henüz yapmadıysanız uygulamanızı Firebase'e kaydedin.

Başka Firebase ürünleri kullanmıyorsanız yalnızca bir proje oluşturmanız ve uygulamanızı kaydetmeniz gerekir. Uygulamanıza herhangi bir SDK eklemeniz gerekmez. Ancak gelecekte ek ürünler kullanmaya karar verirseniz Firebase konsolunu kullanarak Firebase ekleme bölümündeki tüm adımları tamamladığınızdan emin olun.

Test senaryosu oluşturma

Yapay zeka destekli testler çalıştırmak için uygulama testi aracısı, uygulamanıza karşı testler yürütmek üzere doğal dil test senaryolarınızı kullanır.

Her test senaryosu, sırayla yürütülecek adımlara ayrılır. Adımlar, test senaryonuzu her biri kendi onayına sahip aşamalara ayırmanıza olanak tanır. Temsilci, herhangi bir adım sırasında birçok işlem yapabilir.

Test senaryosu oluşturmanın iki yolu vardır: YAML dosyası kullanmak veya Firebase konsolunu kullanmak. YAML dosyaları, test senaryolarını genellikle sürüm kontrolü yapılmış bir kaynak kodu deposunda kendiniz yönetmenize olanak tanır. Alternatif olarak, Firebase Console, test senaryolarınızı App Distribution verilerinizle birlikte uzaktan saklayabilir.

YAML dosyalarını kullanma

Aşağıdaki örnekte, iki test durumu tanımlayan bir YAML dosyası gösterilmektedir:

tests:
- displayName: Login as guest
  id: login-as-guest
  steps:
  - goal: Log in as a guest
    finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
  prerequisiteTestCaseId: login-as-guest
  steps:
  - goal: Open the article on "Bob Dylan"
    hint: Use the search function to find it
    finalScreenAssertion: >-
      The article is opened and the title "Bob Dylan" is visible.
  - goal: Find Bob Dylan's birthday in the article
    hint: >-
      Look for the "Born" section in the infobox on the right side of the page.
    finalScreenAssertion: >-
      The text "May 24, 1941" is visible on the screen.

Test gruplarını tek bir dosyada düzenleyebilir ve bu test paketlerini birden fazla dosyada ayırabilirsiniz. Teste kimlik ekleyip prerequisiteTestCaseId kullanarak bu kimliğe referans vererek ön koşul test durumu ekleyebilirsiniz.

App Distribution konsolunu kullanma

Alternatif olarak, test senaryolarınızı Firebase Console'da oluşturup yönetebilirsiniz. Test senaryosu oluşturmak için App Distribution sayfasını açın ve aşağıdaki adımları uygulayın: Firebase konsolu

  1. Test Cases (Test Senaryoları) sekmesinde New test case'i (Yeni test senaryosu) tıklayın. Kendi test senaryonuzu oluşturmak istemiyorsanız sağlanan örnek test senaryosunu değiştirebilir veya kullanabilirsiniz.
  2. Test senaryosu ekle iletişim kutusunda test senaryosuna bir ad verin. Bu, testi tanımlamak için kullanılır ancak aracı tarafından yoksayılır.
  3. (İsteğe bağlı) Ana testten önce çalıştırılacak kurulum adımlarını içeren bir Ön koşul test senaryosu seçin. Ön koşul testi başarısız olursa tüm test başarısız olarak işaretlenir. Ön koşul ve ana testlerdeki adımlar ve sonuçlar, test sonuçlarında birlikte gösterilir.
  4. Başka bir adım ekle düğmesini tıklayarak testinizi birden fazla adıma ayırabilirsiniz.
  5. Her adıma, uygulama testi aracısının bu adım sırasında ne yapması gerektiğini açıklayan bir Hedef verin.
  6. (İsteğe bağlı) Uygulama Testi temsilcisinin bu adım sırasında uygulamanızı anlamasına ve uygulamada gezinmesine yardımcı olacak ek bilgiler sağlamak için İpucu ekleyin.
  7. Adımın başarıyla tamamlandığını belirlemesi için uygulama testi temsilcisine yardımcı olmak üzere Son ekran onayı ekleyin. Bu iddia yalnızca ekranda görünenleri ifade etmelidir.
  8. Testinizi özelleştirmeyi tamamladığınızda Kaydet'i tıklayın.

Örnek test durumu

Aşağıda, uygulama testi aracısını kullanarak test durumu oluşturma örneği verilmiştir:

Test başlığı

Ana sayfa yüklemeleri

Hedef

Ana sayfayı yükleme

İpucu

İlk katılım ekranlarını geçin. Tüm pop-up'ları kapatın. Oturum açmayın.

Son ekran onayı

Ana uygulama ana sayfası ekranda görünür durumda, tüm resimler yüklenmiş ve herhangi bir hata gösterilmiyor.

Test çalıştır

Testlerinizi nasıl çalıştıracağınız, test senaryolarınızı nasıl oluşturup yönettiğinize bağlıdır. Test senaryolarını YAML dosyalarını kullanarak tanımlarsanız bu testleri Firebase CLI'yı kullanarak çalıştırırsınız. Test senaryolarınızı App Distribution konsolunda oluşturursanız bunları konsoldan veya App Distribution KSA araçlarından biri aracılığıyla çalıştırırsınız.

YAML dosyalarını kullanma

YAML dosyalarında tanımlanan test senaryoları, Firebase CLI kullanılarak yürütülebilir.

  1. Firebase CLI'nin en son sürümünü yükleyin veya bu sürüme güncelleyin. KSA için OS'nize özel bağımsız ikili programı indirmenizi öneririz.
  2. Oturum açın ve projelerinize erişebildiğinizi test edin. Firebase CLI'yı bir CI ortamında kullanıyorsanız hizmet hesabı ile veya login:ci komutunu kullanarak da kimlik doğrulayabileceğinizi unutmayın.
  3. apptesting:execute komutunu çalıştırın. Örneğin:

    firebase apptesting:execute \
      --app=1:1234567890:android:0a1b2c3d4e5f67890 \
      --test-dir=./mytests \
      ./app/build/outputs/apk/debug/app-debug.apk
    
apptesting:execute [seçenekler] [/path/to/app/binary]
--app

Gerekli: Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolundaki Genel Ayarlar sayfasında bulabilirsiniz.

--app 1:1234567890:android:0a1b2c3d4e5f67890

--test-dir

Test senaryosu YAML dosyalarını içeren bir dizinin yolu. Komut, bu dizin altında yinelemeli olarak arama yapacağından dosyalar isteğe bağlı olarak alt dizinler halinde düzenlenebilir. Ayarlanmazsa varsayılan olarak "./tests" kullanılır.

--test-devices veya
--test-devices-file

Derlemeleri Uygulama Testi temsilcisi özelliğine dağıtmak istediğiniz test cihazları.

Test cihazlarını noktalı virgülle ayrılmış bir test cihazları listesi olarak belirtebilirsiniz:

--test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

Alternatif olarak, noktalı virgülle ayrılmış test cihazları listesini içeren düz metin dosyasının yolunu belirtebilirsiniz:

--test-devices-file "/path/to/test-devices.txt"

Kullanılabilir cihaz modellerini gcloud CLI ile arayabilirsiniz.

--test-non-blocking

Ayarlanırsa komut, testleri başlatır ve tamamlanmalarını beklemek yerine hemen geri döner.

--test-file-pattern

Normal ifade kalıbı. Yalnızca bu kalıpla eşleşen dosyalarda bulunan testler yürütülür.

--test-name-pattern

Normal ifade kalıbı. Yalnızca bu kalıpla eşleşen görünen adlara sahip testler yürütülür.

/path/to/app/binary

İsteğe bağlı: Uygulamanızın ikili programının yolu. Belirtilmezse aracı, belirtilen uygulama için App Distribution'ya yüklenen son sürümü kullanır.

App Distribution konsolunu kullanma

App Distribution'da depolanan test senaryolarını çalıştırmak için Firebase konsolunu, Firebase CLI'yı veya App Distribution'ın Gradle ya da fastlane eklentilerini kullanabilirsiniz.

YAML dosyalarıyla test senaryolarını içe ve dışa aktarma

Test senaryolarını Firebase konsolunun dışında yönetmek istediğinizde test senaryolarını YAML dosyalarından içe aktarmak faydalıdır. Test senaryolarını projeler arasında taşımak için dışa aktarmak da yararlı olabilir. Mevcut test senaryolarını iyileştirmek veya yeni test senaryoları oluşturmak için bir LLM kullanabilirsiniz. Test senaryolarını Firebase konsolundaki Test Senaryoları sayfasından veya Firebase CLI'yı kullanarak programatik olarak içe ve dışa aktarabilirsiniz. YAML test durumu örneği için YAML test durumu oluşturma başlıklı makaleyi inceleyin.

Test sonuçlarınızı görüntüleme

Testlerinizin sonuçlarını, sürümün Uygulama Testi aracısı sekmesindeki Sürümler sayfasından görüntüleyebilirsiniz. Ayrıntıları göster düğmesi, Test Sonuçları iletişim kutusunu açar ve sorunları, uygulamanın ekran görüntülerini ve Gemini'ın test sırasında gerçekleştirdiği işlemleri gösterir.

Bir testte yeniden oynatılan işlemler varsa orijinal yapay zeka destekli test çalıştırmasını görüntüleyebilir veya önbelleği temizleyebilirsiniz.

Test sonuçlarınız hakkında daha fazla bilgi edinmek için aşağıdaki tabloyu kullanın:

Simge Ad Açıklama
spark Yapay zeka işlemi Uygulama Testi aracısının bir işlem yapmaya veya adımı sonlandırmaya karar vermek için Gemini'ı kullandığını gösterir.
replay Yeniden oynatılan işlem Uygulama Testi aracısının, testin önceki başarılı çalıştırmasındaki bir işlemi yeniden oynattığını gösterir.
spark Yapay zeka onaylaması Uygulama Testi aracısının, aynı testin önceki başarılı çalıştırmasındaki işlemleri yeniden oynattıktan sonra son ekran onayını doğrulamak için Gemini'ı kullandığını gösterir.

Test sonuçlarınızda hata ayıklama

Test sonuçlarınız beklediğinizden farklıysa Test Sonuçları sayfasındaki Ayrıntıları göster bölümünde yer alan Aracı görünümünü göster açma/kapatma düğmesini kullanarak testinizde hata ayıklayabilirsiniz. Aracı görünümü, uygulama testi aracısının uygulamanın erişilebilirlik bilgilerini kullanırken algılayabildiği ekrandaki öğeleri gösterir. Temsilcinin gördüklerini daha yakından incelemek isterseniz bu bilgileri işlem taşma menüsünden indirebilirsiniz.

Test sonuçlarınızla ilgili tüm videoları, günlükleri ve diğer Cloud yapılarını incelemek için Test Sonuçları sayfasındaki Yapıları görüntüle düğmesini de kullanabilirsiniz.

Bilinen sorunlar ve sınırlamalar

Uygulama Testi temsilcisi önizlemesinin bazı bilinen sınırlamaları vardır:

  • Uygulama Testi aracısı, uygulamanızı test etmek için üretken yapay zekayı kullandığından bazen aynı talimatları izlemeye devam ederken farklı işlemler yapabilir.
  • Uygulama Testi aracısı yalnızca şu işlemleri destekler: dokunma, metin girme, yukarı/aşağı/sola/sağa kaydırma, uzun basma, sürükle ve bırakma, geri gitme ve bekleme.
  • Uygulama Testi aracısı, tamamlanması için birçok işlem yapılması gereken tek bir adım içeren testleri yürütmekte zorlanıyor. Karmaşık görevler birden fazla kısa adıma bölündüğünde daha iyi performans gösterir.
  • Uygulama Testi aracısı bazen ekran dışındaki diğer öğeleri göstermek için kaydırma yapmaz. Bu durum, kaydırılabilirliğin görsel olarak belirtilmediği durumlarda daha sık görülür. Geçici çözüm olarak, kaydırma önerisinde bulunmak için "ipuçları" alanı kullanılabilir.
  • Uygulama Testi temsilcisi bazen sayma konusunda sorun yaşayabilir. Örneğin, belirli sayıda işlem yapma.
  • FLAG_SECURE etkinse uygulama testi aracısı uygulamanızda gezinemez. Uygulamanızın ekran görüntüleri yerine yalnızca boş bir ekran görür.

Test kotaları

Önizleme sırasında, yapay zeka destekli testler kota sınırı dahilinde ücretsiz olarak sunulur. Varsayılan kota sınırı, Firebase projesi başına ayda 200 testtir.

Birden fazla test senaryosu çalıştırmayı veya aynı test senaryosunu birden fazla cihazda çalıştırmayı seçerseniz bunun birden fazla test olarak sayılacağını unutmayın. Örneğin, 2 cihazda 2 test senaryosu çalıştırırsanız bu toplamda 4 test olarak sayılır.

Kotanızı varsayılan sınırın üzerine çıkarmak için kullanım alanınızı belirterek Firebase Destek Ekibi ile iletişime geçin.