Selenium Tích hợp với Maven và Jenkins

⚡ Tóm tắt thông minh

Maven Jenkins Selenium Việc tích hợp tạo ra một quy trình kiểm thử liên tục tự động, trong đó Maven quản lý các phụ thuộc và vòng đời của dự án. Jenkins lập lịch và kích hoạt các bản dựng, và Selenium Thực hiện kiểm thử trình duyệt, tạo ra quy trình tự động hóa web đầu cuối có thể lặp lại, đáng tin cậy và có khả năng mở rộng.

  • 📦 Vai trò của Maven: Maven 3.x quản lý các phụ thuộc, vòng đời xây dựng và plugin thông qua pom.xml, loại bỏ việc xử lý JAR thủ công. Selenium dự án.
  • 🔁 Jenkins Vai trò: Jenkins Lịch trình LTS Selenium Bộ công cụ này giám sát các thay đổi SCM và kích hoạt các lần chạy kiểm thử hồi quy tự động trên mỗi lần commit hoặc cron hàng đêm.
  • 🚀 Năng lượng từ đường ống dẫn: Kết hợp Maven, Jenkins, Seleniumvà TestNG Nó tạo thành một vòng lặp CI/CD hoàn chỉnh, giúp phát hiện lỗi chỉ trong vài phút sau khi mã nguồn được thay đổi.
  • Báo cáo: Báo cáo Surefire cộng thêm Jenkins xây dựng lịch sử cung cấp tracKết quả kiểm thử có thể chia sẻ, dễ dàng với đầu ra trên bảng điều khiển và bảng điều khiển HTML.
  • 🧪 Cải tiến AI: Các plugin AI hiện đại ưu tiên các bài kiểm tra bị ảnh hưởng, dự đoán các trường hợp không ổn định và thu hẹp phạm vi. Jenkins chu kỳ phản hồi bên trong Selenium đường ống dẫn.

Maven & Jenkins Hội nhập với Selenium

Là gì Jenkins in Selenium?

Jenkins là công cụ tích hợp liên tục mã nguồn mở hàng đầu, ban đầu được phát triển bởi phòng thí nghiệm Hudson. Nó hoạt động trên nhiều nền tảng và chạy trên... Windows, Linux, macOSvà Solaris môi trường. Jenkins được viết bằng Java và hiện được phân phối dưới dạng Jenkins LTS (Long-Term Transfer) dành cho việc sử dụng ổn định trong môi trường sản xuất. Công dụng chính của nó là giám sát bất kỳ tác vụ nào, có thể là thao tác kiểm tra mã nguồn (SCM checkout), lịch trình cron hoặc bất kỳ trạng thái ứng dụng nào. Jenkins Kích hoạt các hành động đã được cấu hình sẵn khi một bước cụ thể xảy ra trong các tác vụ.

Các tính năng quan trọng của Jenkins

  • Hỗ trợ thay đổi: Jenkins Tạo danh sách tất cả các thay đổi đã được thực hiện trong các kho lưu trữ như Git hoặc SVN.
  • Liên kết cố định: Jenkins Cung cấp các liên kết trực tiếp đến bản dựng mới nhất hoặc bản dựng thất bại gần nhất, giúp đơn giản hóa việc giao tiếp trong nhóm.
  • Cài đặt: Jenkins Ứng dụng này dễ dàng cài đặt bằng trình cài đặt gốc, tệp WAR được triển khai trên máy chủ ứng dụng hoặc ảnh Docker.
  • Tích hợp Email: Jenkins Có thể cấu hình để gửi email nội dung và trạng thái của mỗi bản dựng.
  • Cấu hình dễ dàng: Cấu hình các tác vụ khác nhau trên Jenkins Việc này rất đơn giản thông qua bảng điều khiển trên web.
  • TestNG Test: Jenkins có thể được cấu hình để chạy bản dựng kiểm thử tự động trên TestNG sau mỗi lần commit vào kho lưu trữ.
  • Nhiều VM: Jenkins Có thể phân phối các bản dựng trên nhiều máy chủ agent.
  • Dự án xây dựng: Jenkins Tài liệu này ghi lại chi tiết về các tệp JAR, phiên bản JAR và bản đồ.ping từ số bản dựng đến hiện vật.
  • plugin: 3rd Các plugin dành cho bữa tiệc có thể được thêm vào. Jenkins Để mở rộng các tính năng và chức năng bổ sung.

