ไม่ต้องสงสัยเลยว่า เป็นหนึ่งในเครื่องมือที่ยอดเยี่ยมในด้าน แต่อาจดูเหมือนยากเล็กน้อยสำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญด้านเทคนิคที่จะเข้าใจการทำงานของมันเนื่องจากความซับซ้อนของโค้ด เพื่อให้งานนี้ง่ายขึ้นแตงกวาจึงเข้ามามีบทบาทซึ่งทำให้โค้ดที่ซับซ้อนง่ายและเข้าใจง่าย แต่มันเป็นอย่างไร? ฉันจะบอกคุณทั้งหมดเกี่ยวกับเรื่องนี้ผ่านบทความเกี่ยวกับ Cucumber Selenium Tutorial
ด้านล่างนี้เป็นหัวข้อในบทความนี้:
- ความรู้เบื้องต้นเกี่ยวกับแตงกวา
- ความรู้เบื้องต้นเกี่ยวกับซีลีเนียม
- ทำไมต้องใช้แตงกวากับซีลีเนียม?
- ขั้นตอนในการสร้างแอปพลิเคชัน Cucumber
ความรู้เบื้องต้นเกี่ยวกับแตงกวา
เป็นแนวทาง / เครื่องมือทดสอบที่รองรับ พฤติกรรมขับเคลื่อนการพัฒนา (BDD) เป็นวิธีการเขียนแบบทดสอบที่ทุกคนสามารถเข้าใจได้โดยไม่คำนึงถึงความรู้ทางเทคนิค
อธิบายลักษณะการทำงานของแอปพลิเคชันด้วยข้อความภาษาอังกฤษง่ายๆโดยใช้ Gherkin ภาษา. ฉันหวังว่าคุณจะเข้าใจว่าแตงกวาคืออะไร ตอนนี้เรามาดูข้อมูลเพิ่มเติมและทำความเข้าใจกับข้อเท็จจริงบางประการที่แสดงให้เห็นถึงความจำเป็นของแตงกวาในกรอบการทดสอบ
ทำไมต้องเป็นแตงกวา?
แตงกวาเป็นหนึ่งในเครื่องมือที่ได้รับความนิยมมากที่สุดเนื่องจากเหตุผลดังต่อไปนี้:
- แตงกวาคือ โอเพ่นซอร์ส และด้วยเหตุนี้จึงใช้งานได้ฟรี
- ในการใช้แตงกวาคุณสามารถเขียนไฟล์ สคริปต์ทดสอบ ในหลายภาษาเช่น , ทับทิม , .NET, ฯลฯ
- นอกจากนี้ยังทำงานร่วมกับ , ทับทิมบนราง , Watir และอื่น ๆ การทดสอบบนเว็บ เครื่องมือ
- แตงกวาเป็นหนึ่งในแตงกวาที่ใช้กันอย่างแพร่หลาย BDD เครื่องมือ
นี่คือคุณสมบัติเฉพาะบางอย่างที่ทำให้แตงกวามีประโยชน์ในการทดสอบเว็บไซต์ ตอนนี้คุณรู้แล้วว่าแตงกวาคืออะไรและทำไมคุณถึงต้องการมันมาทำความเข้าใจกับคุณสมบัติที่เป็นเอกลักษณ์อย่างหนึ่งของแตงกวาที่ช่วยให้ผู้ที่ไม่ใช้เทคโนโลยีเข้าใจกรณีทดสอบได้ง่าย
พฤติกรรมขับเคลื่อนการพัฒนา (BDD)
พูดง่ายๆคือ BDD หรือ การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม เป็นเทคนิคที่ข้อกำหนดหรือกรณีทดสอบของคุณเขียนเป็นภาษาอังกฤษธรรมดาเหมือนประโยค ด้วยวิธีการนี้สมาชิกในทีมที่ไม่ใช่ฝ่ายเทคนิคจะพบว่ามันง่ายที่จะเข้าใจขั้นตอนและทำงานร่วมกันมากขึ้นในกระบวนการพัฒนาซอฟต์แวร์
เรามาทำความเข้าใจกันโดยใช้ตัวอย่างง่ายๆ พิจารณาสถานการณ์ที่คุณต้องการทดสอบเว็บไซต์ Twitter หนึ่งในสถานการณ์ทดสอบคือการตรวจสอบข้อมูลรับรองการเข้าสู่ระบบ ด้วย BDD คุณสามารถเขียนสถานการณ์ทดสอบนี้ในรูปแบบนี้:
วิธีใช้สตริงย่อยใน sql
คุณลักษณะ: ทดสอบสถานการณ์จำลองควันของ Twitter: ทดสอบการเข้าสู่ระบบด้วยข้อมูลประจำตัวที่ถูกต้องให้เปิด firefox และเริ่มแอปพลิเคชันเมื่อฉันป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้องผู้ใช้ควรจะสามารถเข้าสู่ระบบได้สำเร็จ
ในตัวอย่างข้างต้นฉันได้เขียนข้อความเป็นภาษาอังกฤษง่ายๆเพียงไม่กี่คำเพื่อกำหนดสถานการณ์ ฉันจะให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับสถานการณ์นี้และการนำไปใช้ในส่วนต่อไปของบทความนี้ สำหรับตอนนี้มาดูบทความบทแนะนำเกี่ยวกับ Cucumber Selenium และเรียนรู้พื้นฐานของซีลีเนียม
ความรู้เบื้องต้นเกี่ยวกับซีลีเนียม
เป็นที่ต้องการ เครื่องมือในการทดสอบโดยอัตโนมัติซึ่งดำเนินการบนเว็บเบราว์เซอร์ มีประโยชน์สำหรับการทดสอบเว็บแอปพลิเคชันเท่านั้น แอปพลิเคชันเดสก์ท็อป (ซอฟต์แวร์) หรือแอปพลิเคชันมือถือใด ๆ ไม่สามารถทดสอบโดยใช้ซีลีเนียมได้ มีประโยชน์มากในการเขียนกรณีทดสอบการทำงาน นอกจากนี้ยังให้ประสิทธิภาพที่เชื่อถือได้ด้วย ‘ n ’ จำนวนกรณีทดสอบและเห็นได้ชัดว่าเป็นเครื่องมืออัตโนมัติที่เหมาะสมที่สุดสำหรับเว็บแอปพลิเคชัน
ตอนนี้คุณรู้แล้วว่าซีลีเนียมคืออะไรเรามาดูบทความเกี่ยวกับ Cucumber Selenium Tutorial และทำความเข้าใจว่าเหตุใดจึงใช้ Cucumber กับ Selenium
ทำไมต้องใช้แตงกวากับซีลีเนียม?
หลายองค์กรใช้ สำหรับ การทดสอบการทำงานและการถดถอย .ซีลีเนียมและแตงกวาเป็นส่วนผสมที่ยอดเยี่ยมเมื่อพูดถึงระบบอัตโนมัติของแอปพลิเคชันบนเว็บเนื่องจาก Cucumber ช่วยให้คุณเขียนการทดสอบของคุณได้อย่างรวดเร็วในภาษาอังกฤษและซีลีเนียมช่วยให้คุณสามารถเรียกใช้เบราว์เซอร์ที่หลากหลาย
เครื่องมือแตงกวาขึ้นอยู่กับไฟล์กรอบการพัฒนาพฤติกรรมที่ขับเคลื่อน ทำหน้าที่เป็นสะพาน ระหว่างวิศวกรซอฟต์แวร์และนักวิเคราะห์ธุรกิจและระหว่างผู้ทดสอบและนักพัฒนาด้วยตนเอง
เมื่อใช้ซีลีเนียมร่วมกับแตงกวาสำหรับการทดสอบอัตโนมัติการทดสอบจะถูกเขียนในไฟล์คุณลักษณะที่ผู้มีส่วนได้ส่วนเสียต่างๆสามารถเข้าใจได้ในสภาพแวดล้อมที่คล่องตัวเช่นนักวิเคราะห์ธุรกิจ แตงกวายังมาพร้อมกับความสามารถในการรองรับสคริปต์และภาษาการเขียนโปรแกรมหลายภาษาและ JUnit ใช้เพื่อเรียกใช้สคริปต์เหล่านี้และสร้างผลลัพธ์
เมื่อเข้าใจสิ่งนี้แล้วเรามาดูขั้นตอนต่างๆในการสร้างแอปพลิเคชัน Cucumber และเรียกใช้กรณีทดสอบ
ขั้นตอนในการสร้าง Cucumber Application
ขั้นตอนต่างๆที่เกี่ยวข้องในการสร้างแอปพลิเคชัน Cucumber มีดังนี้:
- ดาวน์โหลดไฟล์ Jar ของ Cucumber และ Selenium และกำหนดค่าเส้นทางการสร้าง
- เพิ่ม Cucumber Plugin จาก Eclipse Marketplace
- สร้างไฟล์ฟีเจอร์และเพิ่มสถานการณ์
- ดำเนินการตามขั้นตอนสำหรับสถานการณ์
- เขียนคลาสรองชนะเลิศและรันโค้ด
ตอนนี้เรามาทำความเข้าใจแต่ละขั้นตอนโดยละเอียดกัน
ขั้นตอนที่ 1: ดาวน์โหลดไฟล์ Cucumber and Selenium Jar
รายการเหตุการณ์ javascript พร้อมตัวอย่าง
แตงกวา ไม่ได้โต้ตอบกับเบราว์เซอร์และ ดำเนินการ การกระทำบนเว็บไซต์ที่อยู่ระหว่างการทดสอบ การโต้ตอบกับเว็บไซต์ คือ การกระทำที่ คือ แสดงโดย . ด้วยเหตุนี้ คุณจะต้องการ ดาวน์โหลด แตงกวา เช่นเดียวกับ Selenium Webdriver ไฟล์ jar . หากคุณต้องการทราบวิธีการติดตั้งซีลีเนียมในระบบของคุณคุณสามารถตรวจสอบบทความนี้ได้ที่ ด้านล่างนี้คือรายชื่อไฟล์ jar สำหรับ Cucumber
- แตงกวา - แกน
- แตงกวา-html
- ความครอบคลุมของรหัสความคุ้มครอง
- แตงกวา - จาวา
- แตงกวา - จูนิท
- แตงกวา -jvm-deps
- การรายงานแตงกวา
- แฮมเครสต์คอร์
- Gherkin
- Junit
เมื่อคุณดาวน์โหลดไฟล์ jar เหล่านี้จากไฟล์ พื้นที่เก็บข้อมูล Maven คุณสามารถกำหนดค่าเส้นทางการสร้างของโครงการของคุณและเพิ่มไฟล์ .jar ไฟล์และไลบรารีดังแสดงในภาพรวมด้านล่าง
ขั้นตอนที่ 2: ขั้นตอนต่อไปคือการติดตั้ง Cucumber บน Eclipse ของคุณ สำหรับสิ่งนั้นคุณต้องไปที่ วิธีใช้ -> Eclipse Marketplace -> ค้นหา Cucumber และติดตั้ง แตงกวาและธรรมชาติ ในคราสของคุณ ด้านล่างสแนปชอตแสดงให้เห็นถึงสิ่งเดียวกัน
ขั้นตอนที่ 3: เมื่อคุณกำหนดค่า Cucumber แล้วขั้นตอนต่อไปคือการสร้างไฟล์คุณลักษณะ ขั้นแรกคุณต้องสร้างโฟลเดอร์ซอร์สใหม่จากนั้นเพิ่มไฟล์คุณสมบัติดังที่แสดงด้านล่าง
ถัดไปคุณต้องระบุชื่อของไฟล์คุณสมบัติดังที่แสดงด้านล่าง
เมื่อคุณสร้างไฟล์ฟีเจอร์คุณสามารถเขียนสถานการณ์ดังที่แสดงในโค้ดด้านล่าง
สถานการณ์ทดสอบ I:
คุณลักษณะ: รีเซ็ตฟังก์ชันการทำงานในหน้าเข้าสู่ระบบของ Application Scenario: การตรวจสอบปุ่มรีเซ็ตที่กำหนดให้เปิด Firefox และเปิดแอปพลิเคชันเมื่อป้อนชื่อผู้ใช้และรหัสผ่านจากนั้นรีเซ็ตข้อมูลรับรอง
ขั้นตอนที่ 4: หลังจากนั้นคุณต้องใช้สถานการณ์จำลองด้วยความช่วยเหลือของคำจำกัดความขั้นตอน ในโค้ดด้านล่างนี้ฉันได้ใช้วิธีการสำหรับสถานการณ์ที่ฉันเขียนไว้ในไฟล์คุณสมบัติ
package stepDefinitions นำเข้า cucumber.api.java.en ให้นำเข้า cucumber.api.java.en จากนั้นนำเข้า cucumber.api.java.en เมื่อคลาสสาธารณะขั้นตอน {@Given ('^ เปิด Firefox และเปิดแอปพลิเคชัน $' ) โมฆะสาธารณะ open_the_Firefox_and_launch_the_application () โยน Throwable {System.out.println ('ขั้นตอนนี้เปิด Firefox และเปิดแอปพลิเคชัน')} @When ('^ ป้อนชื่อผู้ใช้และรหัสผ่าน $') โมฆะสาธารณะ enter_the_Username_and_Password () โยนโยนได้ { System.out.println ('ขั้นตอนนี้ป้อนชื่อผู้ใช้และรหัสผ่านในหน้าล็อกอิน')} @ จากนั้น ('^ รีเซ็ตข้อมูลรับรอง $') โมฆะสาธารณะ Reset_the_credential () โยน Throwable {System.out.println ('ขั้นตอนนี้ คลิกที่ปุ่มรีเซ็ต ')}}
ขั้นตอนที่ 5: ตอนนี้ขั้นตอนสุดท้ายคือการสร้าง ' คลาสนักวิ่ง ’ และดำเนินการโปรแกรม โดยทั่วไปโครงสร้างโครงการของคุณควรมีลักษณะดังที่แสดงในภาพรวมด้านล่าง
ในภาพรวมด้านบน ' Runner.java ’ เป็นไฟล์ปฏิบัติการ ตอนนี้เรามาเขียนโค้ดไฟล์นี้และทำความเข้าใจวิธีการทำงาน
package Runner import org.junit.runner.RunWith import cucumber.api.CucumberOptions import cucumber.api.junit.Cucumber @RunWith (Cucumber.class) @CucumberOptions (features = 'features', glue = {'stepD'}) คลาสสาธารณะ นักวิ่ง {}
ในโค้ดด้านบนฉันมี '@CucumberOptions ’และระบุชื่อแพ็กเกจของทั้งไฟล์ฟีเจอร์และไฟล์ Runner เพื่อที่จะใช้วิธีการและรันโค้ด เมื่อคุณรันโปรแกรมจะแสดงวิธีการจากข้อกำหนดขั้นตอน ของคุณ เอาท์พุท ควรมีลักษณะดังที่แสดงด้านล่าง:
ขั้นตอนนี้เปิด Firefox และเปิดแอปพลิเคชัน ขั้นตอนนี้ป้อนชื่อผู้ใช้และรหัสผ่านในหน้าเข้าสู่ระบบ ขั้นตอนนี้คลิกที่ปุ่มรีเซ็ต 1 สถานการณ์ (ผ่าน 32m1) 3 ขั้นตอน (ผ่าน 32m3) 0m0.185s
ดังนั้นนี่คือวิธีที่คุณต้องเขียนไฟล์ทั้งหมดและรันโปรแกรม
สถานการณ์ทดสอบ II:
ตอนนี้เรามาทำความเข้าใจอีกหนึ่งสถานการณ์ที่ฉันรวมซีลีเนียมเข้ากับแตงกวาพิจารณาสถานการณ์ที่คุณต้องการทดสอบเว็บไซต์ Twitter หนึ่งในสถานการณ์ทดสอบจะตรวจสอบข้อมูลรับรองการเข้าสู่ระบบ ด้วย BDD คุณสามารถเขียนสถานการณ์ทดสอบนี้ในรูปแบบนี้:
คุณลักษณะ: ทดสอบสถานการณ์จำลองควันของ Twitter: ทดสอบการเข้าสู่ระบบด้วยข้อมูลประจำตัวที่ถูกต้องให้เปิด firefox และเริ่มแอปพลิเคชันเมื่อฉันป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้องผู้ใช้ควรจะสามารถเข้าสู่ระบบได้สำเร็จ
ต่อไปเราจะเขียนคลาสนิยามขั้นตอนเพื่อนำไปใช้กับสถานการณ์ทั้งหมด
package stepD import java.util.concurrent.TimeUnit import org.openqa.selenium By import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import cucumber.api.java.en ให้นำเข้า cucumber.api .java.en จากนั้นนำเข้า cucumber.api.java.en เมื่อคลาสสาธารณะ SmokeTest {WebDriver driver @Given ('^ เปิด firefox และเริ่มแอปพลิเคชัน $') โมฆะสาธารณะ open_the_firefox_and_start_application () โยน Throwable {System.setProperty ('webdriver .gecko.driver ',' C: geckodriver-v0.23.0-win64geckodriver.exe ') ไดรเวอร์ = FirefoxDriver ใหม่ () driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS) driver.get (' https : //twitter.com/login ')} @ เมื่อ (' ^ ฉันป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง $ ') โมฆะสาธารณะ I_enter_valid_username_and_valid_password () โยน Throwable {driver.findElement (By.xpath (' // input [@ placeholder = 'โทรศัพท์อีเมลหรือชื่อผู้ใช้'] ')). sendKeys (' your_username ') driver.findElement (By.xpath (' // div [@ class = 'clearfix field'] // input [@ placeholder = 'Password'] ')). sendKeys (' ยอ ur_password ')} @ จากนั้น (' ^ ผู้ใช้ควรจะเข้าสู่ระบบได้สำเร็จ $ ') โมฆะสาธารณะ user_should_be_able_to_login_successfully () โยน Throwable {driver.findElement (By.xpath (' // button [@ class = 'ส่ง EdgeButton EdgeButton - หลัก EdgeButtom - medium ']')) คลิก ()}}
ในโปรแกรมข้างต้นฉันได้ใช้ เพื่อเปิดเบราว์เซอร์ firefox และใช้driver.get ()มันจะนำทางไปยังหน้าล็อกอินของ Twitter นอกจากนี้จะค้นหากล่องข้อความชื่อผู้ใช้และรหัสผ่านโดยใช้ และป้อนข้อมูลรับรองที่ถูกต้อง ในที่สุดก็จะเข้าสู่ระบบสำเร็จและเรียกใช้กรณีทดสอบ คุณต้องรันรันเนอร์เป็นการทดสอบ JUnit เพื่อให้ทราบว่าการทดสอบผ่านหรือล้มเหลว
ด้านล่างภาพรวมแสดงผลลัพธ์ของโปรแกรม
นี่คือวิธีที่คุณต้องเขียนไฟล์ทั้งหมดและเรียกใช้งานโปรแกรม นั่นคือทั้งหมดที่เกี่ยวกับ Cucumber Selenium Tutorial ฉันหวังว่าคุณจะเข้าใจแนวคิดและช่วยในการเพิ่มมูลค่าให้กับความรู้ของคุณ ตอนนี้หากคุณต้องการรับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับซีลีเนียมคุณสามารถดูได้ที่ .
หากคุณพบ 'Cucumber Selenium Tutorial ” เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
การจัดเรียงอาร์เรย์ c ++
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ Cucumber Selenium Tutorial แล้วเราจะติดต่อกลับไป