จะทำการทดสอบการถดถอยด้วย Selenium WebDriver ได้อย่างไร

การเขียนโปรแกรม

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

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

ควรทำการทดสอบซ้ำและทดสอบการถดถอยเมื่อใด

การทดสอบซ้ำจะดำเนินการเพื่อให้แน่ใจว่าการแก้ไขของนักพัฒนาสำหรับข้อบกพร่องที่มีอยู่ทำงานตามที่คาดไว้

การทดสอบการถดถอยจะดำเนินการในโมดูลที่ทดสอบก่อนหน้านี้เพื่อให้แน่ใจว่าข้อบกพร่องใหม่จะไม่เพิ่มขึ้นอันเป็นผลมาจากการปรับเปลี่ยนใด ๆ อันเนื่องมาจากการปรับปรุงโค้ด การแก้ไขข้อบกพร่องสำหรับข้อบกพร่องที่มีอยู่ หรือการอัปเกรดใดๆ ในการกำหนดค่า

จำเป็นต้องถดถอยจริงหรือ?

ให้เราดูตัวอย่างเพื่อปรับประเด็นข้างต้น ให้เราพิจารณาสถานการณ์ที่แบรนด์เสื้อผ้าเปิดตัวเว็บไซต์สำหรับการช็อปปิ้งออนไลน์และใช้บัตรเครดิตเป็นวิธีการชำระเงิน สิ่งนี้ได้รับการพัฒนาและปรับใช้สำหรับการทดสอบเรียบร้อยแล้ว ผู้ทดสอบทำการทดสอบการทำงานและการทดสอบที่ไม่ใช่การทำงานในโครงสร้างนี้ และทำให้เกิดข้อบกพร่องหากมีความคลาดเคลื่อนในลักษณะการทำงาน ข้อบกพร่องได้รับการแก้ไขแล้ว บิลด์ถูกปรับใช้ใหม่ และการทดสอบได้ดำเนินการสำเร็จแล้ว และฟังก์ชันนี้ใช้งานได้จริง หลังจากผ่านไปสองสามสัปดาห์ ฟังก์ชันใหม่อื่นได้รับการออกแบบ ซึ่งช่วยให้ผู้ใช้สามารถชำระเงินผ่านบัตรเดบิตได้ โมดูลใหม่นี้ได้รับการพัฒนาและปรับใช้สำหรับการทดสอบ โมดูลใหม่ได้รับการทดสอบเรียบร้อยแล้ว จะเกิดอะไรขึ้นถ้าไม่มีการถดถอยในโมดูลก่อนหน้าและโค้ดถูกปรับใช้ในการผลิต มีโอกาสที่นักพัฒนาอาจปรับใช้โค้ดเวอร์ชันอื่นที่ไม่มีการแก้ไขข้อบกพร่อง หรือนักพัฒนาอาจแก้ไขข้อบกพร่องอย่างน้อยหนึ่งรายการซึ่งทำให้ฟังก์ชันการทำงานอื่นๆ เสียหาย ส่งผลให้ฟังก์ชันการทำงานที่มีอยู่เสียหาย

ซึ่งจะทำให้บริษัทขาดทุนมหาศาล ดังนั้นจึงแนะนำให้ทำการทดสอบการถดถอยเสมอเพื่อให้แน่ใจว่าการเพิ่มฟังก์ชันการทำงานใหม่หรือการดัดแปลงใด ๆ สำหรับข้อบกพร่องจะไม่ทำให้โมดูลการทำงานก่อนหน้านี้เสียหาย

ดังนั้น การถดถอยจึงมีบทบาทสำคัญในการทดสอบและจะดำเนินการตลอดวงจรการทดสอบ

ประโยชน์ของการทดสอบการถดถอยคืออะไร?

1. การทดสอบการถดถอยช่วยให้มั่นใจได้ว่าไม่มีข้อผิดพลาดเกิดขึ้นเนื่องจากการดัดแปลงในโค้ด

2.ช่วยให้มั่นใจถึงความถูกต้องของการทำงาน

3.ช่วยให้มั่นใจว่าข้อบกพร่องที่ได้รับการแก้ไขจะไม่เกิดขึ้นอีกเนื่องจากการเปลี่ยนแปลงโค้ดใดๆ

