Espresso Test Recorder ile kullanıcı arayüzü testleri oluşturma

Espresso Test Kaydedici aracı, herhangi bir test kodu yazmadan uygulamanız için kullanıcı arayüzü testleri oluşturmanızı sağlar. Test senaryosu kaydederek bir cihazla etkileşimlerinizi kaydedebilir ve uygulamanızın belirli anlık görüntülerinde kullanıcı arayüzü öğelerini doğrulamak için talepler ekleyebilirsiniz. Ardından Espresso Test Kaydedici, kaydedilen kaydı alır ve uygulamanızı test etmek için çalıştırabileceğiniz ilgili bir kullanıcı arayüzü testini otomatik olarak oluşturur.

Espresso Test Kaydedici, testleri AndroidX Test'teki bir API olan Espresso Testi çerçevesine dayalı olarak yazar. Espresso API, kullanıcı işlemlerine dayalı kısa ve güvenilir kullanıcı arayüzü testleri oluşturmanızı önerir. Temel uygulamanın etkinliklerine ve görünümlerine doğrudan erişmeden beklentileri, etkileşimleri ve ifadeleri ifade eden bu yapı, testte görülen gecikmeleri engeller ve test çalıştırma hızını optimize eder.

Test cihazınızda animasyonları devre dışı bırakma

Espresso Test Kaydedici'yi kullanmadan önce, beklenmedik sonuçlarla karşılaşmamak için test cihazınızda animasyonları kapattığınızdan emin olun. Espresso kurulum talimatlarını uygulayın ancak Test Kaydedici, bir kaydı kaydettiğinizde bunu otomatik olarak yaptığından Espresso kitaplığı için manuel olarak bir bağımlılık referansı ayarlamanız gerekmediğini unutmayın. Bu adımların belirli bir proje için yalnızca bir kez uygulanması yeterlidir.

Espresso testi kaydedin

Espresso testleri iki temel bileşenden oluşur: kullanıcı arayüzü etkileşimleri ve Görünüm öğelerindeki onaylar. Kullanıcı arayüzü etkileşimleri, bir kişinin uygulamanızla etkileşimde bulunmak için kullanabileceği dokunma ve yazma işlemlerini içerir. Onaylar, ekrandaki görsel öğelerin varlığını veya içeriğini doğrular. Örneğin, Notes test uygulamasının Espresso testi, bir düğmeyi tıklayıp yeni bir not yazmak için kullanıcı arayüzü etkileşimlerini içerebilir ancak düğmenin varlığını ve notun içeriğini doğrulamak için iddiaları kullanır.

Bu bölümde, Espresso Test Kaydedici kullanarak bu test bileşenlerinin her ikisinin nasıl oluşturulacağı ve testi oluşturmak için tamamlanmış kaydınızı nasıl kaydedeceğiniz anlatılmaktadır.

Kullanıcı arayüzü etkileşimlerini kaydetme

Espresso Test Kaydedici ile bir test kaydetmeye başlamak için aşağıdaki adımları uygulayın:

  1. Çalıştır > Espresso Testini Kaydet'i tıklayın.
  2. Select Deployment Target (Dağıtım Hedefi Seçin) penceresinde, testi kaydetmek istediğiniz cihazı seçin. Gerekirse yeni bir Android Sanal Cihazı oluşturun. Tamam'ı tıklayın.
  3. Espresso Test Kaydedici, projenizin derlemesini tetikler ve Espresso Test Kaydedici uygulamayla etkileşim kurmanıza izin vermeden önce uygulamanın yüklenip başlatılması gerekir. Uygulama başlatıldıktan sonra Testinizi Kaydedin penceresi görünür ve henüz cihazla etkileşim kurmadığınız için ana panelde "Henüz kaydedilmiş etkinlik yok" ifadesi görünür. "Dokunma" ve "yazma" işlemleri gibi etkinlikleri günlüğe kaydetmeye başlamak için cihazınızla etkileşimde bulunun.

