Selenium'da Kapsam Raporları Nasıl Oluşturulur
Yayınlanan: 2021-06-21Selenium'da test otomasyonu için kullanılan açık kaynak kitaplığı ExtentReports'tur. Test çerçeveleri; NUnit, JUnit vb. kütüphane ile entegre edilebilir. Dahili raporlar, TestNG ve JUnit çerçeveleri aracılığıyla selenyumda oluşturulur, ancak Kapsam raporları, selenyum Otomasyon test cihazlarının hala ilk tercihidir. Selenyumdaki kapsam raporları , otomasyon komut dosyalarının yürütülmesi hakkında daha fazla fikir verir. Sonuçlar pasta grafikler olarak gösterilir ve temel olarak HTML belgeleridir. Anlık görüntüler gibi ayrıntılar ve kitaplık aracılığıyla özel günlükler oluşturulabilir.
Otomatik bir testin başarılı bir şekilde çalıştırılmasından sonra, test uzmanları tarafından bir test yürütme raporu oluşturulacaktır. TestNG tarafından varsayılan bir rapor sağlanır, ancak ayrıntılar sağlanmaz. ExtentReport API'sinin uygulanabilirliği ile basit konfigürasyonlar aracılığıyla etkileşimli raporlar oluşturulabilir. JUnit, NUnit ve TestNG gibi Java ve .Net çerçeveleri kütüphane tarafından desteklenmektedir.
Kapsam raporunun bağımlılığı maven
Kaynak
Selenyum kapsamı raporları iki sınıftan oluşur:
İçindekiler
1. ExtentReports sınıfı
Test cihazı bir yol belirtir ve belirtilen yola dayalı olarak, ExtentReports sınıfından HTML raporları oluşturulur. Ya yeni bir rapor oluşturulur ya da mevcut bir raporun üzerine yazılır. Boolean değerine göre karar verilir. Varsayılan Boole değeri "true" olup, geçmişte var olan tüm verilerin üzerine yazılacağı anlamına gelir.
2. ExtentTest sınıfı
Test adımları, ExtentTest sınıfı aracılığıyla, yukarıdaki yöntemle oluşturulan HTML raporlarına kaydedilir.
3. Kapsam HtmlReporter
Bu sınıf tarafından bir HTML dosyası oluşturulur.
Listelenen yerleşik işlevler, aşağıda listelenen sınıflarla kullanılabilir.
- startTest: Testteki bir vakanın ön koşulları yürütülür
- endTest: Testteki bir vakanın son koşulları yürütülür.
- Günlük yöntemi: Testteki her adımın durumu, Günlük aracılığıyla oluşturulan HTML raporuna kaydedilir.
- Flush: Bir önceki rapordaki veriler kaldırılarak yeni bir rapor oluşturulur.
Bir testin durumunu belirtmek için aşağıdaki değerler kullanılır: GEÇTİ, ATLA, BAŞARISIZ ve BİLGİ.
Kapsam Raporları nasıl oluşturulur
Kapsam raporu oluşturmak için birkaç ön koşul şunlardır:
- Java'nın ön kurulumu ve kurulumu.
- TestNG'nin kurulumu.
- Kapsam Raporu Kavanozlarının İndirilmesi (Sürüm 2.41.2).
- HTML raporunun yapılandırılmasına izin veren extension-config.xml gereksinimi.
Kapsam raporlarının oluşturulması için izlenmesi gereken temel adımlar şunlardır:
- Bir test projesi oluşturulacak.
- Rapor jar dosyasının kapsamı indirilecek.
- Kapsam raporu jar dosyası projeye eklenir.
- Gerçekleştirilmiş bir sınıf oluşturulur.
Kapsam Raporu Oluşturma Adımları
- Kapsam raporları, extensionreports-java-2.41.2.jar olan bir jar dosyasının içe aktarılması yoluyla Selenium'un WebDriver'ında oluşturulabilir. Jar dosyası içeriği, indirildikten sonra bir dizine çıkarılacaktır.
- İndirilen ZIP dosyasından çıkarılan jar dosyaları, derleme projesine eklenecektir. Yapı Yolu -> Yapı Yolu Yapılandır seçeneği kullanılır.
- Aşağıdaki kod aracılığıyla bildirilen kapsam için yeni bir Java sınıfı oluşturulur.
Kaynak
Kodun açıklaması
startTest yöntemi ile testin yürütülmesi başlar. Kapsam raporlarının nesnesi başlatılır. Kapsam raporu nesnesi, kendisine iletilen bir parametre olarak herhangi bir kullanıcı tanımlı yolu kullanır.
@beforeclass: Kapsam raporlarının kullanımı kodla gösterilir.
@test: Aşağıdaki eylemler bu sınıf aracılığıyla otomatikleştirilir:
- Chrome tarayıcının www.google.com URL'si üzerinden açılması .
- Sayfa başlığı, açıldıktan sonra beklendiği gibi değerle doğrulanmalıdır.
- Testin durumunun durumu, kapsam raporları günlüğü yöntemi kullanılarak BAŞARILI veya BAŞARISIZ olarak kaydedilecektir.
@afterclass: Bir test sonkoşul vakasının yürütülmesi için kod bu sınıfa dahildir. Testin sona erdirilmesi veya yıkama raporunun kodunu içerir. Floş() yöntemi kullanılmadan, selenyumdaki kapsam raporları oluşturulmaz.
Kapsam Raporlarında ekran görüntüleri yakalayın
1. Yakalama yöntemiyle
- Test sırasında ekran görüntüsü almanın birkaç faydası vardır.
- Yazılım hatalı davranmaya başlarsa, test kullanıcıları ekran görüntülerini gözlemleyerek sorunu tanımlayabilir.
- Bu nedenle, test yürütme herhangi bir sorunla karşılaşırsa, ekran görüntüleri, testçilerin test komut dosyasında hata ayıklamasına olanak tanır.
- Yakalamalar tarafından daha fazla bellek tüketildiğinden, ekran görüntüleri yalnızca bir testin başarısız olması sırasında alınmalıdır.
- Ekran görüntüsü almak için kullanılan aşağıdaki kod şu adresten alınmıştır:
Kaynak
2. Kodun açıklaması
- Geçerli selenyum Web Sürücüsü, getScreenShotAs() yöntemiyle ekran görüntüsü olarak yakalanır. Daha sonra çeşitli çıktı biçimlerinde depolanır.
Dosya scrFile = ((TakesScreenshot) sürücüsü).getScreenshotAs(OutputType.File);
- Dosyanın bir nesnesi, getScreenShotAs yöntemi aracılığıyla döndürülür ve dosyanın bir değişkeninde saklanır. Bu yöntemi kullanmak için, ekran görüntüsü almak için web sürücüsünün örneğini yayınlamak zorunludur.
Dosya Hedefi = new Dosya(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);
- Yukarıdaki kod ile “src” klasörü içerisinde “ErrImages” adında bir klasör oluşturulur. Dosya, mevcut sistemin zamanı olarak dosyanın adıyla oluşturulan klasöre kaydedilir.
Dize errflpath = Hedef,getAbsolutePath();
Fileutils.copyFile(scrFile, Hedef);
dönüşerrflpath;
- Oluşturulan hata görüntüleri bir hedef klasöre kopyalanır.
3. Günlük Yöntemi
- Günlük yönteminde yerleşik bir yöntem kullanılır. Extent sınıfının addScreenCapture'ı bir ekran görüntüsü almak için kullanılır ve ardından oluşturulan kapsam raporlarına eklenir.
test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ “Test Başarısız”);
Kapsam Raporlarının Avantajları
- Kapsam raporlarının kullanımı kolaydır.
- Sonuçları görüntülemek için pasta grafikler kullanılır.
- Bir testin başarılı bir vakasının yüzdesi sağlanır.
- Çevrenin ayrıntılarını doğal bir şekilde ekleme yeteneği.
- Kapsam raporu diğer raporlara göre özelleştirme imkanı sunmaktadır.
- Kapsam API'si ile daha etkileşimli raporlar oluşturulabilir. Etkileşimli raporlar, grafik bir görünüm, her test adımı sırasında ekran görüntüsü yakalama, bir gösterge panosu görünümü ve e-postayla gönderilebilecek raporlar şeklinde olabilir.
- JUnit, TestNG ve NUnit çerçeveleriyle entegrasyon mümkündür.
- Test çalıştırmalarının paralel yürütülmesi, tüm paralel çalıştırmalar için tek bir raporun oluşturulmasıyla mümkündür.
- Rapor yapılandırılabilir.
- Her test durumunun yürütülmesi için geçen süre görüntülenir.
- Tek bir süitte birden fazla test senaryosunun çalıştırılmasının kolay takibi mümkündür.
- Test raporlarına dayanarak, sonuçlar filtrelenebilir. Ayrıca, başarılı/başarısız/bilgi seçenekleri aracılığıyla kademeli sonuçlar filtrelenebilir.
- Regresyon/fonksiyonel vb. kategoriler için raporların kategorizasyonu sağlanır.
- Test adımlarının logları raporlara eklenebilir.
Selenium'da Kapsamlı Rapor Örneği
Kapsam raporu oluşturma sürecini anlamanıza izin vermek için bir örnek gösterilmiştir .
Adım 1 : Bir maven projesi ve burada bulunan bir kod eklenerek BasicExtentReport.java sınıfı oluşturulacak.
- 'ExtentHtmlReporter' sınıfından bağımsız bir HTML dosyası oluşturulur.
- 'ExtentHtmlReporter(java.io.File)' bu sınıf ve 'ExtentHtmlReporter(java.lang.String filePath)' yolu tarafından kabul edilir.
- Raporları kaydetmek için dosya yolu iletilir.
- 'ExtentHtmlReporter' sınıfının config() yöntemi, yapılandırma için çeşitli seçeneklere izin verir. Zaman damgası, rapor adı vb. dahil olmak üzere kapsam raporunun görünümünde değişiklikler yapmak için öğeler kod aracılığıyla değiştirilebilir.
- Testin her aşamasının durumu 'AfterMethod' ile raporlanır ve bu sayede testin durumu Geçti, Kaldı, Geçti gibi güncellenir, herhangi bir hata oluştuğunda bilgi vermek için bir mesaj oluşturulur. 'result.getThrowable()' aracılığıyla yapılır.
- Durumun etiketleri, rapor durumunu da renklendiren MarkupHelper sınıfı kullanılarak oluşturulur.
Adım 2: Tarayıcının işletim sistemi ve parametrelerinin geçirilmesi, bir testng.xml dosyası oluşturularak yapılır. Kod belirtilen web sitesinde mevcuttur.
Adım 3: pom.cml dosyasına bir kod daha eklenir.
Adım 4: Programı çalıştırmak , sonuç raporunu oluşturur .
Kaynak
Arıza raporlarını görüntülemek için başarısız olan testler tıklanmalıdır. Bu, test başarısızlığının nedeni ile birlikte test durumunu görüntüler.
Kapsam raporlarıyla ilgili birkaç ek şey şunlardır:
- Görünüm uğruna, bir raporda bulunan tema değiştirilebilir.
- Kullanıcının rahatlığına göre, gösterge tablosu görünümü gizlenebilir veya gösterilebilir.
- Birden fazla test yapılması durumunda, adım adım bir test durumu aranabilir.
- Başlangıç ve bitiş zamanı dahil olmak üzere testin çalıştırılması için geçen toplam süre kullanıcıya gösterilir.
- Bir raporda ek filtreler bulunur. Sonuçlar, geçmiş testler, başarısız testler veya sadece bilgilerin bulunduğu test durumları gibi testlerin durumuna göre filtrelenebilir.
Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Çözüm
Herhangi bir özelleştirilebilir raporun oluşturulması için, kapsam raporları en iyi yoldur. Selenium ile kolay konfigürasyona sahip açık kaynaklı bir kütüphane olan kapsam raporları, tüm otomasyon test cihazları için kesinlikle en iyi seçim haline geldi. Makale, kapsam raporlarını, bunların nasıl oluşturulacağını ve kullanışlılıklarını kısaca tartıştı. Kapsam raporlarının oluşturulmasının temeli olan yazılım programlama bilgisi yoluyla faydalar elde edilebilir.
Yazılım programlamanın faydalarını öğrenmek ve keşfetmek istiyorsanız, upGrad tarafından sunulan Yazılım Geliştirmede Yönetici PG Programı – Tam Yığın Geliştirmede Uzmanlaşma kursuna bakın. Bu, 21 ila 45 yaş grubundaki giriş seviyesindeki profesyoneller için özel olarak tasarlanmış bir kurstur. Uygulamalı deneyimlerle çevrimiçi dersler ve etkileşimli oturumlar için bir platform sağlayan kurs, en iyi endüstrilerde yerleştirme güvencesi sağlar. Ekibimiz her türlü sorunuz için hazırdır.
Selenyum rapor oluşturucu nedir?
Selenium Report Builder veya Selenium IDE, Selenium test senaryolarının oluşturulmasına ve düzenlenmesine yardımcı olan Selenium için bir Firefox eklentisidir. Otomasyon sürecinin daha verimli olmasını sağlar ve farklı raporlar oluşturmak için gereken çabayı azaltır. Testleri çalıştırmanın rahat bir yoludur ve mevcut duruma genel bir bakış sağlar. Raporlar metin, PDF, CSV, HTML vb. gibi çeşitli formatlarda oluşturulur.
Selenium kullanılarak otomatik olarak ne test edilebilir?
Selenium, test amacıyla web uygulamalarını otomatikleştirmek için bir araçtır ve regresyon testi için kullanılabilir. Selenium, bir kullanıcının tarayıcıda yapabileceği her şeyi otomatikleştirebilir. Çoğu web sitesi, çalışanlarının envanter sipariş etme, siparişleri işleme, web sitesini güncelleme vb. gibi görevleri gerçekleştirmesini kolaylaştıran bir tür işlevselliğe sahiptir. Selenium, web tabanlı uygulamaları ve web sitelerini test etmek için kullanılabilir. JAVA ve C# gibi çeşitli programlama dillerini destekleyen üst düzey bir dildir. Selenium, tarayıcıyı otomatikleştirmek için kullanılır ve web uygulaması geliştiricilerine, web uygulamalarına karşı çalıştırılacak otomatik testler yazma yeteneği sağlar.
Selenyum Izgara Nedir?
Selenium Grid, birkaç tarayıcıda (veya diğer ızgara düğümlerinde) otomatik testlerin çalıştırılmasına izin veren bir araçtır. Bu testlerin birkaç konfigürasyonla (konumlar, tarayıcılar, işletim sistemleri) ve aynı anda birkaç tarayıcı ile paralel yürütülmesine izin verir. Testler, herhangi bir GUI gerektirmeyecek şekilde başsız modda çalıştırılabilir. Izgara, eşzamansız iş yürütme sunar ve aynı anda yüzlerce işi yönetme yeteneğine sahiptir. Selenium grid bu nedenle test senaryolarını çalıştırmak için bir hub ve jant teli modelidir. Grid, kullanıcıların tek bir test senaryosu çalıştırmak için birden fazla tarayıcıyı bir araya getirmesine olanak tanır. Kurulduktan sonra, isteğe bağlı olarak veya bir programa göre birden fazla makinede veya tarayıcıda testler çalıştırmak için kullanılabilir. Selenium Grid, test yürütmesini paralelleştirmek, testi ölçeklendirmek ve test kapsamını artırmak için kullanılabilir.