การบูรณาการ Maven & Jenkins ด้วย Selenium การกวดวิชา

เจนกินส์อยู่ในอะไร Selenium?

Jenkins เป็นเครื่องมือบูรณาการโอเพ่นซอร์สอย่างต่อเนื่องชั้นนำที่พัฒนาโดยห้องปฏิบัติการ Hudson เป็นแพลตฟอร์มข้ามแพลตฟอร์มและสามารถนำไปใช้ได้ Windows, Linux, Mac OS และ Solaris สภาพแวดล้อม เจนกินส์เขียนอยู่ใน Java- การใช้งานหลักของ Jenkin คือการตรวจสอบงานใดๆ ก็ตามที่อาจเป็นการชำระเงิน SVN, cron หรือสถานะแอปพลิเคชันใดๆ โดยจะเริ่มการดำเนินการที่กำหนดค่าไว้ล่วงหน้าเมื่อมีขั้นตอนเฉพาะเกิดขึ้นในงาน

คุณสมบัติที่สำคัญของเจนกินส์

  • การสนับสนุนการเปลี่ยนแปลง: Jenkins สร้างรายการการเปลี่ยนแปลงทั้งหมดที่ทำในที่เก็บข้อมูลเช่น SVN
  • ลิงค์ถาวร: Jenkins ให้ลิงก์โดยตรงไปยังบิลด์ล่าสุดหรือบิลด์ที่ล้มเหลวซึ่งสามารถใช้เพื่อการสื่อสารที่ง่ายดาย
  • การติดตั้ง: Jenkins ติดตั้งง่ายโดยใช้ไฟล์การติดตั้งโดยตรง (exe) หรือไฟล์ war เพื่อปรับใช้โดยใช้แอปพลิเคชันเซิร์ฟเวอร์
  • การรวมอีเมล: สามารถกำหนดค่า Jenkins ให้ส่งเนื้อหาสถานะของการสร้างทางอีเมลได้
  • การกำหนดค่าที่ง่าย: การกำหนดค่างานต่างๆ บน Jenkins เป็นเรื่องง่าย
  • TestNG ทดสอบ: สามารถกำหนดค่า Jenkins เพื่อรันบิวด์การทดสอบอัตโนมัติได้ ทดสอบ หลังจากแต่ละ build ของ SVN
  • VM หลายเครื่อง: สามารถกำหนดค่า Jenkins เพื่อกระจายบิลด์บนเครื่องหลายเครื่องได้
  • การสร้างโครงการ: เจนกินส์บันทึกรายละเอียดของ jar เวอร์ชันของ jar และการแมปของหมายเลขรุ่นและ jar
  • ปลั๊กอิน: 3rd ปลั๊กอินปาร์ตี้สามารถกำหนดค่าได้ใน Jenkins เพื่อใช้คุณสมบัติและฟังก์ชันเพิ่มเติม

ทำไมต้องเจนกินส์และ Selenium?

  • เล่น Selenium การทดสอบใน Jenkins ช่วยให้คุณสามารถรันการทดสอบทุกครั้งที่ซอฟต์แวร์ของคุณเปลี่ยนแปลงและปรับใช้ซอฟต์แวร์ในสภาพแวดล้อมใหม่เมื่อการทดสอบผ่านไป
  • Jenkins สามารถกำหนดเวลาการทดสอบให้ทำงานตามเวลาที่กำหนดได้
  • คุณสามารถบันทึกประวัติการดำเนินการและรายงานการทดสอบได้
  • Jenkins สนับสนุน Maven ในการสร้างและ การทดสอบ โครงการบูรณาการอย่างต่อเนื่อง

มาเวนอยู่ในอะไร Selenium?

Maven เป็นเครื่องมือการจัดการโปรเจ็กต์/บิลด์ที่ทรงพลัง ตามแนวคิดของ POM (Project Object Model) ที่รวมข้อมูลโปรเจ็กต์และข้อมูลการกำหนดค่าสำหรับ Maven เช่น ไดเร็กทอรีการก่อสร้าง ไดเร็กทอรีต้นทาง การขึ้นต่อกัน ไดเร็กทอรีซอร์สทดสอบ เป้าหมาย ปลั๊กอิน ฯลฯ .

ทำไมต้องมาเวนแอนด์เจนกินส์

