Selenium Data Driven Framework

Berat Can TOPCU
2 min readMay 31, 2021

--

Bu yazımda Selenium’da Data Driven Framework’ün nasıl uygulanacağını anlatacağım.

Öncesinde biraz Data Driven Framework’ün ne olduğunu açıklamakta fayda var. Framework’ün adından da anlaşılacağı gibi veri tabanlı, veri odaklı test yapma diyebiliriz. Diğer bi deyişle aynı testte farklı dataların kullanılmasıdır. Peki bunu hangi durumlarda kullanabiliriz? Örneğin kullanıcının mail adresi gireceği yere veya kredi kartı numarası girilen bir yer gibi. Sadece UI testlerinde değil API testlerinde de kullanılabilir. Bu yazımda bahsettiğim sınır değer analizi ve denlik payları ayırma gibi tekniklerde de kullanılabilir. Yani en basit haliyle bir testi farklı verilerle koşmaktır. Verilere dair beklediğimiz test sonuçlarını da excel içerisinde tutabiliriz.

Uygulamasını yaparken verileri bir excel dosyasından okuyacağız. Bunun için Apache POI paketinden yararlanacağız. Bunun yanında Selenium ve TestNG de kullanacağız.

Uygulama

Bu uygulamada kullanacaklarımızı üç farklı class’ta tutacağız. Excel utility, test ve data provider. Excel utility, excel dosyasını okuyup ona dair bilgilere erişeceğimiz metotları tuttuğumuz class’tır. Test class’ı testleri tuttuğumuz class’tır. Data provider ise excel utility class’ındaki metotlar ile okuduğumuz verileri bize 2 boyutlu array halinde döndürecek metodun olduğu class’tır.

Excel içerisindeki veriler aşağıdaki gibidir.

Excel utility için oluşturduğumuz class aşağıdaki gibidir. Üç adet metot var bu metotlar bize excel sayfasındaki sütun sayısı, satır sayısını ve herhangi bir hücredeki veriyi döndürmektedir.

Excelden okuduğumuz verileri 2 boyutlu array’e dönüşterecek metodu oluşturalım.

Yukarıdaki metotta TestNG’nin DataProvider anotasyonunu kullandık. Test metodunda dataProvider olarak bu DataProvider’ın adını kullanacağız. Eğer data provider ve kullanılacak test metodu farklı class’ta ise data provider’ın class’ını belirtmelisiniz aşağıdaki gibi.

Şimdi de test metoduna geçelim. Testte freeformatter sitesine gidip kredi kartı numarasının Luhn algoritmasına uyup uymadığını test ediyor.

Sonuçlarıda aşağıdaki gibi görebiliriz.

Bu yazımda Data Driven Framework’ün Selenium’da nasıl uygulanacağını anlattım umarım yararlı bir yazı olmuştur. Geri bildirim ve sorular için LinkedIn üzerinden ulaşabilirsiniz.

--

--