Not: Etkileşimleri günlüğe kaydetmeye başlamadan önce, cihazınızda "Hata Ayıklayıcı Bekleniyor" veya "Hata Ayıklayıcı Ekleme" yazan bir iletişim kutusu görebilirsiniz. Espresso Test Kaydedici, kullanıcı arayüzü etkinliklerini günlüğe kaydetmek için hata ayıklayıcıyı kullanır. Hata ayıklayıcı eklendiğinde iletişim kutusu otomatik olarak kapanır. Kapatmaya Zorla'yı tıklamayın.

Kaydedilen etkileşimler, aşağıdaki Şekil 1'de gösterildiği gibi Testinizi Kaydedin penceresindeki ana panelde görünür. Testi çalıştırdığınızda, Espresso testi bu işlemleri aynı sırayla yürütmeyi dener.

Şekil 1. Günlüğe kaydedilen kullanıcı arayüzü etkileşimlerini içeren Testinizi Kaydedin penceresi.

Kullanıcı arayüzü öğelerini doğrulamak için onaylamalar ekleme

Onaylama işlemleri, View öğesinin varlığını veya içeriğini üç ana tür aracılığıyla doğrular:

  • text is (metin): Seçilen View öğesinin metin içeriğini kontrol eder
  • exists: Görünüm öğesinin, ekranda görünen mevcut Görünüm hiyerarşisinde mevcut olup olmadığını kontrol eder.
  • yok: View öğesinin mevcut Görünüm hiyerarşisinde mevcut olup olmadığını kontrol eder.

Testinize bir onaylama eklemek için aşağıdaki adımları uygulayın:

  1. Onay Ekle'yi tıklayın. Espresso, kullanıcı arayüzü hiyerarşisini ve geçerli uygulama durumuyla ilgili diğer bilgileri alırken bir Ekran Yakalama iletişim kutusu görüntülenir. Espresso ekran görüntüsünü aldığında iletişim kutusu otomatik olarak kapanır.
  2. Testinizi Kaydedin penceresinin sağındaki panelde geçerli ekranın bir düzeni görünür. Onay oluşturmak istediğiniz View öğesini seçmek için ekran görüntüsündeki öğeyi tıklayın veya pencerenin alt kısmında bulunan Onayı düzenle kutusundaki ilk açılır menüyü kullanın. Seçilen Görünüm nesnesi kırmızı bir kutuyla vurgulanır.
  3. Onayı düzenle kutusundaki ikinci açılır menüden kullanmak istediğiniz onayı seçin. Espresso, seçilen View öğesi için menüyü geçerli onaylarla doldurur.
    • "Metin:" onaylamasını seçerseniz Espresso, metni seçili View öğesinin içine otomatik olarak ekler. Onayı düzenle kutusundaki metin alanını kullanarak metni istediğiniz onaylamayla eşleşecek şekilde düzenleyebilirsiniz.
  4. Başka bir onaylama oluşturmak için Kaydet ve Başka Bir Tane Ekle'yi veya onay panellerini kapatmak için Onaylamayı Kaydet'i tıklayın.

Şekil 2'deki ekran görüntüsünde, not başlığının "Keyifli Testler!" olduğunu doğrulamak için oluşturulan bir "metin şudur" onayı gösterilmektedir:

2. Şekil. Görünüm öğesi seçildikten sonraki Onayı düzenle kutusu (kırmızı renkte).

Bir onaylama oluştururken, Testinizi Kaydedin penceresinde onay panelleri açık olsa bile uygulamanızla etkileşimde bulunmaya devam edebilirsiniz. Espresso Test Kaydedici işlemlerinizi günlüğe kaydetmeye devam eder, ancak düzenlediğiniz onaylama, kaydedildikten sonra bu etkileşimlerden önce görünür. Onaylamanın ekran görüntüsü, Onay Ekle düğmesini tıkladığınız sırada cihaz veya emülatörün düzenini de korur.

Kayıtları saklama