Tại sao Jenkins và Selenium?

  • Chạy Selenium kiểm tra trong Jenkins Cho phép bạn thực hiện các bài kiểm tra mỗi khi phần mềm thay đổi và triển khai phần mềm lên môi trường mới khi các bài kiểm tra thành công.
  • Jenkins có thể lên lịch cho bạn Selenium Các bài kiểm tra cần chạy vào một thời điểm cụ thể.
  • Bạn có thể lưu lịch sử thực thi và báo cáo kiểm thử. tracKhả năng.
  • Jenkins hỗ trợ Maven để xây dựng và Kiểm tra một dự án trong sự tích hợp liên tục.

Maven là gì Selenium?

Maven là một công cụ quản lý dự án và xây dựng mạnh mẽ dựa trên khái niệm POM (Project Object Model), bao gồm thông tin dự án và dữ liệu cấu hình cho Maven, chẳng hạn như thư mục xây dựng, thư mục mã nguồn, các phụ thuộc, thư mục mã nguồn kiểm thử, mục tiêu, plugin, v.v. Maven 3.x là dòng ổn định hiện tại, được sử dụng rộng rãi. Selenium khung kiểm thử.

Tại sao lại chọn Maven và Jenkins

Selenium WebDriver rất tuyệt vời cho việc tự động hóa trình duyệt. Tuy nhiên, khi sử dụng nó để kiểm thử và xây dựng khung kiểm thử, nó có thể cảm thấy chưa đủ mạnh. Việc tích hợp Maven với Selenium Mang lại những lợi ích sau.
Apache Maven cung cấp hỗ trợ để quản lý toàn bộ vòng đời của một dự án thử nghiệm.

  • Maven được sử dụng để xác định cấu trúc dự án, các phụ thuộc, xây dựng và quản lý kiểm thử.
  • Sử dụng tệp pom.xml (trong Maven), bạn có thể cấu hình các phụ thuộc cần thiết để xây dựng, kiểm thử và chạy mã.
  • Trong quá trình xây dựng dự án, Maven tự động tải xuống các tệp cần thiết từ kho lưu trữ trung tâm.

Cách cài đặt Maven và sử dụng nó với TestNG Selenium

Dưới đây là các bước để cài đặt Maven và sử dụng nó. TestNG Selenium.

Đối với hướng dẫn này, chúng tôi sẽ sử dụng Eclipse (Juno) Môi trường phát triển tích hợp (IDE) cho Java Các nhà phát triển sẽ thiết lập Selenium Dự án WebDriver. Ngoài ra, chúng ta cần thêm plugin m2eclipse vào. Eclipse Để hỗ trợ quá trình xây dựng và tạo tệp pom.xml.
Hãy thêm plugin m2eclipse vào... Eclipse với các bước sau:

Bước 1) In Eclipse IDE, chọn Trợ giúp | Cài đặt phần mềm mới từ Eclipse thực đơn chính.

Bước 2) Trong hộp thoại Cài đặt, nhập URL https://www.eclipse.org/m2e/. Chọn Làm việc với và plugin m2e như được hiển thị trong ảnh chụp màn hình sau:

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 3) Click vào Trang Tiếp Nhấn nút và hoàn tất quá trình cài đặt.

Thiết lập Eclipse với Maven

Sau khi cài đặt plugin m2e, chúng ta cần tạo một dự án Maven.

Bước 1) In Eclipse IDE, tạo một dự án mới bằng cách chọn Tập tin | Mới | Khác từ Eclipse đơn.

Bước 2) trên Mới hộp thoại, chọn Maven | Dự án Maven và nhấn Next.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 3) trên Dự án Maven mới hộp thoại chọn Tạo một dự án đơn giản và nhấn Next.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 4) Nhập WebdriverTest vào Id nhóm: và Id cấu phầnvà nhấp vào hoàn tất.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 5) Eclipse sẽ tạo ra Kiểm tra trình điều khiển web với cấu trúc sau:

Cài đặt Maven và sử dụng nó với TestNG Seleniuml

Bước 6) Nhấp chuột phải vào Thư viện hệ thống JRE Và chọn Bất động sản tùy chọn từ trình đơn.

Cài đặt Maven và sử dụng nó với TestNG Selenium

trên Thuộc tính cho Thư viện hệ thống JRE hộp thoại, hãy chắc chắn JRE mặc định của không gian làm việc Sau khi chọn xong, hãy nhấn OK.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 7) Chọn pom.xml từ Trình khám phá dự án.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Tệp pom.xml sẽ được mở trong mục Trình chỉnh sửa.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 8) Thêm Selenium, Maven, TestNGvà JUnit phụ thuộc vào pom.xml trong nút:

	<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>

Bước 9) Tạo một cái mới TestNG Lớp. Nhập tên gói là “example” và “NewTest” vào Họ tên: hộp văn bản và nhấp vào Kết thúc nút như được hiển thị trong ảnh chụp màn hình sau:

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 10) Eclipse sẽ tạo lớp NewTest như được hiển thị trong ảnh chụp màn hình sau:

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 11) Thêm mã sau vào Thử nghiệm mới lớp. Đoạn mã này sẽ xác minh tiêu đề của Guru99 Selenium .

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();			
		}		
}	

Bước 12) Nhấp chuột phải vào dự án WebdriverTest và chọn TestNG | Chuyển đổi sang TestNG.
Eclipse sẽ tạo tệp testng.xml, trong đó ghi rõ rằng bạn chỉ cần chạy một bài kiểm tra duy nhất với tên Thử nghiệm mới như thể hiện trong ảnh chụp màn hình sau:

Cài đặt Maven và sử dụng nó với TestNG Selenium

Cập nhật dự án và đảm bảo tệp xuất hiện trong cây thư mục. Trình khám phá gói (nhấp chuột phải vào dự án – Làm mới).

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 13) Bây giờ bạn cần chạy thử nghiệm thông qua công cụ này. testng.xml.

Vì vậy, hãy đi đến Chạy cấu hình và tạo một lần khởi chạy mới TestNG, chọn dự án, thiết lập trường Suite as testng.xmlvà nhấn Chạy.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Hãy đảm bảo quá trình biên dịch hoàn tất thành công.

Bước 14) Ngoài ra, chúng ta cần bổ sung thêm

  1. maven-trình biên dịch-plugin
  2. maven-surefire-plugin
  3. testng.xml

vào pom.xml.

Plugin maven-surefire-plugin được sử dụng để cấu hình và thực thi các bài kiểm tra. Ở đây, plugin này được sử dụng để cấu hình tệp testing.xml cho việc kiểm tra. TestNG kiểm tra và tạo báo cáo kiểm tra.

Plugin maven-compiler-plugin được sử dụng để hỗ trợ biên dịch mã và sử dụng một phiên bản JDK cụ thể cho quá trình biên dịch. Thêm tất cả các phụ thuộc trong đoạn mã sau vào tệp pom.xml. nút:

Cài đặt Maven và sử dụng nó với TestNG Selenium

Bước 15) Để chạy các bài kiểm tra trong vòng đời Maven, hãy nhấp chuột phải vào dự án WebdriverTest và chọn Chạy như | Kiểm tra MavenMaven sẽ thực thi bài kiểm tra từ dự án.

Cài đặt Maven và sử dụng nó với TestNG Selenium

Hãy đảm bảo quá trình biên dịch hoàn tất thành công.

Cách tích hợp Jenkins với Selenium webdriver

Dưới đây là các bước để cài đặt Jenkins LTS và cấu hình nó để chạy Maven với TestNG Selenium.

Thi công

Bước 1) Đến phần https://www.jenkins.io/download/ và tải xuống phiên bản chính xác Jenkins Gói LTS dành cho hệ điều hành của bạn. Cài đặt Jenkins.

Tích hợp Jenkins Với Selenium webdriver

