Allure Report,Selenium TestNG ve Jenkins Entegrasyonu
Selenium web, uygulamaların otomasyonu için yaygın olarak kullanılan bir programdır. Farklı tarayıcılarda kullanılabilen açık kaynaklı birçok programlama dilini destekler. Ancak Selenium raporlama sistemine sahip değildir. Test otomasyonunda raporlama önemli bir yere sahiptir. Yazdığımız testlerde kaç tane testin geçtiğini veya kaldığını toplamda kaç test çalıştığı gibi istatistikleri görmek isteriz.
Yukarıdaki nedenleri göz önünde bulundurarak bu yazımda Maven ve TestNG kullaranarak Seleniumda Allure reportsdan bahsedeceğim. Yazı aşağıdaki maddeleri içerektir.
· Allure nedir?
· Allureda yer alan notlar(annotations)
· Allure Report’u indirmek ve sistem değişkenlerine dosya yollarını eklemek
· Allure için pom.xml’e gerekli bağımlılıkları(dependency) eklemek
· Jenkins için gerekli plugin’i eklemek
· Maven ile testi çalıştırmak ve allure report’u üretmek
· Jenkins ile entegrasyon işlemlerini yapmak
Allure Nedir?
Allure framework, test edilenler kısa ve öz bir sunumla düzgün bir web raporu formunda gösterir. Ayrıca geliştirme sürecine katılan herkesin günlük testlerini çalıştırmasından maksimum yararlı bilgiyi çıkarmasına olanak sağlayan esnek, hafif, çok dilli bir test raporu aracıdır.
Allure Jenkins, TeamCity, Bamboo, Gradle, and Maven gibi popüler CI/CD platformlarını destekler. TestNG ve Cucumber framework’lerinde kullanabilirsiniz. Birçok nota sahiptir.
Allure da yer alan notlar(Annotations)
@Epic
@Features
@Stories/@Story
@Severity
@Description
@Step
@Attachment
· @Severity: Testin önem derecesini @severity gösteririz. Çeşitleri BLOCKER, CRITICAL, NORMAL, MINOR, and TRIVIAL.
· @Description: Her bir test metodu için ayrıntılı bir açıklama yazabiliriz.
· @Step: Java kodlarındaki her bir adımı tanımlamak için kullanılır.
· @Attachments: Java kodunda yer alan attachment String veya byte dönen basit bir metodun notudur.
Allure Report’u indirmek ve sistem değişkenlerine dosya yollarını eklemek
Allure reportu oluşturabilmemiz için Allure Binary paketine ihtiyacımız var. Bunun için çalışmış olduğunuz işletim sistemine uygun olan Maven & Allure Binaries paketini indirip kurulumunu yapmamız gerekmektedir. Bunun için https://maven.apache.org/download.cgi adresine gidip, apache-maven.zip dosyasını bilgisayarınıza indirin. Daha sonra dosyayı bilgisayarımızda uygun bir klasör/dizin (genelde C klasörüne) içerisine çıkarttıktan sonra “bin” klasörüne gidip bin klasörüne ait yolu ortam değişkenleri ayarları için kopyalıyoruz.
Bu işlemden sonra komut satırından maven’ın doğru bir şekilde yüklendiğinin kontrolünü yapıyoruz.(mvn — version)
İkinci olarak Allure Binaries yüklememiz gerekmektedir. Bunun için https://docs.qameta.io/allure-report/#_installing_a_commandline adresine gidip Windows için olan komut satırını çalıştırıyoruz ya da manuel olarak kurulumumuzu gerçekleştiriyoruz.
Manuel olarak yüklemek isterseniz aynı sayfada yer alan Manual Installation bölümünde “Maven Central” yazısına tıklayarak zip dosyasını indirebilirsiniz. Maven kurulumunda yaptığımız gibi dosyanın içinde yer alan klasörü çıkartıp (genelde C klasörüne) kopyalayıp “bin” klasörüne gidip bin klasörüne ait yolu ortam değişkenleri ayarları için kopyalıyoruz. Daha sonra kopyaladığımız yolu ortam değişkenlerine ekliyoruz. allure.bat dosyasını çalıştıralım.
Son olarak allure report kurulumunu komut satırından kontrol ediyoruz.
Allure için pom.xml’e gerekli bağımlılıkları(dependency) eklemek
Allure TestNG dependency için https://docs.qameta.io/allure-report/#_testng linke tıklayarak indirebilirsiniz. Sonrasında pom.xml dosyanıza eklemeniz gerekmektedir.
Jenkins için gerekli plugin’i eklemek
https://docs.qameta.io/allure-report/#_testng linkine tıklayarak yukarıda gördüğünüz fotoğrafta yer alan plugin’i pom.xml dosyanıza eklemeniz gerekmektedir.
Maven ile testi çalıştırmak ve allure report’u üretmek
Testinizi bir sınıfta yazıp ilgili annotations’ları ekledikten sonra testimizi allure-reports klasörünün raporun oluşması için iki şekilde çalıştırmamız gerekmektedir. XML dosyası oluştrurarak ilgili sınıfı çalıştırabilir yada terminalden mvn ile testinizi çalıştırabiliriz. Sonrasında raporunuz oluşacaktır.
Allure serve ve allure reports klasörünün yolunu komut satırında yazdığınız zaman raporunuzun oluştuğunu ve bunun detaylarını html sayfasında görebileceksiniz.
Jenkins ile entegrasyon işlemlerini yapmak
· Allure plugin’i ekle
· Global Tools Configuration sayfasında allure ekle
· Job oluştururken post build action bölümünde Allure Reports ekle.
Jenkins kurulumunuzu yaptıktan sonra Manage Jenkins>Manage Plugins ‘e tıklayın. Sonrasında Allure Jenkins Plugin’i yükleyin.
Plugin’i yükledikten sonra Allure Commandline yüklememiz gerekmektedir. Manage Jenkins>Global Tool Configuration sayfasına gidin. Allure Commandline bölümünden ekleme işlemini gerçekleştirin. Allure versinyonunu seçmemiz(hangi versiyonu yüklediyseniz onu seçmelisiniz) ve isim vermemiz gerekmektedir. Gerekli olabilir düşüncesiyle JDK bölümünüde doldurabilirsiniz.
Son olarak job oluştururken post build action bölümünde Allure Reports eklememiz gerekmektedir.
Allure report job’ı çalıştırdıktan sonra aşağıdaki gibi görünecektir.
Bu şekilde Jenkinste bütün raporlama işlemlerini tamamlamış oluyoruz.