Test Otomasyon Süreçlerinde Loglama

Merhaba arkadaşlar, Mobilhanem.com üzerinde Selenium ile Test Otomasyonu Geliştirme serimizin onuncu dersinde Test Otomasyon Süreçlerinde Loglama konusuna değineceğim. Bir önceki dersimizde Selenium API ve Obje Hareketleri konusunu ele almıştık.

Öncelikle log nedir neden bir şeyler geliştirirken loglamaya ihtiyaç duyulur bunu görelim.

Log Nedir ve Neden İhtiyaç Duyulur ?

Log kayıt anlamına gelmektedir loglama ise log kayıtlarını bir araya getirilerek dijital hareketlerin işlenmesi anlamına gelmektedir.

Büyük projeler de geliştirilen modüllerin içerisinde yer alan metotlarda çokca loglama işlemi yapılır. Test aşamasında  ya da proje canlıya alındığında herhangi modülde veya kod parçacıklarında hata çıktığında baştan sona kod okuyarak hatayı tespit etmek neredeyse imkansızdır. Burada devreye bu kod parçacıklarının içerisine yazılmış olan loglarlar girer. Nerede hangi hataya sebep olduğunu anlamak için öncelikle o modül için eklenmiş olan log dosyalarına bakılır. Bu log dosyalarında kullanıcının hangi işlemler yaptığı ne kadar süre de oluştuğu ve bu işlemler sırasında hangi metotlara girildiği bile yazılabilmektedir. Bu neden loglama işlemi hem geliştiriciler için hem de test otomasyonun üreteceği raporlar için çok önemlidir.

Bu yüzden bir şey geliştirirken loglama konusuna önem vermek ileride sizi büyük bir vakit kaybından kurtaracaktır.

Test Otomasyon Süreçlerinde Loglama

Test Otomasyon Süreçlerinde Loglama yapabilmek için, projemize log4J kütüphanemizi ekleyeceğiz ama kütüphaneyi eklemeden önce kısa bir şekilde log4J den bahsetmek istiyorum.

Log4J Nedir ?

Log4j Apache Software Foundation tarafından geliştirilmiş olan java tabanlı bir log kütüphanesidir. Log4j seviye bazlı loglama yapmaya imkan sağlar ve siz bu seviyelere göre loglama yapabilirsiniz. (Detaylı bilgi için siteyi ziyaret edebilirsiniz.)

Öncelikle Intellij IDEA’da bir maven projesi oluşturalım. Oluşturmuş olduğumuz bu maven projesinde pom.xml’e aşağıda yer alan dependency ekleyelim.

Dependency ekledikten sonra src->main->resources klasörü içerisine log4j.properties dosyası oluşturalım ve aşağıda bulunan ayarları dosyamızın içerisine ekleyelim.

Yukarıdakileri ekledikten sonra src->main->java içerisine bir package oluşturup yeni bir java sınıfı oluşturalım ve  bu sayede global bir log4j yapısı oluşturmuş oluruz.

Ardından test package içerisine yeni bir java sınıfı oluşturalım. Burada ben önceki derslerde kullanmış olduğum proje dosyasını kullandığım için selenium dependencylerini tekrar eklemiyorum.

Yapacağımız örnek basit bir user register işleminin test otomasyonu kısmıdır. Burada src->main->java kısmında model isimli bir package dosyası oluşturuyoruz ve Elements isimli bir java sınıfı ekliyoruz. Eklediğimiz sınıfın içerisine register işleminde girilecek olan web elementlerini ekliyoruz.

Elementleri ekledikten sonra test package’nda WriteLogTestAutomation isimli bir sınıf oluşturuyoruz. Oluşturduğumuz bu sınıfta loglama işlemlerini, Log4j klasöründe log okumayı ve console kısmında eklemiş olduğumuz logları göreceğiz. Siz bu işlemleri kendinizce genişletebilirsiniz.

Yukarıdaki yapıyı oluşturduktan sonra çalıştırdığımız da console kısmında eklemiş olduğumuz logları görmüş olacağız.

ConsoleLog
ConsoleLog

Console kısmında logları gördükten sonra proje içerisinde Log4j klasörünün oluştuğunu ve aynı zamanda log4j-application.log dosyasının oluştuğunu , içerisinde ise log bilgilerinin tutulduğunu göreceksiniz.

Log4J
Log4J

Buradaki amaç hiç bir zaman otomasyon çalıştırırken karşısına geçip neler yaptığını görmek ya da tesk koşarken ekran kaydı vs almak değildir. Yapılan işlemlerin takibini bu log dosyasından gözlemleyebilmektir. Neden derseniz bir regrasyon testinizin olduğunu ve bunun saatlerce sürdüğünü düşünün sizin yapacağınız işlem testin koşmasını sağlamak ve sonucunda çıkan hataları loglardan görebilmektir.

Mobilhanem.com da Selenium ile Test Otomasyonu Geliştirme serisinin bu dersinde Test Otomasyon Süreçlerinde Loglama dersimizin sonuna geldik. Eksik ya da yanlış gördüğünüz veya anlamadığınız yerler için çekinmeden ulaşabilirsiniz. Bir sonraki yazıda görüşmek üzere.

Ayrıca bu linkten Selenium WebDriver ile Test Otomasyonu Kodu Yazma ve Çalıştırma, Otomasyon Testi Örnek Senaryosu ile ilgili örnek video’ya bakabilirsiniz.

Tüm Selenium derslerimiz için tıklayınız.

11

Sevde Aybüke Kaleli

Fırat Üniversitesi-Yazılım Mühendisliği (2015-2019)

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?