Bước 2) Giải nén Jenkins vào một thư mục được chỉ định. Chạy tệp exe như được hiển thị trong ảnh chụp màn hình bên dưới:

Tích hợp Jenkins Với Selenium webdriver

Bước 3) Trong tạp chí Jenkins Thành lập cửa sổ, nhấp vào Trang Tiếp .

Tích hợp Jenkins Với Selenium webdriver

Bước 4) Click vào đặt ở cuối.

Tích hợp Jenkins Với Selenium webdriver

Bước 5) Sau khi quá trình cài đặt hoàn tất, hãy điều hướng đến... Jenkins Bảng điều khiển (mặc định là http://localhost:8080) trong cửa sổ trình duyệt.

Tích hợp Jenkins Với Selenium webdriver

Bước 6) Click vào New Item liên kết để tạo một công việc CI.

Tích hợp Jenkins Với Selenium webdriver

Bước 7) Chọn nút tùy chọn dự án Maven như hiển thị trong ảnh chụp màn hình sau:

Tích hợp Jenkins Với Selenium webdriver

Sử dụng Xây dựng một Dự án Maven Tùy chọn, Jenkins Hỗ trợ xây dựng và kiểm thử các dự án Maven.

Bước 8) Nhấp vào nút OK. Một công việc mới có tên “WebdriverTest” sẽ được tạo trong... Jenkins Bảng điều khiển.

Tích hợp Jenkins Với Selenium webdriver

Bước 9) Đến phần Quản lý Jenkins => Định cấu hình hệ thống như thể hiện trong ảnh chụp màn hình sau đây.

Tích hợp Jenkins Với Selenium webdriver

Nhấp vào cài đặt JDK và cấu hình JDK như trong ảnh chụp màn hình sau:

Tích hợp Jenkins Với Selenium WebDrive

Bước 10) Tới Xây dựng phần của công việc mới.

  • Trong tạp chí POM gốc Trong hộp văn bản, nhập đường dẫn đầy đủ đến tệp pom.xml.
  • Trong mục Mục tiêu và tùy chọn, nhập “kiểm tra sạch”

Tích hợp Jenkins Với Selenium webdriver

Bước 11) Click vào Rắc bột .

Tích hợp Jenkins Với Selenium webdriver

Bước 12) Trên trang dự án WebdriverTest, nhấp vào Xây dựng ngay liên kết.

Tích hợp Jenkins Với Selenium webdriver

Maven sẽ xây dựng dự án. Sau đó nó sẽ có TestNG thực hiện các trường hợp thử nghiệm.

Bước 13) Sau khi quá trình xây dựng hoàn tất, trong Jenkins Nhấp vào Bảng điều khiển Kiểm tra trình điều khiển web dự án.

Tích hợp Jenkins Với Selenium webdriver

Bước 14) Trang dự án WebdriverTest hiển thị lịch sử xây dựng và liên kết đến kết quả như trong ảnh chụp màn hình sau:

Tích hợp Jenkins Với Selenium webdriver

Bước 15) Nhấp vào liên kết “Kết quả xét nghiệm mới nhất” để xem kết quả xét nghiệm như trong ảnh chụp màn hình sau:

Tích hợp Jenkins Với Selenium webdriver

Bước 16) Chọn một bản dựng cụ thể, và bạn sẽ thấy trạng thái hiện tại bằng cách nhấp vào “đầu ra bảng điều khiển".

Tích hợp Jenkins Với Selenium webdriver

Lập kế hoạch Jenkins Để thực thi tự động