Selenium WebDriver นั้นยอดเยี่ยมสำหรับการทำงานอัตโนมัติของเบราว์เซอร์ แต่เมื่อใช้มันเพื่อทดสอบและสร้างกรอบการทดสอบ กลับรู้สึกว่ามันมีประสิทธิภาพไม่เพียงพอ การบูรณาการ Maven เข้ากับ Selenium ให้ผลประโยชน์ดังต่อไปนี้
Apache Maven ให้การสนับสนุนการจัดการวงจรชีวิตของโครงการทดสอบทั้งหมด

  • Maven ใช้เพื่อกำหนดโครงสร้างโปรเจ็กต์ การขึ้นต่อกัน การสร้าง และการจัดการการทดสอบ
  • การใช้ pom.xml(Maven) คุณสามารถกำหนดค่าการขึ้นต่อกันที่จำเป็นสำหรับการสร้างการทดสอบและการรันโค้ด
  • Maven จะดาวน์โหลดไฟล์ที่จำเป็นจากพื้นที่เก็บข้อมูลโดยอัตโนมัติขณะสร้างโปรเจ็กต์

วิธีการติดตั้ง Maven และใช้งานด้วย TestNG Selenium

นี่คือขั้นตอนในการติดตั้ง Maven และใช้งานด้วย TestNG Selenium

สำหรับบทช่วยสอนนี้ เราจะใช้ Eclipse (จูโน) IDE สำหรับ Java นักพัฒนาที่จะตั้งค่า Selenium โครงการ WebDriver นอกจากนี้ เรายังต้องเพิ่มปลั๊กอิน m2eclipse เข้าไปด้วย Eclipse เพื่ออำนวยความสะดวกในกระบวนการสร้างและสร้างไฟล์ pom.xml
มาเพิ่มปลั๊กอิน m2eclipse กันเถอะ Eclipse โดยมีขั้นตอนดังนี้

ขั้นตอน 1) In Eclipse IDE เลือก การช่วยเหลือ | ติดตั้งซอฟต์แวร์ใหม่ จาก Eclipse เมนูหลัก.

ขั้นตอน 2) ในกล่องโต้ตอบการติดตั้ง ให้ป้อน URL https://www.eclipse.org/m2e/- เลือก ทำงานร่วมกับ และปลั๊กอิน m2e ตามที่แสดงในภาพหน้าจอต่อไปนี้:

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 3) คลิกที่ ถัดไป ปุ่มและเสร็จสิ้นการติดตั้ง

กำหนดค่า Eclipse กับมาเวน

เมื่อติดตั้งปลั๊กอิน m2e แล้ว ตอนนี้เราจำเป็นต้องสร้างโปรเจ็กต์ Maven

ขั้นตอน 1) In Eclipse IDE สร้างโครงการใหม่โดยเลือก เนื้อไม่มีมัน | ใหม่ | อื่นๆ จาก Eclipse เมนู

ขั้นตอน 2) เกี่ยวกับ ใหม่ ใหเลือก Maven | โครงการมาเวน และคลิกถัดไป

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 3) เกี่ยวกับ โครงการมาเวนใหม่ กล่องโต้ตอบเลือก สร้างโครงการที่เรียบง่าย และคลิกถัดไป

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 4) เข้าสู่ WebdriverTest ใน รหัสกลุ่ม: และ รหัสอาร์ติแฟกต์: และคลิกเสร็จสิ้น

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 5) Eclipse จะสร้าง การทดสอบไดรเวอร์เว็บ โดยมีโครงสร้างดังนี้:

ติดตั้ง Maven และใช้กับ TestNG Seleniuml

ขั้นตอน 6) คลิกขวาที่ ไลบรารีระบบ JRE และเลือก อสังหาริมทรัพย์ ตัวเลือกจากเมนู

ติดตั้ง Maven และใช้กับ TestNG Selenium

เกี่ยวกับ คุณสมบัติสำหรับไลบรารีระบบ JRE กล่องโต้ตอบตรวจสอบให้แน่ใจว่า JRE ดีฟอลต์ของพื้นที่ทำงาน ถูกเลือกแล้วคลิกตกลง

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 7). เลือก pom.xml จาก นักสำรวจโครงการ..

ติดตั้ง Maven และใช้กับ TestNG Selenium

ไฟล์ pom.xml จะเปิดขึ้นในส่วนตัวแก้ไข

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 8) เพิ่ม Selenium, มาเวน, TestNG, จูนิต การพึ่งพา pom.xml ในไฟล์ โหนด:

	<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) สร้างไฟล์ TestNG ระดับ. ป้อนชื่อแพ็คเกจเป็น "ตัวอย่าง" และ "NewTest" ใน Name:กล่องข้อความและคลิกที่ปุ่ม เสร็จสิ้น ปุ่มดังแสดงในภาพหน้าจอต่อไปนี้:

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 10). Eclipse จะสร้างคลาส NewTest ตามที่แสดงในภาพหน้าจอต่อไปนี้:

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 11) เพิ่มรหัสต่อไปนี้ใน การทดสอบใหม่ ระดับ:

รหัสนี้จะยืนยันชื่อของ 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();			
		}		
}	