Uygulamanızla etkileşim kurmayı ve onaylamaları ekledikten sonra kaydınızı kaydetmek ve Espresso testini oluşturmak için aşağıdaki adımları uygulayın:

  1. Kaydı Tamamla'yı tıklayın. Testiniz için bir test sınıfı adı seçin penceresi görünür.
  2. Espresso Test Kaydedici, başlatılan etkinliğin adına göre testinize paketi içinde benzersiz bir ad verir. Önerilen adı değiştirmek istiyorsanız Test sınıfı adı metin alanını kullanın. Kaydet'i tıklayın.
    • Uygulamanıza Espresso bağımlılıklarını eklemediyseniz testinizi kaydetmeye çalıştığınızda Eksik Espresso bağımlılıkları iletişim kutusu görünür. Bağımlılıkları build.gradle dosyanıza otomatik olarak eklemek için Evet'i tıklayın.
  3. Espresso Test Kaydedici oluşturduktan sonra dosya otomatik olarak açılır ve Android Studio, test sınıfını IDE'nin Proje penceresinde seçili olduğu şekilde gösterir.
    • Testin kaydedileceği yer, araç testi kökünüzün konumuna ve başlatılan etkinliğin paket adına bağlıdır. Örneğin, Notes test uygulaması için yapılan testler, testi kaydettiğiniz uygulama modülünün src > androidTest > java > com.example.username.appname klasörüne kaydedilir.

Yerel olarak Espresso testi çalıştırmak

Espresso testi çalıştırmak için Android Studio IDE'nin sol tarafındaki Proje penceresini kullanın:

  1. İstediğiniz uygulama modülü klasörünü açın ve çalıştırmak istediğiniz teste gidin. Testin konumu, araç testi kökünüzün konumuna ve başlatılan etkinliğin paket adına bağlıdır. Aşağıdaki örneklerde, bir testin Notes test uygulaması için nereye kaydedileceği gösterilmektedir:
    • Pencere içinde Android görünümünü kullanıyorsanız java > com.example.kullanıcıadı.appname (androidTest) konumuna gidin.
    • Pencerenin içinde Proje görünümünü kullanıyorsanız modül klasöründeki src > androidTest > java > com.example.kullanıcıadı.appname bölümüne gidin.
  2. Testi sağ tıklayıp "testName" özelliğini çalıştır'ı tıklayın.
    • Alternatif olarak, test dosyasını açıp oluşturulan test sınıfını veya yöntemi sağ tıklayabilirsiniz. Uygulamanızı Test Etme sayfasından testlerin nasıl çalıştırılacağı hakkında daha fazla bilgi edinebilirsiniz.
  3. Deployment Target (Dağıtım Hedefi Seçin) penceresinde, testi çalıştırmak istediğiniz cihazı seçin. Gerekirse yeni bir Android Sanal Cihazı oluşturun. Tamam'ı tıklayın.

Testinizin ilerleme durumunu IDE'nin alt kısmındaki Çalıştır penceresinden izleyin. Android Studio, projenizin tam derlemesini çalıştırır ve Şekil 3'te gösterildiği gibi Çalıştır penceresinde testinizin adının bulunduğu bir sekme açar. Testinizin başarılı olup olmadığını ve ne kadar sürdüğünü bu sekmeden kontrol edebilirsiniz. Test bittiğinde sekmeye "Testler tamamlandı" ifadesi kaydedilir.

3. Şekil. Yerel olarak bir Espresso testi çalıştırdıktan sonra Çalıştır penceresindeki örnek çıkış.

Test çalıştırma yapılandırmaları yazma hakkında daha fazla bilgi edinmek için Çalıştırma/Hata Ayıklama Yapılandırmaları Oluşturma ve Düzenleme başlıklı makaledeki "Sınıf veya yöntem için test yapılandırması tanımlama" bölümünü okuyun.

Firebase Test Lab for Android ile Espresso testi çalıştırın

Espresso Test Kaydedici tarafından oluşturulan testleri Firebase Test Lab ile kullanarak uygulamanızı bulutta yüzlerce cihaz yapılandırması üzerinde test edebilirsiniz. Uygulamanızı, Spark planındaki ücretsiz günlük kota dahilinde Test Lab ile test etmek ücretsizdir. Firebase Test Lab ile Espresso testleri yapmak istiyorsanız uygulamanız için bir Firebase projesi oluşturun ve Android Studio'daki Firebase Test Lab ile testlerinizi çalıştırma talimatlarını uygulayın.

4. Şekil. Birden çok cihazda Firebase Test Lab ile bir test çalıştırdıktan sonra Çalıştır penceresindeki örnek çıkış.