วิธีดำเนินการกรณีทดสอบที่ล้มเหลวใน TestNG: Selenium ไดรเวอร์เว็บ
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้-
- สร้าง Selenium โครงการ
- แปลงและดำเนินการ Selenium โครงการเพื่อ TestNG
- ดำเนินงาน TestNG ผ่านทางบรรทัดคำสั่ง
- วิธีรันเฉพาะกรณีทดสอบที่ล้มเหลว
- การรันไฟล์ testng-failed.xml จากบรรทัดคำสั่ง
สร้าง Selenium โครงการ
เตรียมโครงการ
ขั้นตอน 1) In Eclipse, สร้าง Java โครงการโดยคลิกที่ใหม่ Java โครงการ
ขั้นตอน 2) ในขั้นตอนนี้
- แจ้งชื่อโครงการ
- เลือกสภาพแวดล้อมการดำเนินการ
- เลือกตัวเลือกเค้าโครงโครงการ
- คลิกที่ปุ่ม "เสร็จสิ้น"
เมื่อคุณคลิกที่ปุ่มเสร็จสิ้น โครงการ Java “TestProject” ถูกสร้างขึ้น “TestProject” จะมีลักษณะเช่นนี้
ขั้นตอน 3) เปิดโครงการที่สร้างขึ้นใหม่ คุณจะเห็นโฟลเดอร์ “src” ใน Package Explorer
- คลิกขวาที่โครงการและเลือก "ใหม่"
- เลือกแพ็คเกจตัวเลือก
ขั้นตอน 4) ในขั้นตอนนี้
- เรียกดูโฟลเดอร์ src และเลือกแพ็คเกจ
- ระบุชื่อแพ็คเกจและ
- ในที่สุดคลิกที่ปุ่มเสร็จสิ้น (ชื่อแพ็คเกจ->com.test)
หลังจากคลิก "เสร็จสิ้น" โครงสร้างโครงการจะมีลักษณะดังนี้:
ขั้นตอน 5) ในขั้นตอนนี้
- ตอนนี้ให้คลิกขวาที่แพ็คเกจที่สร้างขึ้นใหม่และ
- เลือกตัวเลือก “ชั้นเรียน”
หน้าต่างใหม่จะเปิดขึ้น
ขั้นตอน 6) ในขั้นตอนนี้
- ตั้งชื่อ "ชั้นเรียน"
- เลือกตัวแก้ไข
- เรียกดูและเลือกซูเปอร์คลาส java.lang.object
- คลิกที่ปุ่มเสร็จสิ้น
ที่นี่ คุณกำลังสร้างสองคลาส เช่น: เดโมเอ, เดโมบี.
ขั้นแรกให้สร้างคลาส DemoA
เมื่อคุณคลิกที่ปุ่ม "เสร็จสิ้น" จากนั้นมันจะสร้างคลาสดังนี้:
ในทำนองเดียวกัน สร้างคลาส DemoB เมื่อคุณคลิกที่คลาสปุ่ม "Finish" จะมีลักษณะดังนี้
ขั้นตอน 7) ถ้าคุณได้ติดตั้ง TestNG ห้องสมุดเพียงคลิกที่ Java โครงการ -> คุณสมบัติ
ขั้นตอน 8) ตอนนี้อยู่ในหน้าต่างคุณสมบัติ
- คลิกที่ Java สร้างเส้นทาง
- คลิกที่ห้องสมุด
- คลิกที่เพิ่มห้องสมุด
ถัดไป
- คลิกที่ “TestNg” จากนั้น
- คลิกที่“ ถัดไป”
จากนั้นคลิกที่ปุ่ม "เสร็จสิ้น"
หลังจากนี้ให้เขียนโค้ดต่อไปนี้
สำหรับคลาส DemoA
คำอธิบายรหัส:
- Driver.manage().window().maximize();
บรรทัดนี้จะขยายหน้าต่างเบราว์เซอร์ให้ใหญ่สุด
- driver.get(https://www.google.co.in);
บรรทัดนี้จะป้อน URL ที่ระบุในช่อง URL
- driver.findElement(By.name("q")).sendKeys("สวัสดี");
บรรทัดนี้จะระบุช่องค้นหา “Google” และป้อนข้อมูลที่คุณส่งโดยใช้เมธอด sendKeys
เอาท์พุต: โปรแกรมข้างต้นมีข้อผิดพลาด ดังนั้นจึงไม่สามารถดำเนินการได้
ในทำนองเดียวกันสำหรับ Class DemoB
คำที่ขีดเส้นใต้สีแดงถือเป็นข้อผิดพลาดที่นี่ เนื่องจากคุณยังไม่ได้เพิ่มไฟล์ jar ที่มีคลาสและอินเทอร์เฟซเหล่านี้ เพื่อลบข้อผิดพลาดที่มีอยู่ในโค้ดด้านบนให้เพิ่มไฟล์ jar ที่เกี่ยวข้อง คลิกขวาที่ Java โครงการและเลือก “คุณสมบัติ”
ขั้นตอน 8) ในหน้าต่างคุณสมบัติ
- คลิกที่ Java สร้างเส้นทางในบานหน้าต่างนำทางด้านซ้าย
- คลิกที่แท็บห้องสมุด
- คลิกที่ เพิ่ม JAR ภายนอก และเลือก Selenium- ไฟล์ jar แบบสแตนด์อโลน
- คลิกที่ปุ่ม "ตกลง"
หลังจากขั้นตอนนี้ ข้อผิดพลาดทั้งหมดจะถูกลบออกโดยอัตโนมัติ หากไม่เป็นเช่นนั้น ให้วางเมาส์เหนือโค้ดที่แสดงข้อผิดพลาด และนำเข้าคลาสและอินเทอร์เฟซที่จำเป็นทั้งหมด
สำหรับ @test หากยังคงแสดงข้อผิดพลาด ให้วางเมาส์ไว้ตรงนั้น มันจะแสดงตัวเลือกที่เป็นไปได้ จากนั้นคลิกเพิ่ม TestNG ตัวเลือกห้องสมุด ทำเช่นเดียวกันกับ 'คลาส' อื่นด้วย
หลังจากเขียนโค้ดของคุณภายในทั้งสองคลาส เช่น DemoA แล้ว DemoB ไปยังขั้นตอนถัดไป
ขั้นตอน 9) ในขั้นตอนนี้
- คลิกขวาที่โครงการและ
- เลือกโฟลเดอร์ตัวเลือกเพื่อสร้างโฟลเดอร์ชื่อ 'lib' และวางไฟล์ jar testNG และไฟล์ jar selenium (selenium-server-standalone ).(การทดสอบและ Seleniumไฟล์ jar แบบสแตนด์อโลนของเซิร์ฟเวอร์ต้องดาวน์โหลดจากเว็บไซต์และจัดเก็บไว้ในระบบของคุณ คุณต้องไปที่โฟลเดอร์นั้นด้วยตนเองแล้วคัดลอก jar ทั้งสองนี้ จากนั้นคลิกขวาที่โฟลเดอร์ 'lib' ที่มีอยู่ใน Eclipse แล้วคลิกวาง
ขั้นตอน 10) ในขั้นตอนนี้
1. เลือกโฟลเดอร์หลัก
2. ตั้งชื่อโฟลเดอร์เป็น 'lib' และ (วัตถุประสงค์หลักของการเพิ่มไฟล์ jar สองไฟล์นี้ในโฟลเดอร์ lib ก็คือ ในขณะที่ดำเนินการจากพรอมต์คำสั่ง คุณสามารถบอกคอมไพเลอร์ได้ว่าไฟล์ jar ที่จำเป็นสำหรับการดำเนินการโปรแกรมอยู่ในตำแหน่งนี้ หากคุณต้องการดำเนินการ testng.xml จาก Eclipse โฟลเดอร์ lib นี้ไม่จำเป็นเลย)
3. คลิกที่ปุ่ม 'เสร็จสิ้น'
การทดสอบและ Seleniumไฟล์ jar แบบสแตนด์อโลนของเซิร์ฟเวอร์ต้องดาวน์โหลดจากเว็บไซต์และจัดเก็บไว้ในระบบของคุณ คุณต้องไปที่โฟลเดอร์นั้นด้วยตนเองแล้วคัดลอก jar ทั้งสองนี้ จากนั้นคลิกขวาที่โฟลเดอร์ 'lib' ที่มีอยู่ใน Eclipse แล้วคลิกวาง
หลังจากสร้างโฟลเดอร์แล้ว ขั้นตอนถัดไปคือการแปลงโปรแกรม DemoA และ DemoB ของเราเป็นไฟล์ Testng.xml
แปลงและดำเนินการ Selenium โครงการเพื่อ TestNG
ขั้นตอน 1) ในขั้นตอนนี้
- เลือกไฟล์ Java สองไฟล์ที่อยู่ใต้แพ็คเกจแล้วคลิกขวา
- เลือกตัวเลือกที่เรียกว่า “testNG”
- คลิกแปลงเป็น “testNG”
ขั้นตอน 2) หน้าต่างใหม่จะเปิดขึ้น ในหน้าต่างนี้ ให้ป้อนรายละเอียด เช่น
- สถานที่
- ชื่อห้องชุด
- ชื่อการทดสอบ
- การเลือกชั้นเรียน
- โหมดคู่ขนาน
- คลิกที่ปุ่ม "เสร็จสิ้น"
จากนั้นสร้างไฟล์ testng.xml ภายใต้โปรเจ็กต์ Java และจะมีลักษณะดังนี้
(หากคุณต้องการเรียกใช้ไฟล์ testng.xml นั้น ให้คลิกขวาที่ไฟล์ testng.xml ที่อยู่ในบานหน้าต่างนำทางด้านซ้ายใน Package Explorer แล้วคลิกเรียกใช้เป็น TestNG ห้องสวีท -
ขั้นตอน 3) ไฟล์ชุด testng.xml จะมีลักษณะดังนี้:
หากคุณต้องการรันคลาส DemoA ก่อน ให้ลบบรรทัดนั้นออกแล้วเพิ่มไว้หน้าคลาส DemoB ดังนี้:
ขั้นตอน 4) หลังจากดำเนินการไฟล์ testng.xml แล้ว ระบบจะแสดงผลลัพธ์ตามวิธีต่อไปนี้ (เนื่องจากคุณไม่ได้เขียนคำสั่งปฏิบัติการใดๆ โดยใช้ System.out.println() ดังนั้นจึงไม่มีการพิมพ์อะไรเลยในหน้าต่างคอนโซล)
นี่เป็นวิธีหนึ่งในการเรียกใช้การทดสอบผ่าน Eclipse หากคุณต้องการเรียกใช้ไฟล์ชุด testng.xml เดียวกันที่ประกอบด้วยไฟล์คลาส 2 ไฟล์ เช่น DemoA, DemoB จากพรอมต์คำสั่ง คุณต้องทำตามขั้นตอนด้านล่าง
ตอนนี้เปิดพรอมต์คำสั่งแล้วไปที่พื้นที่ทำงานของโครงการ
ดำเนินงาน TestNG ผ่านทางบรรทัดคำสั่ง
คุณต้องค้นหาที่ตั้งของพื้นที่โครงการ
ขั้นตอน 1) ขั้นแรกให้คลิกขวาที่ไฟล์ Java โครงการและเลือกตัวเลือกคุณสมบัติ ในหน้าต่างคุณสมบัติ เลือกตัวเลือกทรัพยากร
ขั้นตอน 2) ตอนนี้เมื่อคุณคลิกที่ลิงก์ "ทรัพยากร" จะปรากฏในบานหน้าต่างนำทางด้านซ้าย มันจะแสดงตำแหน่งที่เก็บโปรเจ็กต์อย่างชัดเจน
พื้นที่ทำงานของโครงการคือ C:\Users\User\Desktop\Guru99\TestProject- ดังนั้นคุณกำลังเปลี่ยนไดเร็กทอรีไปยังตำแหน่งนั้น
ขั้นตอน 3) จากนั้นพิมพ์คำสั่งดังต่อไปนี้ (คำสั่งนี้เป็นคำสั่งทั่วไป)
java –cp “เส้นทางของโฟลเดอร์ lib อยู่ในพื้นที่ทำงาน\*; เส้นทางของโฟลเดอร์ bin อยู่ในพื้นที่ทำงานของโครงการ; เส้นทางของไฟล์ testng.jar อยู่ในโฟลเดอร์ lib ของพื้นที่ทำงานของโครงการ” org.testng.TestNG การทดสอบ ng.xml
แต่สำหรับโครงการของเราคุณต้องเขียนคำสั่งดังต่อไปนี้
Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*; C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG testng.xml
ขั้นตอน 4) จากนั้นกด Enter ทั้งคลาส DemoA และ DemoB จะเริ่มดำเนินการ สุดท้ายจะแสดงผลลัพธ์บนพรอมต์คำสั่ง
วิธีรันเฉพาะกรณีทดสอบที่ล้มเหลว
หากคุณต้องการดำเนินการเฉพาะกรณีทดสอบที่ล้มเหลวผ่านทาง Eclipseจากนั้นรีเฟรชโปรเจ็กต์ก่อน
ขั้นตอนที่ 1) คลิกขวาที่โปรเจ็กต์ Java (Demo A และ B)
เลือกตัวเลือกการรีเฟรชหรือเพียงเลือกโปรเจ็กต์ Java แล้วกด F5
ขั้นตอนที่ 2) จากนั้นคุณจะสามารถเห็นโฟลเดอร์ทดสอบผลลัพธ์
ในโฟลเดอร์นั้น คุณมีไฟล์ที่ชื่อ testng-failed.xml
ขั้นตอนที่ 3) คลิกขวาที่ไฟล์นี้และคลิกเรียกใช้ในฐานะ จากนั้นเลือกตัวเลือกที่ชื่อ “testNG suite”
สมมติว่าคุณมีกรณีทดสอบสามกรณี หากดำเนินการกรณีทดสอบทั้งหมดสำเร็จ หมายความว่าคุณไม่สามารถดูโฟลเดอร์นี้ภายใต้โฟลเดอร์ทดสอบผลลัพธ์ได้ โฟลเดอร์นี้จะปรากฏขึ้นเฉพาะเมื่อกรณีทดสอบกรณีใดกรณีหนึ่งล้มเหลว จากนั้นรันไฟล์นี้ มันจะรันเฉพาะกรณีทดสอบที่ล้มเหลวเท่านั้น
การรันไฟล์ testng-failed.xml จากบรรทัดคำสั่ง
ขั้นตอน 1) เพื่อรันกรณีทดสอบที่ล้มเหลวในพรอมต์คำสั่ง เปิดพรอมต์คำสั่งและไปที่พื้นที่ทำงานของโครงการ
พื้นที่ทำงานโครงการของฉันคือ C:\Users\User\Desktop\Guru99\TestProject- ดังนั้นคุณจะเปลี่ยนไดเร็กทอรีไปยังตำแหน่งนั้น
ขั้นตอน 2) พิมพ์คำสั่งดังต่อไปนี้ (คำสั่งนี้เป็นคำสั่งทั่วไป)
java –cp “เส้นทางของโฟลเดอร์ lib อยู่ในพื้นที่ทำงาน\*; เส้นทางของโฟลเดอร์ bin อยู่ในพื้นที่ทำงานของโครงการ; เส้นทางของไฟล์ testing.jar อยู่ในโฟลเดอร์ lib ของพื้นที่ทำงานของโครงการ” org.testng.TestNG ทดสอบเอาท์พุท/testng-failed.xml
สำหรับโครงการของเรา คุณต้องเขียนคำสั่งต่อไปนี้
Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*; C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml
ขั้นตอน 3) จากนั้นกด Enter มันจะรันเฉพาะคลาสที่ล้มเหลวและการแสดงผลสอดคล้องกับคลาสนั้นเท่านั้น
ในคลาสข้างต้นคือ DemoB เพียงแค่เปลี่ยนโค้ดเช่นนี้
driver.findElement(By.name("a")).sendKeys("Bye");
โค้ดด้านบนจะไม่พบองค์ประกอบใดๆ ดังนั้นมันจะทำให้เกิดข้อยกเว้น แต่ในโปรแกรมของเรา คุณไม่ได้จัดการข้อยกเว้น ดังนั้นโปรแกรมของเราจะหยุดรันโค้ดที่เหลือ ด้วยเหตุนี้ ClassB จึงจะล้มเหลว
สรุป
- TestNG คือกรอบการทำงานการทดสอบอัตโนมัติซึ่งได้รับแรงบันดาลใจจาก Junit และมีคำอธิบายประกอบต่างๆ
- TestNG สร้างรายงานในรายงานมาตรฐานซึ่งมีสิ่งต่อไปนี้:
- มีกรณีทดสอบกี่กรณี?
- ผ่านการทดสอบกี่กรณี?
- มีกรณีทดสอบกี่กรณีที่ไม่ผ่าน?
- มีกรณีทดสอบกี่กรณีที่ถูกข้ามไป?
- สามารถจัดกลุ่มกรณีการทดสอบหลายกรณีได้อย่างง่ายดายและดำเนินการโดยการแปลงคลาสการทดสอบเป็นไฟล์ชุดการทดสอบ
- TestNG สามารถรวมเข้ากับเครื่องมือของบุคคลที่สามอื่น ๆ ได้อย่างง่ายดาย โดยมีคุณสมบัติที่แตกต่างกัน เช่น การกำหนดลำดับความสำคัญให้กับกรณีทดสอบ การดำเนินการกรณีทดสอบเดียวกันหลายครั้งโดยใช้จำนวนการร้องขอ
- หากกรณีทดสอบใดล้มเหลวขณะดำเนินการกรณีทดสอบหลายกรณี คุณสามารถดำเนินการกรณีทดสอบนั้นแยกกันได้
- วิธีคงที่ “log” ของคลาส Reporter สามารถใช้เพื่อจัดเก็บข้อมูลการบันทึกที่มีอยู่ใน org.testng