ขั้นตอน 12) คลิกขวาที่ WebdriverTest แล้วเลือก TestNG | เปลี่ยนเป็น TestNG.
Eclipse จะสร้าง testng.xml ซึ่งระบุว่าคุณต้องรันการทดสอบเพียงครั้งเดียวโดยใช้ชื่อ การทดสอบใหม่ ตามที่แสดงในภาพหน้าจอต่อไปนี้:

ติดตั้ง Maven และใช้กับ TestNG Selenium

อัปเดตโปรเจ็กต์และตรวจสอบให้แน่ใจว่าไฟล์นั้นปรากฏในแผนผัง แพ็คเกจสำรวจ (คลิกขวาที่โครงการ - รีเฟรช)

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 13) ตอนนี้คุณต้องทำการทดสอบผ่านสิ่งนี้ ทดสอบ.xml

ดังนั้นไปที่ เรียกใช้การกำหนดค่า และสร้างการเปิดตัวใหม่ TestNGให้เลือกโครงการและสาขา ชุด as การทดสอบ ng.xml และคลิกเรียกใช้

ติดตั้ง Maven และใช้กับ TestNG Selenium

ตรวจสอบให้แน่ใจว่าการสร้างเสร็จสมบูรณ์แล้ว

ขั้นตอน 14)- นอกจากนี้เรายังต้องเพิ่ม

  1. Maven คอมไพเลอร์ปลั๊กอิน
  2. maven-surefire-ปลั๊กอิน
  3. การทดสอบ ng.xml

ไปที่ pom.xml.

maven-surefire-plugin ใช้เพื่อกำหนดค่าและดำเนินการทดสอบ ปลั๊กอินนี้ใช้เพื่อกำหนดค่าการทดสอบ.xml สำหรับ TestNG ทดสอบและสร้างรายงานการทดสอบ

ปลั๊กอิน maven-compiler ใช้เพื่อช่วยในการคอมไพล์โค้ดและใช้ JDK เวอร์ชันเฉพาะในการคอมไพล์ เพิ่มการอ้างอิงทั้งหมดในสไนปเป็ตโค้ดต่อไปนี้ลงใน pom.xml ใน โหนด:

ติดตั้ง Maven และใช้กับ TestNG Selenium

ขั้นตอน 15) เพื่อเรียกใช้e การทดสอบในวงจรชีวิต Maven คลิกขวาที่ WebdriverTest แล้วเลือก เรียกใช้เป็น | การทดสอบมาเวน- Maven จะดำเนินการทดสอบจากโครงการ

ติดตั้ง Maven และใช้กับ TestNG Selenium

ตรวจสอบให้แน่ใจว่าการสร้างเสร็จสมบูรณ์แล้ว

วิธีการรวมเจนกินส์เข้ากับ Selenium ไดรเวอร์เว็บ

นี่คือขั้นตอนในการติดตั้ง Jenkins และกำหนดค่าให้รัน Maven ด้วย TestNg Selenium

การติดตั้ง

ขั้นตอน 1) ไปที่ http://jenkins-ci.org/ และดาวน์โหลดแพ็คเกจที่ถูกต้องสำหรับระบบปฏิบัติการของคุณ ติดตั้งเจนกินส์

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 2) แตกไฟล์ Jenkins ไปยังโฟลเดอร์ที่ระบุ เรียกใช้ไฟล์ exe ตามที่แสดงในภาพหน้าจอต่อไปนี้:

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 3) In การตั้งค่าเจนกินส์ 1.607 คลิกที่หน้าต่าง ถัดไป ปุ่ม

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 4) คลิกที่ การติดตั้ง ปุ่มในตอนท้าย

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 5) เมื่อการติดตั้งเสร็จสิ้น ให้ไปที่ Jenkins Dashboard (http://localhost:8080 โดยค่าเริ่มต้น) ในหน้าต่างเบราว์เซอร์

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 6) คลิกที่ รายการใหม่ ลิงค์เพื่อสร้างงาน CI

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 7) เลือกปุ่มตัวเลือกโครงการ Maven ตามที่แสดงในภาพหน้าจอต่อไปนี้:

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

การใช้ Build a โครงการมาเวน ตัวเลือก Jenkins รองรับการสร้างและทดสอบโปรเจ็กต์ Maven

ขั้นตอน 8) คลิกที่ปุ่มตกลง งานใหม่ชื่อ "WebdriverTest" ถูกสร้างขึ้นใน Jenkins Dashboard

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 9) ไปที่ จัดการเจนกินส์ => กำหนดค่าระบบ ดังที่แสดงในภาพหน้าจอต่อไปนี้

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

คลิกบนการติดตั้ง JDK และกำหนดค่า JDK ตามภาพหน้าจอต่อไปนี้:

