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. Bir test senaryosu kaydederek bir cihazla etkileşimlerinizi kaydedebilir ve uygulamanızın belirli anlık görüntülerindeki kullanıcı arayüzü öğelerini doğrulamak için iddialar ekleyebilirsiniz. Ardından Espresso Test Kaydedici, kaydedilen kaydı alır ve otomatik olarak uygulamanızı test etmek için çalıştırabileceğiniz ilgili bir kullanıcı arayüzü testi oluşturur.

Espresso Test Kaydedici, AndroidX Test'teki bir API olan Espresso Test çerçevesine dayalı testler yazar. Espresso API, kullanıcı işlemlerine dayalı kısa ve güvenilir kullanıcı arayüzü testleri oluşturmanızı önerir. Bu yapı, temel uygulamanın etkinliklerine ve görünümlerine doğrudan erişmeden beklentileri, etkileşimleri ve ifadeleri belirterek testteki yavaşlamayı önler ve test çalıştırma hızını optimize eder.

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

Beklenmeyen sonuçların önüne geçmek için Espresso Test Kaydedici'yi kullanmadan önce test cihazınızda animasyonları kapattığınızdan emin olun. Tek Bir Uygulama İçin Test Kullanıcı Arayüzünü Test Etme sayfasındaki "Espresso'yu Ayarlama" talimatlarını uygulayın ancak bir kaydı kaydettiğinizde Test Kaydedici bu işlemi otomatik olarak yaptığından Espresso kitaplığına bağımlılık referansını manuel olarak ayarlamanıza gerek olmadığını 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 View öğelerinde onaylamalar. 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ı için bir Espresso testi, bir düğmeyi tıklayıp yeni 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 onaylar 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 açıklanmaktadı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. Dağıtım Hedefi Seçin penceresinde, testi kaydetmek istediğiniz cihazı seçin. Gerekirse yeni bir Android Sanal Cihaz oluşturun. OK (Tamam) seçeneğini tıklayın.
  3. Espresso Test Kaydedici, projenizin bir derlemesini tetikler. Espresso Test Kaydedici etkileşimde bulunmanı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şimde bulunmadığınız için ana panelde "Henüz kayıtlı etkinlik yok" mesajı 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'ya basmayı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ütülmeye çalışır.

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

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

Onaylar, 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.
  • mevcut değil: View öğesinin mevcut Görünüm hiyerarşisinde olup olmadığını kontrol eder

Testinize bir onay 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 uygulamanın geçerli durumu hakkında diğer bilgileri alırken bir Ekran Görüntüsü iletişim kutusu görüntülenir. Espresso ekran görüntüsünü aldıktan sonra 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. Onaylama oluşturulacak bir View öğesini seçmek için ekran görüntüsündeki öğeyi tıklayın veya pencerenin alt kısmındaki Onayı düzenle kutusunda bulunan ilk açılır menüyü kullanın. Seçilen Nesneyi görüntüle, 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, seçili View öğesinin içine metni 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 onay oluşturmak için Kaydet ve Başka Bir Tane Ekle'yi veya onay panellerini kapatmak için Onayı Kaydet'i tıklayın.

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

2. Şekil. View öğesi seçildikten sonra Onayı düzenle kutusu (kırmızı renkte).

Onay oluşturma işlemi sırasında, 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 onay, kaydedildikten sonra bu etkileşimlerden önce görünür. Onaylama işleminin ekran görüntüsü, Onay Ekle düğmesini tıkladığınız sırada cihazın veya emülatörün düzeni de korur.

Kaydı kaydetme

Uygulamanızla etkileşimde bulunmayı ve onaylama eklemeyi bitirdikten 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üntülenir. 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 olarak gösterir.
    • Testin kaydedileceği yer, araç testi kök dizininizin 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 yapın

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ç testinizin kök 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:
    • Pencerenin içinde Android görünümünü kullanıyorsanız java > com.example.kullanıcıadı.uygulamaadı (androidTest) konumuna gidin.
    • Pencerenin içinde Proje görünümünü kullanıyorsanız modül klasöründe src > androidTest > java > com.example.username.appname konumuna gidin.
  2. Testi sağ tıklayın ve 'testName'i ç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 Et sayfasından test çalıştırma hakkında daha fazla bilgi edinin.
  3. Dağıtım Hedefi Seçin penceresinde, testi çalıştırmak istediğiniz cihazı seçin. Gerekirse yeni bir Android Sanal Cihaz oluşturun. OK (Tamam) seçeneğini tıklayın.

IDE'nin alt kısmındaki Çalıştır penceresinden testinizin ilerleme durumunu 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ı içeren bir sekme açar. Testinizin başarılı veya başarısız olduğunu ve testin ne kadar sürdüğünü bu sekmeden kontrol edebilirsiniz. Test tamamlandığında, sekme "Testler tamamlandı" ifadesini günlüğe kaydeder.

3. Şekil. Yerel olarak 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ı makalenin "Bir 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 yapın

Espresso Test Kaydedici tarafından Firebase Test Lab ile oluşturulan testleri kullanarak buluttaki uygulamanızı 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 çalıştırmak istiyorsanız uygulamanız için bir Firebase projesi oluşturun ve Android Studio'da Testlerinizi Firebase Test Lab ile çalıştırma talimatlarını uygulayın.

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