4.ช่วยในการระบุจุดบกพร่องในระยะเริ่มต้นของการพัฒนา

ซีลีเนียมคืออะไร?

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

  • ซีลีเนียม IDE
  • ซีลีเนียม RC
  • ซีลีเนียม WebDriver
  • ซีลีเนียมกริด

Selenium WebDriver เป็นไดรเวอร์เฉพาะของเบราว์เซอร์ที่มีอินเทอร์เฟซสำหรับเขียนและเรียกใช้สคริปต์การทำงานอัตโนมัติของเบราว์เซอร์สำหรับการทดสอบเว็บแอปพลิเคชันต่างๆ มันมีการเชื่อมโยงสำหรับภาษายอดนิยมทั้งหมดเช่น Java, Python, Ruby เป็นต้น รองรับเบราว์เซอร์หลักทั้งหมดเช่น Chrome, Firefox, Opera, เช่น, ขอบ เป็นต้น สามารถรวมเข้ากับเฟรมเวิร์กต่างๆ เช่น Maven หรือ ANT เพื่อรวบรวมซอร์สโค้ด สำหรับการทดสอบและการรายงานแอปพลิเคชัน สามารถรวมเข้ากับเฟรมเวิร์กการทดสอบ เช่น TestNG เพื่อทำให้การทดสอบอัตโนมัติง่ายขึ้น มันสามารถรวมเข้ากับ Jenkins สำหรับการสร้างและการปรับใช้อัตโนมัติของการรวมอย่างต่อเนื่องหรือการส่งมอบอย่างต่อเนื่อง

ให้เราดูว่า Selenium WebDriver สามารถใช้อย่างมีประสิทธิภาพเพื่อทำการทดสอบการถดถอยได้อย่างไร

จะทำการทดสอบการถดถอยโดยใช้ Selenium WebDriver ได้อย่างไร

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

จะออกแบบเฟรมเวิร์ก Selenium สำหรับการทดสอบการถดถอยได้อย่างไร

ฉันได้หาวิธีที่จะเป็นประโยชน์อย่างมากในการทำการทดสอบการถดถอยโดยใช้ Selenium WebDriver

 

 

1.การกำหนดพารามิเตอร์

พิจารณาสถานการณ์ที่บริษัทเปิดตัวเว็บไซต์ที่มีฟังก์ชันการทำงานหลักที่รองรับในเบราว์เซอร์ Chrome เท่านั้น เมื่อสร้าง ปรับใช้ และทดสอบเว็บไซต์แล้วจะใช้งานได้จริง หลังจากนั้นไม่กี่วัน บริษัทวางแผนที่จะขยายการรองรับเบราว์เซอร์ใน Firefox เมื่อขยายการรองรับเบราว์เซอร์แล้ว บิลด์ใหม่จะถูกปรับใช้สำหรับการทดสอบ หากกรอบงานที่มีอยู่ไม่ได้ออกแบบมาเพื่อทำการเปลี่ยนแปลงเพื่อรองรับการทดสอบการถดถอย มันจะเป็นงานที่ต้องใช้เวลามาก เพื่อจัดการกับสิ่งนี้ เราสามารถใช้การกำหนดพารามิเตอร์เพื่อเพิ่มค่าต่างๆ และดำเนินการทดสอบการถดถอยโดยใช้ความพยายามเพียงเล็กน้อย รวมถึงการเปลี่ยนแปลงโค้ดเพียงเล็กน้อยในเฟรมเวิร์ก Selenium การกำหนดพารามิเตอร์นี้สามารถทำได้สองวิธีง่ายๆ

1. การใช้คำอธิบายประกอบพารามิเตอร์ใน TestNG

2.กำหนดพารามิเตอร์และอ่านจากไฟล์คุณสมบัติ

ให้เราติดตั้งโค้ดโดยใช้สองวิธีข้างต้นซึ่งจะมีประโยชน์มากในการถดถอย

จะใช้คำอธิบายประกอบพารามิเตอร์สำหรับการทดสอบการถดถอยได้อย่างไร

คำอธิบายประกอบนี้ใช้เพื่อส่งผ่านค่าภายในเมธอดโดยกำหนดค่าและชื่อของพารามิเตอร์ในไฟล์ testing.xml