บูรณาการของเจนกินส์ด้วย Selenium WebDrive

ขั้นตอน 10) ไปที่ สร้าง ส่วนของงานใหม่

  • ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร รูต POM กล่องข้อความ ป้อนเส้นทางเต็มไปยัง pom.xml
  • ในส่วนเป้าหมายและตัวเลือก ให้ป้อน “การทดสอบใหม่ทั้งหมด”
  • บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 11) คลิกที่ สมัครสมาชิก ปุ่ม

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 12) บนหน้าโครงการ WebdriverTest คลิกที่ สร้างตอนนี้ ลิงค์

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

Maven จะสร้างโครงการ มันก็จะมี TestNG ดำเนินการกรณีทดสอบ

ขั้นตอน 13) เมื่อกระบวนการสร้างเสร็จสมบูรณ์ ใน Jenkins Dashboard ให้คลิกที่ การทดสอบไดรเวอร์เว็บ โครงการ

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 14) หน้าโครงการ WebdriverTest จะแสดงประวัติการสร้างและลิงก์ไปยังผลลัพธ์ตามที่แสดงในภาพหน้าจอต่อไปนี้:

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 15) คลิกที่ลิงก์ “ผลการทดสอบล่าสุด” เพื่อดูผลการทดสอบดังที่แสดงในภาพหน้าจอต่อไปนี้:

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 16)- เลือกรุ่นที่ต้องการแล้วคุณจะเห็นสถานะปัจจุบันโดยคลิกที่ “เอาต์พุตคอนโซล"

บูรณาการของเจนกินส์ด้วย Selenium ไดรเวอร์เว็บ

การกำหนดเวลา Jenkins สำหรับการดำเนินการอัตโนมัติ

การจัดกำหนดการบิลด์ (Selenium Tests) เป็นหนึ่งในคุณสมบัติที่สำคัญของ Jenkins โดยจะทริกเกอร์การสร้างโดยอัตโนมัติตามเกณฑ์ที่กำหนด Jenkins จัดเตรียมหลายวิธีในการทริกเกอร์กระบวนการสร้างภายใต้การกำหนดค่า Build Trigger

ตัวอย่างเช่น:
ป้อน 0 23 * * * ในกล่องข้อความ Schedule ตามที่แสดงในภาพหน้าจอต่อไปนี้ การดำเนินการนี้จะเริ่มต้นกระบวนการสร้างทุกวันเวลา 11 น.

เจนกินส์สำหรับการดำเนินการอัตโนมัติ

ใช้ Jenkings โดยไม่มี Maven

ในการเรียกใช้สคริปต์ TestNg บริสุทธิ์ใน Jenkins ให้ป้อนสิ่งต่อไปนี้ในการสร้าง

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG การทดสอบ ng.xml

เจนกินส์สำหรับการดำเนินการอัตโนมัติ

  • คลิกที่ปุ่มบันทึก
  • หมายเหตุ: เส้นทางที่แท้จริงของโฟลเดอร์ lib และ bin จำเป็นต้องเพิ่มในคำสั่งด้านบน
  • หลังจากบันทึกคำสั่งแล้ว Jenkins จะสร้างโปรเจ็กต์ในเวลาที่กำหนดไว้ล่วงหน้า และคำสั่งนี้จะถูกรันโดยใช้ TestNG.
  • ผลลัพธ์จะถูกเก็บไว้ในไฟล์ HTML ของรายงานที่กำหนดเองซึ่งสามารถส่งผ่านอีเมลโดยใช้การกำหนดค่า Jenkin
  • ผลลัพธ์ของโค้ดจะเป็น

เจนกินส์สำหรับการดำเนินการอัตโนมัติ

ประโยชน์ของการใช้เจนกินส์

  1. การค้นหาปัญหาตั้งแต่เนิ่นๆ – สามารถตรวจพบข้อผิดพลาดได้ในระยะแรกของการพัฒนาซอฟต์แวร์
  2. การรวมระบบอัตโนมัติ – ไม่ต้องใช้ความพยายามแยกต่างหากในการรวมการเปลี่ยนแปลงทั้งหมด
  3. โปรแกรมติดตั้ง – ระบบที่ปรับใช้ได้ที่จุดใด ๆ ของการพัฒนา
  4. บันทึก – บันทึกการสร้างชิ้นส่วนได้รับการดูแล
  5. การสนับสนุนและปลั๊กอิน: เหตุผลประการหนึ่งที่ทำให้ Jenkin ได้รับความนิยมก็คือการที่มีชุมชนสนับสนุนจำนวนมาก นอกจากนี้ ยังมีปลั๊กอินสำเร็จรูปมากมายที่ช่วยให้คุณขยายฟังก์ชันการใช้งานได้