Lên lịch xây dựng (Selenium (các bài kiểm tra) là một trong những tính năng quan trọng của Jenkins, nơi nó tự động kích hoạt quá trình xây dựng dựa trên các tiêu chí đã định. Jenkins Cung cấp nhiều cách để kích hoạt quy trình xây dựng trong cấu hình Kích hoạt Xây dựng.

Ví dụ:
Nhập 0 23 * * * vào hộp văn bản Schedule như trong ảnh chụp màn hình sau. Điều này sẽ kích hoạt quá trình xây dựng mỗi ngày lúc 11 giờ tối

Jenkins Để thực thi tự động

Sử dụng Jenkins không có Maven

Để vận hành một hệ thống thuần túy TestNG kịch bản trong Jenkins, nhập các thông tin sau vào phần build:

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml

Jenkins Để thực thi tự động

  • Nhấp vào nút Lưu.
  • Lưu ý: Bạn cần thêm đường dẫn thực tế của thư mục lib và bin vào lệnh trên.
  • Sau khi lưu lệnh, Jenkins Dự án sẽ được xây dựng vào thời gian đã định trước, và lệnh này sẽ được chạy bằng cách sử dụng TestNG.
  • Kết quả sẽ được lưu trữ trong một tệp báo cáo HTML tùy chỉnh, có thể được gửi qua email bằng cách sử dụng... Jenkins cấu hình.
  • Kết quả đầu ra của đoạn mã sẽ là:

Jenkins Để thực thi tự động

Lợi ích của việc sử dụng Jenkins

  1. Phát hiện lỗi sớm – lỗi có thể được phát hiện ngay từ giai đoạn đầu của quá trình phát triển phần mềm.
  2. Tích hợp tự động – không cần thực hiện riêng lẻ việc tích hợp tất cả các thay đổi.
  3. Trình cài đặt – một hệ thống có thể triển khai ở bất kỳ giai đoạn phát triển nào.
  4. Hồ sơ – Hồ sơ các công trình đã xây dựng trước đây được lưu giữ.
  5. Hỗ trợ và Plugin – một trong những lý do JenkinsSự phổ biến của nó đến từ sự hỗ trợ cộng đồng lớn. Có rất nhiều plugin có sẵn giúp bạn mở rộng chức năng của nó.

Câu Hỏi Thường Gặp

Maven quản lý các phụ thuộc và vòng đời xây dựng. Selenium điều khiển trình duyệt và Jenkins Điều phối quá trình thực thi. Cùng nhau, chúng tạo thành một quy trình CI hoàn chỉnh, biên dịch mã, tải xuống các tệp JAR cần thiết và chạy. Selenium thực hiện các bài kiểm tra và tự động công bố báo cáo sau mỗi lần commit.

Sử dụng Maven 3.x để quản lý các thư viện phụ thuộc và quá trình biên dịch, và Jenkins LTS (Long-Term Support) dành cho việc tích hợp liên tục ổn định. Các phiên bản này cung cấp hỗ trợ dài hạn, các bản vá bảo mật và khả năng tương thích plugin rộng rãi. Selenium WebDriver, TestNGvà các plugin báo cáo Surefire.

Vâng. Jenkins Sử dụng cú pháp kiểu cron trong phần Kích hoạt bản dựng để lên lịch Selenium các phòng suite. Ví dụ, 0 23 * * * vận hành phòng suite mỗi đêm lúc 11 giờ. Jenkins Cũng có thể kích hoạt quá trình xây dựng dựa trên việc thăm dò hệ thống quản lý mã nguồn (SCM) hoặc các sự kiện webhook.

Hỗ trợ AI Jenkins Các plugin dự đoán các bài kiểm tra không ổn định, tự động tinh chỉnh các tác nhân xây dựng và phát hiện các bất thường trong nhật ký bảng điều khiển. Chúng giảm nhiễu trong quy trình, tăng tốc phản hồi và đề xuất song song hóa tối ưu, giúp duy trì hiệu suất. Selenium Các bộ kiểm thử trở nên đáng tin cậy khi số lượng bài kiểm thử tăng lên hàng nghìn.

Đúng vậy. Phân tích tác động kiểm thử dựa trên AI sẽ ánh xạ các thay đổi mã đến các đối tượng bị ảnh hưởng. Selenium các kịch bản và chỉ chạy tập hợp con có liên quan trong JenkinsĐiều này giúp rút ngắn chu kỳ phản hồi, giảm chi phí cơ sở hạ tầng và duy trì độ bao phủ đầy đủ bằng cách lên lịch kiểm thử hồi quy toàn diện trên các bản dựng hàng đêm.

Tóm tắt bài viết này với: