Android Studio’da Mobil Uygulamaları Test Etmek İçin Espresso Kullanımı

Sebahat Selvi
2 min readApr 17, 2020

Espresso Test Otomasyon aracı, Google tarafından geliştirilen ve doğrudan Android Studio IDE’ sinde kullanıcı ara yüzü testini yazmayı kolaylaştıran, android yazılımları için kullanılan bir test çerçevesidir.

1. Neden Espresso Test Otomasyon Aracını Kullanmalıyız?

· Testler hızlıdır çünkü, Espresso uzak bir sunucuya ihtiyaç duymadan uygulama ile birlikte çalışarak geliştiriciye çok hızlı test sonuçları sunar.

· Testler kararlıdır çünkü, Espresso’ da testin sonraki adımlarına geçmeden önce öğelerin ve nesnelerin ekranda gerçekten görüldüğünü doğrulayan mekanizması sayesinde “algılanmayan nesneler” hatası nedeniyle test yürütmesinin bozulmasını önler.

·Kullanımı kolaydır çünkü, Espresso, geliştiricilerin bağımsız bir APK olarak test paketi oluşturmasına olanak tanır ve bu APK lar emülatör veya gerçek cihazlar üzerinde test edilebilir.

· Espresso Android Studio IDE sinde çalıştığı için extra kurulum gerektirmez.

· Google tarafından desteklenmesi ise gelişime açık ve daha çok kullanılabilir olduğunu gösterir.

2. Android Studio Test Yapılanması

Android testleri JUnit’e dayanır ve bunlar JVM’de yerel birim testleri olarak veya bir Android cihazında enstrümanlı testler olarak çalıştırabilir.

Android Studio ile test yazarken test kodları iki farklı dizinde bulunur. Projedeki her bir modül için Android Studio local unit test ve instumented tests adında iki farklı test paketi oluşturur.

Local Unit Tests:
Bu testler yerel JVM’de çalışır ve işlevsel Android çerçeve API’larına erişimi yoktur. Yazılım en küçük parçası olan birim metotları test etmek için kullanılır.

Instrumented Tests:

Android donanım cihazında veya bir Android emülatöründe çalışması gereken testlerdir. Bu testler, test edilen uygulamanızın yanında cihazda çalışan bir APK içine yerleştirilmiştir. Sistem test APK’nızı ve uygulamanızı aynı süreçte testler altında çalıştırır, böylece testleriniz yöntemleri çağırıp uygulamadaki alanları değiştirebilir ve uygulamanızla kullanıcı etkileşimini otomatikleştirebilir.

3. JUNIT

JUnit, Java dilinde uygulamalarımızı test etmek için kullanabileceğimiz bir test framework’üdür.

JUnit Nasıl Çalışır? JUnit Yaşam Döngüsü

JUnit framework’ünde test sınıflarımızı Java ile yazarız. Test sınıflarımızda metotlarımızın başına @Test anotasyonunu ekleyerek kullanırız. JUnit yaşam döngüsünde temel anotasyonlar şunlardır;

  • @BeforeClass : Test sınıfımız çalıştığında en başta sadece bir kez çalışır
  • @Before :Her test metodundan önce bir kez çalıştır
  • @Test :Test metotlarını belirtmek için kullanılır
  • @After :Her test metodundan sonra bir kez çalışır
  • @AfterClass :Test sınıfımız çalıştığında en son sadece bir kez çalışır
  • @Role: Her test yönteminin davranışını yeniden kullanılabilir bir şekilde eklemeyi ya da yeniden tanımlanmasını sağlar. Android testinde ActivityTestRule veya ServiceTestRule sınıflarından biriyle kullanılır.

Espresso Test otomasyon aracını genel hatlarıyla tanıttım. Bir sonraki yazıda, bir espresso ile kullanıcı arayüzü testinin nasıl yapılacağını adım adım göstermek için bir ekran tasarlayıp, ekran testini yapacağız.

--

--