คุณสงสัยหรือไม่ว่าสิ่งนี้จะเป็นประโยชน์ในการถดถอยโดยใช้ Selenium Webdriver อย่างไร

ให้เราดูการใช้งานด้านล่าง

ตามที่กล่าวไว้ในส่วนแนะนำ เมื่อบริษัทต้องการขยายการสนับสนุนเบราว์เซอร์ไปยังเบราว์เซอร์อื่น การกำหนดค่าในช่องพารามิเตอร์ในไฟล์ testing.xml นั้นทำได้ง่าย

แพ็คเกจ com.LoginPage;

นำเข้า java.util.concurrent.TimeUnit;

นำเข้า org.openqa.selenium.By;

นำเข้า org.openqa.selenium.WebDriver;

นำเข้า org.openqa.selenium.chrome.ChromeDriver;

นำเข้า org.openqa.selenium.firefox.FirefoxDriver;

นำเข้า org.openqa.selenium.opera.OperaDriver;

นำเข้า org.testng.annotations.AfterClass;

นำเข้า org.testng.annotations.AfterTest;

นำเข้า org.testng.annotations.BeforeTest;

นำเข้า org.testng.annotations.Parameters;

นำเข้า org.testng.annotations.Test;

คลาสสาธารณะ LoginTest {

ไดรเวอร์ WebDriver สาธารณะ

@ก่อนสอบ

@พารามิเตอร์("เบราว์เซอร์")

การตั้งค่าโมฆะสาธารณะ (เบราว์เซอร์สตริง) {

if (browser.equalsIgnoreCase (“Firefox”)) {

System.setProperty("WebDriver.gecko.driver", "C:\\Users\\shalini\\Downloads\\geckodriver-v0.26.0-win64\\geckodriver.exe");

ไดรเวอร์ = FirefoxDriver ใหม่ ();

}

อื่น if (browser.equalsIgnoreCase (“GoogleChrome”)) {

System.setProperty (“WebDriver.chrome.driver”, “C:\\Users\\shalini\\Downloads\\chromedriver\\chromedriver.exe”);

ไดรเวอร์ = ChromeDriver ใหม่ ();

}

}

@ทดสอบ

โมฆะสาธารณะเข้าสู่ระบบ () {

driver.get(“https://opensource-demo.orangehrmlive.com/”);

driver.manage().timeouts().implicitlyWait(10, TimeUnit.วินาที);

สตริง pageTitle = driver.getTitle();

System.out.println(“ชื่อของเพจนี้คือ ===> ” +pageTitle);

driver.findElement(By.id("txtUsername")).clear();

driver.findElement(By.id("txtUsername")).sendKeys("Admin");

driver.findElement(By.id("txtPassword")).clear();

driver.findElement(By.id("txtPassword")).sendKeys("admin123");

driver.findElement(By.id("btnLogin")).คลิก();

}

@หลังทดสอบ

โมฆะสาธารณะ tearDown () {

ไดรเวอร์.quit();

}

}

ไฟล์ TestNG.xml

ในโค้ดด้านบน เมื่อแอปพลิเคชันรองรับเฉพาะเบราว์เซอร์ Firefox และ Chrome เราได้กำหนดพารามิเตอร์การทดสอบกับเบราว์เซอร์ทั้งสองนี้โดยใช้ชื่อพารามิเตอร์และค่าในไฟล์ testNG.xml ตอนนี้แอปพลิเคชันได้รับการทดสอบเรียบร้อยแล้วและโค้ดถูกปรับใช้ในการผลิต

จะเกิดอะไรขึ้นหากในรุ่นถัดไป บริษัทวางแผนที่จะขยายการสนับสนุนเบราว์เซอร์ใน Opera?

คำตอบนั้นค่อนข้างง่าย เพียงเพิ่มค่าเบราว์เซอร์อื่นในแท็กพารามิเตอร์ใน TestNG.xml ดังด้านล่าง

หลังจากแก้ไขไฟล์ Testng.xml ให้ขยายฟังก์ชันในโค้ดหลักดังนี้

if(browser.equalsIgnoreCase (“Opera”)) { System.setProperty (“WebDriver.opera.driver”,”C:\\Users\\shalini\\Downloads\\operadriver\\operadriver_win64\\operadriver.exe”);

ไดรเวอร์ = OperaDriver ใหม่ ();

}

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

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

ไฟล์ Properties เป็นหนึ่งในคุณสมบัติหลักในกรอบงานอัตโนมัติซึ่งช่วยในการทำการทดสอบการถดถอยอย่างมีประสิทธิภาพ

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

ด้านล่างนี้เป็นโค้ดง่ายๆ เพื่อกำหนดคุณสมบัติในไฟล์คุณสมบัติและอ่านคุณสมบัติที่ต้องการในโค้ดหลัก

แพ็คเกจ หน้า;

นำเข้า java.io.FileInputStream;

นำเข้า java.io.FileNotFoundException;

นำเข้า java.io.IOException;

นำเข้า java.util.คุณสมบัติ;

นำเข้า org.openqa.selenium.By;

นำเข้า org.openqa.selenium.WebDriver;

นำเข้า org.openqa.selenium.chrome.ChromeDriver;

นำเข้า org.testng.annotations.AfterTest;

นำเข้า org.testng.annotations.BeforeTest;

นำเข้า org.testng.annotations.Test;

สาธารณะ ชั้น การสาธิต {

Webไดรเวอร์โปรแกรมควบคุม

@ก่อนสอบ

สาธารณะ ถือเป็นโมฆะ ติดตั้ง() {

ระบบตั้งค่าคุณสมบัติ(“webdriver.chrome.driver”, “C:\\Users\\Shalini\\Downloads\\chrom86_driver\\chromedriver.exe”);

คนขับรถ = ใหม่ ไดร์เวอร์ Chrome();

}

@ทดสอบ

สาธารณะ ถือเป็นโมฆะ เข้าสู่ระบบ() พ่น IOข้อยกเว้น {

พร็อพพร็อพเพอร์ตี้ = ใหม่ คุณสมบัติ();

อินพุต FileInputStream = ใหม่ FileInputStream (“D:\\eclipse-workspace\\SeleniumRegression\\src\\Properties\\webpage.properties”);

prop.load(อินพุต);

//อ่านค่าของ URL ล็อกอินจากไฟล์คุณสมบัติ

สตริง login_url =prop.getProperty(“loginURL”);

ไดรเวอร์.get(login_url);

//อ่านค่าชื่อผู้ใช้จากไฟล์คุณสมบัติ

ชื่อผู้ใช้สตริง = prop.getProperty(“ชื่อผู้ใช้”);

//อ่านค่าของรหัสผ่านจากไฟล์คุณสมบัติ

รหัสผ่านสตริง = prop.getProperty("รหัสผ่าน");

driver.findElement(โดยid(“txtUsername”)).sendKeys(ชื่อผู้ใช้);

driver.findElement(โดยid(“txtPassword”)).sendKeys(รหัสผ่าน);

ระบบออก.println(driver.getTitle());

}

@หลังทดสอบ

สาธารณะ ถือเป็นโมฆะ การถอดออก() {

ไดรเวอร์.quit();

}

}

เว็บเพจ.คุณสมบัติ

########## คุณสมบัตินี้มี URL ของเว็บแอปพลิเคชัน################

LoginURL = https://opensource-demo.orangehrmlive.com/

ชื่อผู้ใช้ = ผู้ดูแลระบบ

รหัสผ่าน = admin123

TestNG.xml

<?xml เวอร์ชัน="1.0" การเข้ารหัส=“ยูทีเอฟ-8”?>

<ชื่อชุด=“ชุดทดสอบ”>

<ชื่อการทดสอบ=“ทดสอบการเข้าสู่ระบบ”>

<ชื่อคลาส=“เพจสาธิต”>

2.รันการทดสอบการถดถอยโดยใช้กลุ่ม

การใช้กลุ่มเพื่อทำการทดสอบการถดถอยเป็นหนึ่งในแนวทางที่นิยมใช้กันมากที่สุด TestNG มีคุณสมบัติที่เรียกว่า “กลุ่ม” ซึ่งช่วยให้ผู้ทดสอบรวมกลุ่มการทดสอบในกลุ่มบางกลุ่มด้วยชื่อเฉพาะ จากนั้นจึงดำเนินการเฉพาะกลุ่มหรือกลุ่มเฉพาะเท่านั้น ด้วยคุณสมบัตินี้ เราสามารถสร้างกลุ่มสำหรับการทดสอบการถดถอยและดำเนินการเมื่อจำเป็น

ด้านล่างนี้คือโค้ดอย่างง่ายที่มีการทดสอบต่างๆ สำหรับการทดสอบเว็บแอปพลิเคชันที่มีการทดสอบที่จัดกลุ่มไว้ภายใต้กลุ่ม "RegressionTest" เพื่อเรียกใช้การทดสอบสำหรับการทดสอบการถดถอยโดยเฉพาะ

แพ็คเกจ หน้า;

นำเข้า คงที่ org.testng.ยืนยันยืนยันเท่ากับ;

นำเข้า java.util.concurrent.TimeUnit;

นำเข้า org.openqa.selenium.By;

นำเข้า org.openqa.selenium.WebDriver;

นำเข้า org.openqa.selenium.chrome.ChromeDriver;

นำเข้า org.testng.annotations.AfterTest;

นำเข้า org.testng.annotations.BeforeTest;

นำเข้า org.testng.annotations.Test;

สาธารณะ ชั้น หน้าเข้าสู่ระบบ {

Webไดรเวอร์โปรแกรมควบคุม

@ก่อนสอบ

สาธารณะ ถือเป็นโมฆะ ติดตั้ง() {

ระบบตั้งค่าคุณสมบัติ(“webdriver.chrome.driver”, “C:\\Users\\Shalini\\Downloads\\chrom86_driver\\chromedriver.exe”);

คนขับรถ = ใหม่ ไดร์เวอร์ Chrome();

}

@Test(กลุ่ม =”การทดสอบการถดถอย”)

สาธารณะ ถือเป็นโมฆะ เข้าสู่ระบบ() {

สตริง login_url = “https://opensource-demo.orangehrmlive.com/”;

ไดรเวอร์.get(login_url);

ไดรเวอร์.manage().window().maximize();

driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.) โปรแกรมควบคุม.วินาที);

driver.findElement(โดยid(“txtUsername”)).sendKeys(“ผู้ดูแลระบบ”);

driver.findElement(โดยid(“txtPassword”)).sendKeys(“admin123”);

ระบบออก.println(driver.getTitle());

}

