Maven ve Jenkins Entegrasyonu Selenium Klavuz
Jenkins ne durumda? Selenium?
Jenkins, Hudson laboratuvarı tarafından geliştirilen lider açık kaynaklı sürekli entegrasyon aracıdır. Çapraz platformdur ve kullanılabilir Windows, Linux, Mac OS ve Solaris ortamlar. Jenkins şöyle yazılmıştır: Java. Jenkin'in başlıca kullanımı, SVN ödemesi, cron veya herhangi bir uygulama durumu olabilecek herhangi bir işi izlemektir. İşlerde belirli bir adım oluştuğunda önceden yapılandırılmış eylemleri başlatır.
Jenkins'in Önemli Özellikleri
- Desteği Değiştir: Jenkins, SVN gibi depolarda yapılan tüm değişikliklerin listesini oluşturur.
- Kalıcı bağlantılar: Jenkins, kolay iletişim için kullanılabilecek en son yapıya veya başarısız yapıya doğrudan bağlantılar sağlar
- Kurulum: Jenkins'in kurulumu, uygulama sunucusunu kullanarak dağıtmak için doğrudan kurulum dosyası (exe) veya savaş dosyası kullanılarak kolaydır.
- E-posta entegrasyonu: Jenkins, derlemenin durumunun içeriğini e-postayla gönderecek şekilde yapılandırılabilir.
- Kolay Yapılandırma: Jenkins'te çeşitli görevleri yapılandırmak kolaydır.
- TestNG Ölçek: Jenkins, otomasyon testi yapısını çalıştıracak şekilde yapılandırılabilir Test her SVN derlemesinden sonra.
- Birden çok VM: Jenkins, yapıyı birden fazla makineye dağıtacak şekilde yapılandırılabilir.
- Proje yapısı: Jenkins, jar'ın ayrıntılarını, jar sürümünü ve yapı ve jar numaralarının eşleştirilmesini belgelendiriyor.
- Eklentiler: 3rd parti eklentisi, özellikleri ve ek işlevleri kullanacak şekilde Jenkins'te yapılandırılabilir.
Neden Jenkins ve Selenium?
- Koşu Selenium Jenkins'teki testler, yazılımınız her değiştiğinde testlerinizi çalıştırmanıza ve testler başarılı olduğunda yazılımı yeni bir ortama dağıtmanıza olanak tanır.
- Jenkins, testlerinizi belirli bir zamanda çalışacak şekilde planlayabilir.
- Yürütme geçmişini ve Test Raporlarını kaydedebilirsiniz.
- Jenkins, Maven'i geliştirme ve geliştirme konusunda destekliyor Test yapmak sürekli entegrasyon halindeki bir proje.
Maven nedir? Selenium?
Maven, Maven için inşaat dizini, kaynak dizini, bağımlılık, test kaynağı dizini, Hedefler, eklentiler vb. gibi proje bilgilerini ve yapılandırma bilgilerini içeren POM (Proje Nesne Modeli) konseptini temel alan güçlü bir proje / yapı yönetimi aracıdır. .
Neden Maven ve Jenkins
Selenium WebDriver tarayıcı otomasyonu için mükemmeldir. Ancak bunu test etmek ve bir test çerçevesi oluşturmak için kullanırken, yetersiz hissediyor. Maven'i entegre etmek Selenium Aşağıdaki faydaları sağlar
Apache Maven Bir test projesinin tüm yaşam döngüsünü yönetmeye yönelik destek sağlar.
- Maven proje yapısını, bağımlılıkları, derleme ve test yönetimini tanımlamak için kullanılır.
- Pom.xml(Maven) kullanarak test oluşturmak ve kod çalıştırmak için gereken bağımlılıkları yapılandırabilirsiniz.
- Maven, projeyi oluştururken gerekli dosyaları depodan otomatik olarak indirir.
Maven nasıl kurulur ve birlikte kullanılır? TestNG Selenium
İşte Maven'i kurma ve kullanma adımları: TestNG Selenium
Bu eğitim için kullanacağımız Eclipse (Juno) IDE'si Java Geliştiricilerin kurulumu Selenium WebDriver Projesi. Ek olarak, m2eclipse eklentisini eklememiz gerekiyor Eclipse derleme sürecini kolaylaştırmak ve pom.xml dosyasını oluşturmak için.
M2Eclipse eklentisini ekleyelim Eclipse Aşağıdaki adımlarla:
) 1 Adım In Eclipse IDE'yi seçin Destek | Yeni Yazılım Yükle itibaren Eclipse Ana menü.
) 2 Adım Kurulum iletişim kutusunda URL'yi girin https://www.eclipse.org/m2e/. seçmek Çalışmak ve m2e eklentisi aşağıdaki ekran görüntüsünde gösterildiği gibidir:
) 3 Adım Tıklayın Sonraki düğmesine basın ve kurulumu bitirin.
yapılandırma Eclipse Maven ile
M2e eklentisi kurulduğunda artık Maven projesi oluşturmamız gerekiyor.
) 1 Adım In Eclipse IDE'yi seçerek yeni bir proje oluşturun fileto | yeni | Diğer itibaren Eclipse menüsü.
) 2 Adım Üzerinde yeni iletişim kutusunu seçin Maven | Maven Projesi ve İleri'ye tıklayın
) 3 Adım Üzerinde Yeni Maven Projesi iletişim kutusunu seçin Basit bir proje oluşturun ve İleri'ye tıklayın
) 4 Adım WebdriverTest'i girin Grup kimliği: Ve Yapı Kimliği: ve bitir'i tıklayın
) 5 Adım Eclipse oluşturacak Web Sürücüsü Testi Aşağıdaki yapı ile:
) 6 Adım Sağ tıklayın JRE Sistem Kitaplığı Seçin ve Emlaklar menüden seçenek.
Üzerinde JRE Sistem Kitaplığı Özellikleri iletişim kutusu, emin olun Çalışma alanı varsayılan JRE seçilir ve Tamam'a tıklayın
) 7 Adım. Seçmek pom.xml itibaren Proje Gezgini..
pom.xml dosyası Editör bölümünde açılacaktır
) 8 Adım Eklemek Selenium, Uzman, TestNG, haziran pom.xml dosyasına olan bağımlılıklar düğüm:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.45.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8.8</version> <scope>test</scope> </dependency> </dependencies>
) 9 Adım Yeni bir tane oluştur TestNG Sınıf. Paket adını “örnek” ve “YeniTest” olarak girin. İsim: metin kutusuna tıklayın ve Bitiş Aşağıdaki ekran görüntüsünde gösterildiği gibi düğmeye tıklayın:
) 10 Adım. Eclipse Aşağıdaki ekran görüntüsünde gösterildiği gibi NewTest sınıfını oluşturacaktır:
) 11 Adım Aşağıdaki kodu ekleyin YeniTest sınıf:
Bu kod Guru99 unvanını doğrulayacak Selenium Sayfa
package example; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; public class NewTest { private WebDriver driver; @Test public void testEasy() { driver.get("https://demo.guru99.com/test/guru99home/"); String title = driver.getTitle(); Assert.assertTrue(title.contains("Demo Guru99 Page")); } @BeforeTest public void beforeTest() { driver = new FirefoxDriver(); } @AfterTest public void afterTest() { driver.quit(); } }
) 12 Adım WebdriverTest'e sağ tıklayın ve seçin TestNG | E dönüşmek TestNG.
Eclipse adı ile yalnızca bir test çalıştırmanız gerektiğini söyleyen testng.xml dosyasını oluşturacaktır. YeniTest Aşağıdaki ekran görüntüsünde görüldüğü gibi:
Projeyi güncelleyin ve dosyanın ağaçta göründüğünden emin olun Paket Gezgini (projeye sağ tıklayın – Yenile).
) 13 Adım Şimdi bunun üzerinden test yapmanız gerekiyor testng.xml.
Öyleyse şuraya git: Yapılandırmaları Çalıştır ve yeni bir lansman oluştur TestNG, projeyi ve alanı seçin süit as testng.xml ve Çalıştır'a tıklayın
Derlemenin başarıyla tamamlandığından emin olun.
) 14 Adım. Ek olarak şunu eklememiz gerekiyor
- maven-derleyici-eklentisi
- maven-surefire-eklentisi
- testng.xml
pom.xml'e.
Maven-surefire-eklentisi testleri yapılandırmak ve yürütmek için kullanılır. Burada eklenti, test.xml dosyasını yapılandırmak için kullanılır. TestNG test edin ve test raporları oluşturun.
maven-compiler-plugin, kodun derlenmesine ve derleme için belirli JDK sürümünün kullanılmasına yardımcı olmak için kullanılır. Aşağıdaki kod parçasındaki tüm bağımlılıkları pom.xml'e ekleyin düğüm:
) 15 Adım Çalıştırmak içine Maven yaşam döngüsündeki testler için WebdriverTest'e sağ tıklayın ve Olarak çalıştırmak | Maven testi. Maven projeden test yürütecek.
Derlemenin başarıyla tamamlandığından emin olun.
Jenkins'in Entegrasyonu Nasıl Yapılır? Selenium Web Sürücüsü
Jenkins'i kurmak ve TestNg ile Maven'ı çalıştırmak üzere yapılandırmak için adımlar şunlardır Selenium
Montaj
) 1 Adım MyCAD'de yazılım Güncelleme ye git http://jenkins-ci.org/ ve işletim sisteminiz için doğru paketi indirin. Jenkins'i yükleyin.
) 2 Adım Jenkins'i belirtilen klasöre açın. Aşağıdaki ekran görüntüsünde gösterildiği gibi exe dosyasını çalıştırın:
) 3 Adım In Jenkins 1.607 Kurulumu pencereye tıklayın Sonraki düğmesine basın.
) 4 Adım Tıklayın kurmak sonunda düğmesine basın.
) 5 Adım Kurulum tamamlandıktan sonra tarayıcı penceresinde Jenkins Dashboard'a (varsayılan olarak http://localhost:8080) gidin.
) 6 Adım Tıkla Yeni Öğe CI işi oluşturma bağlantısı.
) 7 Adım Aşağıdaki ekran görüntüsünde gösterildiği gibi Maven projesi radyo düğmesini seçin:
Build a'yı kullanma Maven Projesi Jenkins, Maven projelerinin oluşturulmasını ve test edilmesini destekler.
) 8 Adım Tamam düğmesine tıklayın. Jenkins Dashboard'da "WebdriverTest" adında yeni bir iş oluşturuldu.
) 9 Adım MyCAD'de yazılım Güncelleme ye git Jenkins'i yönetin => Sistemi Yapılandır aşağıdaki ekran görüntüsünde gösterildiği gibi.
JDK kurulumlarına tıklayın ve JDK'yı aşağıdaki ekran görüntüsündeki gibi yapılandırın:
) 10 Adım Git İnşa etmek yeni iş bölümü.
- içinde Kök POM metin kutusu, pom.xml'e tam yolu girin
- Hedefler ve seçenekler bölümüne "temiz test" girin
) 11 Adım Tıklayın Uygula düğmesine basın.
) 12 Adım WebdriverTest proje sayfasında, Şimdi Oluştur bağlantı.
Maven projeyi inşa edecek. Daha sonra sahip olacak TestNG test senaryolarını yürütün.
) 13 Adım Oluşturma işlemi tamamlandıktan sonra Jenkins Dashboard'da Web Sürücüsü Testi proje
) 14 Adım WebdriverTest proje sayfası, aşağıdaki ekran görüntüsünde gösterildiği gibi derleme geçmişini ve sonuçlara giden bağlantıları görüntüler:
) 15 Adım Aşağıdaki ekran görüntüsünde gösterildiği gibi test sonuçlarını görüntülemek için “Son Test Sonucu” bağlantısına tıklayın:
) 16 Adım. Belirli bir yapıyı seçin; “ üzerine tıklayarak mevcut durumu göreceksiniz.konsol çıkışı".
Jenkins'i otomatik yürütme için zamanlama.
Derlemeleri zamanlama (Selenium Testler), tanımlanmış kriterlere göre derlemeyi otomatik olarak tetiklediği Jenkins'in önemli özelliklerinden biridir. Jenkins, Derleme Tetikleyici yapılandırması altında derleme sürecini tetiklemek için birden fazla yol sunar.
Örneğin:
Aşağıdaki ekran görüntüsünde gösterildiği gibi Schedule metin kutusuna 0 23 * * * girin. Bu, her gün saat 11:XNUMX'te derleme sürecini tetikleyecektir.
Jenkings'i Maven olmadan kullanmak
Jenkins'te saf TestNg betiğini çalıştırmak için build'e aşağıdakileri girin
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml
- Kaydet düğmesine tıklayın.
- Not: Lib ve bin klasörünün gerçek yolunun yukarıdaki komuta eklenmesi gerekir.
- Komutu kaydettikten sonra Jenkins, önceden tanımlanan sürede projeyi oluşturacak ve bu komut kullanılarak çalıştırılacaktır. TestNG.
- Sonuç, Jenkin yapılandırmasıyla e-posta yoluyla gönderilebilen özel bir rapor HTML dosyasında saklanacaktır
- Kodun çıktısı şu şekilde olacaktır:
Jenkins'i kullanmanın faydaları
- Erken sorun bulma – Hata, yazılım geliştirmenin erken aşamasında tespit edilebilir
- Otomatik entegrasyon – tüm değişiklikleri entegre etmek için ayrı bir çabaya gerek yoktur
- Yükleyici – herhangi bir geliştirme noktasında kullanılabilen konuşlandırılabilir bir sistem
- Kayıtlar – parça yapım kayıtları tutulur
- Destek ve Eklentiler: Jenkin'in popülaritesinin nedenlerinden biri geniş topluluk desteğinin mevcut olmasıdır. Ayrıca, işlevselliğini genişletmenize yardımcı olacak birçok hazır eklenti mevcuttur.