การบูรณาการ 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 ตามที่แสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 3) คลิกที่ ถัดไป ปุ่มและเสร็จสิ้นการติดตั้ง
กำหนดค่า Eclipse กับมาเวน
เมื่อติดตั้งปลั๊กอิน m2e แล้ว ตอนนี้เราจำเป็นต้องสร้างโปรเจ็กต์ Maven
ขั้นตอน 1) In Eclipse IDE สร้างโครงการใหม่โดยเลือก เนื้อไม่มีมัน | ใหม่ | อื่นๆ จาก Eclipse เมนู
ขั้นตอน 2) เกี่ยวกับ ใหม่ ใหเลือก Maven | โครงการมาเวน และคลิกถัดไป
ขั้นตอน 3) เกี่ยวกับ โครงการมาเวนใหม่ กล่องโต้ตอบเลือก สร้างโครงการที่เรียบง่าย และคลิกถัดไป
ขั้นตอน 4) เข้าสู่ WebdriverTest ใน รหัสกลุ่ม: และ รหัสอาร์ติแฟกต์: และคลิกเสร็จสิ้น
ขั้นตอน 5) Eclipse จะสร้าง การทดสอบไดรเวอร์เว็บ โดยมีโครงสร้างดังนี้:
ขั้นตอน 6) คลิกขวาที่ ไลบรารีระบบ JRE และเลือก อสังหาริมทรัพย์ ตัวเลือกจากเมนู
เกี่ยวกับ คุณสมบัติสำหรับไลบรารีระบบ JRE กล่องโต้ตอบตรวจสอบให้แน่ใจว่า JRE ดีฟอลต์ของพื้นที่ทำงาน ถูกเลือกแล้วคลิกตกลง
ขั้นตอน 7). เลือก pom.xml จาก นักสำรวจโครงการ..
ไฟล์ pom.xml จะเปิดขึ้นในส่วนตัวแก้ไข
ขั้นตอน 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:กล่องข้อความและคลิกที่ปุ่ม เสร็จสิ้น ปุ่มดังแสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 10). Eclipse จะสร้างคลาส NewTest ตามที่แสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 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 ซึ่งระบุว่าคุณต้องรันการทดสอบเพียงครั้งเดียวโดยใช้ชื่อ การทดสอบใหม่ ตามที่แสดงในภาพหน้าจอต่อไปนี้:
อัปเดตโปรเจ็กต์และตรวจสอบให้แน่ใจว่าไฟล์นั้นปรากฏในแผนผัง แพ็คเกจสำรวจ (คลิกขวาที่โครงการ - รีเฟรช)
ขั้นตอน 13) ตอนนี้คุณต้องทำการทดสอบผ่านสิ่งนี้ ทดสอบ.xml
ดังนั้นไปที่ เรียกใช้การกำหนดค่า และสร้างการเปิดตัวใหม่ TestNGให้เลือกโครงการและสาขา ชุด as การทดสอบ ng.xml และคลิกเรียกใช้
ตรวจสอบให้แน่ใจว่าการสร้างเสร็จสมบูรณ์แล้ว
ขั้นตอน 14)- นอกจากนี้เรายังต้องเพิ่ม
- Maven คอมไพเลอร์ปลั๊กอิน
- maven-surefire-ปลั๊กอิน
- การทดสอบ ng.xml
ไปที่ pom.xml.
maven-surefire-plugin ใช้เพื่อกำหนดค่าและดำเนินการทดสอบ ปลั๊กอินนี้ใช้เพื่อกำหนดค่าการทดสอบ.xml สำหรับ TestNG ทดสอบและสร้างรายงานการทดสอบ
ปลั๊กอิน maven-compiler ใช้เพื่อช่วยในการคอมไพล์โค้ดและใช้ JDK เวอร์ชันเฉพาะในการคอมไพล์ เพิ่มการอ้างอิงทั้งหมดในสไนปเป็ตโค้ดต่อไปนี้ลงใน pom.xml ใน โหนด:
ขั้นตอน 15) เพื่อเรียกใช้e การทดสอบในวงจรชีวิต Maven คลิกขวาที่ WebdriverTest แล้วเลือก เรียกใช้เป็น | การทดสอบมาเวน- Maven จะดำเนินการทดสอบจากโครงการ
ตรวจสอบให้แน่ใจว่าการสร้างเสร็จสมบูรณ์แล้ว
วิธีการรวมเจนกินส์เข้ากับ Selenium ไดรเวอร์เว็บ
นี่คือขั้นตอนในการติดตั้ง Jenkins และกำหนดค่าให้รัน Maven ด้วย TestNg Selenium
การติดตั้ง
ขั้นตอน 1) ไปที่ http://jenkins-ci.org/ และดาวน์โหลดแพ็คเกจที่ถูกต้องสำหรับระบบปฏิบัติการของคุณ ติดตั้งเจนกินส์
ขั้นตอน 2) แตกไฟล์ Jenkins ไปยังโฟลเดอร์ที่ระบุ เรียกใช้ไฟล์ exe ตามที่แสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 3) In การตั้งค่าเจนกินส์ 1.607 คลิกที่หน้าต่าง ถัดไป ปุ่ม
ขั้นตอน 4) คลิกที่ การติดตั้ง ปุ่มในตอนท้าย
ขั้นตอน 5) เมื่อการติดตั้งเสร็จสิ้น ให้ไปที่ Jenkins Dashboard (http://localhost:8080 โดยค่าเริ่มต้น) ในหน้าต่างเบราว์เซอร์
ขั้นตอน 6) คลิกที่ รายการใหม่ ลิงค์เพื่อสร้างงาน CI
ขั้นตอน 7) เลือกปุ่มตัวเลือกโครงการ Maven ตามที่แสดงในภาพหน้าจอต่อไปนี้:
การใช้ Build a โครงการมาเวน ตัวเลือก Jenkins รองรับการสร้างและทดสอบโปรเจ็กต์ Maven
ขั้นตอน 8) คลิกที่ปุ่มตกลง งานใหม่ชื่อ "WebdriverTest" ถูกสร้างขึ้นใน Jenkins Dashboard
ขั้นตอน 9) ไปที่ จัดการเจนกินส์ => กำหนดค่าระบบ ดังที่แสดงในภาพหน้าจอต่อไปนี้
คลิกบนการติดตั้ง JDK และกำหนดค่า JDK ตามภาพหน้าจอต่อไปนี้:
ขั้นตอน 10) ไปที่ สร้าง ส่วนของงานใหม่
- ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร รูต POM กล่องข้อความ ป้อนเส้นทางเต็มไปยัง pom.xml
- ในส่วนเป้าหมายและตัวเลือก ให้ป้อน “การทดสอบใหม่ทั้งหมด”
ขั้นตอน 11) คลิกที่ สมัครสมาชิก ปุ่ม
ขั้นตอน 12) บนหน้าโครงการ WebdriverTest คลิกที่ สร้างตอนนี้ ลิงค์
Maven จะสร้างโครงการ มันก็จะมี TestNG ดำเนินการกรณีทดสอบ
ขั้นตอน 13) เมื่อกระบวนการสร้างเสร็จสมบูรณ์ ใน Jenkins Dashboard ให้คลิกที่ การทดสอบไดรเวอร์เว็บ โครงการ
ขั้นตอน 14) หน้าโครงการ WebdriverTest จะแสดงประวัติการสร้างและลิงก์ไปยังผลลัพธ์ตามที่แสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 15) คลิกที่ลิงก์ “ผลการทดสอบล่าสุด” เพื่อดูผลการทดสอบดังที่แสดงในภาพหน้าจอต่อไปนี้:
ขั้นตอน 16)- เลือกรุ่นที่ต้องการแล้วคุณจะเห็นสถานะปัจจุบันโดยคลิกที่ “เอาต์พุตคอนโซล"
การกำหนดเวลา 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
- ผลลัพธ์ของโค้ดจะเป็น
ประโยชน์ของการใช้เจนกินส์
- การค้นหาปัญหาตั้งแต่เนิ่นๆ – สามารถตรวจพบข้อผิดพลาดได้ในระยะแรกของการพัฒนาซอฟต์แวร์
- การรวมระบบอัตโนมัติ – ไม่ต้องใช้ความพยายามแยกต่างหากในการรวมการเปลี่ยนแปลงทั้งหมด
- โปรแกรมติดตั้ง – ระบบที่ปรับใช้ได้ที่จุดใด ๆ ของการพัฒนา
- บันทึก – บันทึกการสร้างชิ้นส่วนได้รับการดูแล
- การสนับสนุนและปลั๊กอิน: เหตุผลประการหนึ่งที่ทำให้ Jenkin ได้รับความนิยมก็คือการที่มีชุมชนสนับสนุนจำนวนมาก นอกจากนี้ ยังมีปลั๊กอินสำเร็จรูปมากมายที่ช่วยให้คุณขยายฟังก์ชันการใช้งานได้