@ทดสอบ

สาธารณะ ถือเป็นโมฆะ แผงควบคุม() {

driver.findElement(โดยid(“menu_dashboard_index”)).คลิก();

สตริง textPresent = driver.findElement(By.เอ็กซ์พาธ(“//*[@id=\"content\"]/div/div[1]/h1″)).getText();

สตริง textToBePresent = “แดชบอร์ด”;

ยืนยันเท่ากับ(ข้อความปัจจุบัน, ข้อความToBePresent);

}

@ทดสอบ

สาธารณะ ถือเป็นโมฆะ ทดสอบ 3 () {

ระบบออก.println("นี่คือการทดสอบ 3");

}

@Test (กลุ่ม = "การทดสอบการถดถอย")

สาธารณะ ถือเป็นโมฆะ ทดสอบ 4 () {

ระบบออก.println("นี่คือการทดสอบ 4");

}

@ทดสอบ

สาธารณะ ถือเป็นโมฆะ ทดสอบ 5 () {

ระบบออก.println("นี่คือการทดสอบ 5");

}

@Test (กลุ่ม = "การทดสอบการถดถอย")

สาธารณะ ถือเป็นโมฆะ ทดสอบ 6 () {

ระบบออก.println("นี่คือการทดสอบ 6");

}

@ทดสอบ

สาธารณะ ถือเป็นโมฆะ ทดสอบ 7 () {

ระบบออก.println("นี่คือการทดสอบ 7");

}

@หลังทดสอบ

สาธารณะ ถือเป็นโมฆะ การถอดออก() {

ไดรเวอร์.quit();

}

}

<?xml เวอร์ชัน="1.0" การเข้ารหัส=“ยูทีเอฟ-8”?>

<ชื่อชุด=“ชุดทดสอบ”>

<ชื่อการทดสอบ=“ทดสอบการเข้าสู่ระบบ”>

<รวมชื่อ=“การทดสอบการถดถอย”/>

<ชื่อคลาส=“เพจ.ล็อกอินเพจ”>

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

3. การใช้แท็กสำหรับการทดสอบการถดถอย

กรอบงานแตงกวามีฟังก์ชันพิเศษเพื่อจัดกลุ่มการทดสอบตามเกณฑ์ที่กำหนดและดำเนินการได้ทุกเมื่อที่ต้องการ ฟังก์ชันพิเศษนี้เรียกว่า “แท็ก” ถูกกำหนดไว้ในไฟล์ TestRunner ของเฟรมเวิร์ก Cucumber การทดสอบทั้งหมดที่กำหนดด้วยแท็กเฉพาะสามารถดำเนินการได้ในแต่ละครั้ง ซึ่งเป็นวิธีที่ง่ายและตรงไปตรงมาที่สุดในการทดสอบการถดถอยสำหรับกรณีทดสอบในเว็บแอปพลิเคชันโดยใช้ Selenium Webdriver

ไฟล์คุณลักษณะ

คุณสมบัติ: เพื่อทดสอบการเข้าสู่ระบบของเว็บแอปพลิเคชัน

@การทดสอบการถดถอย

สถานการณ์สมมติ: ตรวจสอบว่าผู้ใช้สามารถลงชื่อเข้าใช้บัญชีของเขาได้สำเร็จหรือไม่

ให้ ผู้ใช้นำทางไปยังหน้าเว็บ

เมื่อ ผู้ใช้ป้อน “ผู้ดูแลระบบ” และ “admin123”

แล้วก็ ผู้ใช้ควรเข้าสู่ระบบสำเร็จ

สถานการณ์สมมติ: ตรวจสอบว่าผู้ใช้สามารถเพิ่มสินค้าในรถเข็นได้หรือไม่

ให้ ผู้ใช้ถูกนำไปที่หน้าแรก

เมื่อ ผู้ใช้เลือกและเพิ่มผลิตภัณฑ์

แล้วก็ สินค้าที่เลือกต้องอยู่ในตะกร้า

@การทดสอบการถดถอย

สถานการณ์สมมติ: ตรวจสอบว่าผู้ใช้สามารถอัปเดตรายละเอียดของเขาในบัญชีของฉันได้หรือไม่

ให้ ผู้ใช้คลิกปุ่มบัญชีของฉัน

เมื่อ ผู้ใช้อัปเดตรายละเอียดที่อยู่ของเขา

แล้วก็ ต้องบันทึกและอัปเดตรายละเอียดใหม่ในหน้าข้อมูลผู้ใช้

ไฟล์ TestRunner

แพ็คเกจ ทดสอบ;

นำเข้า org.junit.runner.RunWith;

นำเข้า Cucumber.api.Cucumber ตัวเลือก;

นำเข้า Cucumber.api.junit.แตงกวา;

@วิ่งด้วย(แตงกวา.ชั้น)

@CucumberOptions (คุณสมบัติ = “D:\\eclipse-workspace\\CucumberDemo\\src\\main\\resources\\Features\\Login.Feature”,

กาว = "ขั้นตอน",

ปลั๊กอิน = {"สวย", "html:target/cucumber"},

ขาวดำ = จริง,

แท็ก = {"การทดสอบการถดถอย"}

)

สาธารณะ ชั้น ผู้ทดสอบ {

}

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

ห่อ…!

กรอบงานระบบอัตโนมัติควรได้รับการออกแบบในลักษณะที่การเปลี่ยนแปลงใด ๆ สามารถทำได้ง่ายในกรอบงาน คำนึงถึงการทดสอบการถดถอยในขณะที่ออกแบบกรอบงานจะขจัดการทำงานซ้ำส่วนใหญ่ที่เกี่ยวข้องออกไป จนถึงตอนนี้ ฉันได้แสดงวิธีทดสอบการถดถอยขณะทดสอบเว็บแอปพลิเคชันด้วย ซีลีเนียม WebDriver. แจ้งให้เราทราบถึงแนวทางที่มีประสิทธิภาพอื่น ๆ ที่คุณจัดการขณะทำการทดสอบการถดถอยโดยใช้ Selenium Webdriver ในส่วนความคิดเห็นด้านล่าง โปรดแบ่งปันบทความนี้กับเพื่อนร่วมงานและเพื่อนของคุณและแบ่งปันความรู้ของคุณ มีความสุขในการทดสอบ…!