สร้างครั้งแรกของคุณ Cucumber สคริปต์ (2 ตัวอย่าง)
⚡ สรุปอย่างชาญฉลาด
Cucumber การเรียกใช้สคริปต์ช่วยให้คุณแปลงสถานการณ์ Gherkin ที่เขียนด้วยภาษาธรรมดาให้เป็นการทดสอบอัตโนมัติที่สามารถเรียกใช้งานได้โดยใช้ไฟล์ Step Definition ซึ่งช่วยให้ทีมสามารถตรวจสอบพฤติกรรม แบ่งปันเจตนาให้กับผู้มีส่วนได้ส่วนเสีย และส่งมอบโครงการที่ขับเคลื่อนด้วย BDD ได้อย่างน่าเชื่อถือ Cucumber or Cucumber-เจวีเอ็ม

ในบทเรียนนี้ คุณจะสร้าง... Cucumber สคริปต์สำหรับทดสอบสองสถานการณ์โดยใช้ไวยากรณ์ Gherkin และไฟล์ Step Definition Cucumber เป็นเฟรมเวิร์ก BDD ยอดนิยมที่เชื่อมโยงไฟล์ Feature ที่เขียนด้วยภาษาธรรมดากับโค้ดทดสอบที่สามารถเรียกใช้งานได้ เพื่อให้นักวิเคราะห์ธุรกิจและนักพัฒนาสามารถทำงานร่วมกันบนข้อกำหนดเดียวกันได้
Cucumber สคริปต์ 1: คูณ 2 Numbers
ในครั้งนี้ก่อน Cucumber ตัวอย่างเช่น คุณจะเขียนไฟล์ Feature อย่างง่ายที่คูณตัวเลขสองตัว แล้วสร้างไฟล์ Step Definition ที่ตรงกันในภาษา Ruby ขั้นตอนการทำงานเดียวกันนี้สามารถใช้ได้หากคุณใช้ Cucumber-JVM 7.x พร้อมด้วย Java หรือ Kotlin ใน IntelliJ IDEA.
ขั้นตอน 1) เปิด RubyMine Editor ผ่านทาง Windows เมนูเริ่มต้น.
ขั้นตอน 2) ใน RubyMine Editor ให้คลิกที่ สร้างโปรเจ็กต์ใหม่
ขั้นตอน 3) เลือกที่ตั้งโครงการแล้วคลิก "สร้าง"
ขั้นตอน 4) สร้างไดเร็กทอรีไฟล์ภายในไดเร็กทอรีหลักของโปรเจ็กต์สำหรับไฟล์ฟีเจอร์ของคุณ
ขั้นตอน 5) ตั้งชื่อไดเร็กทอรีว่า "คุณสมบัติ". Cucumber ระบบจะสแกนโฟลเดอร์นี้โดยอัตโนมัติ
ขั้นตอน 6) สร้างและบันทึกไฟล์ในโฟลเดอร์ “yourfolder/features/” โดยตั้งชื่อไฟล์ว่า “yourfilename.feature”
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
ขั้นตอน 7) ในการดำเนินการตามสถานการณ์จำลอง ให้บันทึกโปรแกรมต่อไปนี้ลงในไฟล์ Feature สังเกตว่าคำหลักของ Gherkin เช่น Feature, Scenario, Given, When และ Then อธิบายพฤติกรรมการทดสอบอย่างไร
Code:
Feature: Multiplication
I multiply two numbers
Scenario: multiply a and b
Given I have variable a
And I have variable b
When I multiplication a and b
Then I display the Result
ขั้นตอน 8) ตอนนี้ลองรันไฟล์ Feature ไฟล์แรกของคุณดู
คลิกที่ “เริ่ม Command Prompt ด้วย Ruby”
ผลลัพธ์ที่คุณได้รับแสดงอยู่ด้านล่างนี้
คุณจะพบข้อผิดพลาดเนื่องจากคุณต้องเขียนไฟล์ Step Definition ที่เข้ากันได้กับไฟล์ Feature
ขั้นตอน 9) สร้างไฟล์ Step Definition สำหรับไฟล์ Feature ของคุณ
สร้างโฟลเดอร์ใหม่ในโปรแกรมแก้ไข RubyMine โดยตั้งชื่อว่า “step_definition”
ขั้นตอน 10) บันทึกไฟล์ลงในโฟลเดอร์ “yourfolder/features/step_definitions” โดยตั้งชื่อว่า test_step.rb
ขั้นตอน 11) เขียนโค้ดต่อไปนี้ลงในไฟล์ Step Definition โดยแต่ละบล็อกจะตรงกับขั้นตอน Gherkin จากไฟล์ Feature
Code :
Given(/^I have variable a$/) do
@a = 50
end
And(/^I have variable b$/) do
@b = 70
end
When(/^I multiplication a and b$/) do
@mul = @a * @b
end
Then(/^I display the Result$/) do
puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end
ขั้นตอน 12) เรียกใช้ไฟล์ Feature อีกครั้ง
ผลลัพธ์ดังแสดงด้านล่าง
Cucumber สคริปต์ 2: ตรวจสอบเอาท์พุตเมื่อป้อนรหัสอีเมลหรือไม่ได้ป้อน
ในตัวอย่างที่สองนี้ คุณจะใช้ Ruby ร่วมกับ Watir เพื่อใช้งานเบราว์เซอร์และตรวจสอบความถูกต้องของสถานการณ์การลงทะเบียนสองแบบบนเว็บไซต์ Guruเว็บไซต์สาธิต 99 รูปแบบเดียวกันนี้ใช้ได้เช่นกันหากคุณนำไปใช้ Cucumber-JVM 7.x พร้อมด้วย Selenium เว็บไดรเวอร์และ Java.
ในตัวอย่างนี้เราใช้ ทับทิม.
สถานการณ์ทดสอบตรวจสอบผลลัพธ์เมื่อไม่ได้ป้อนอีเมล
ขั้นตอนการทดสอบ:
- เปิดเบราว์เซอร์
- ไปที่ https://demo.guru99.com/
- Do ไม่ กรอกรหัสอีเมล์
- คลิกส่ง
สถานการณ์ทดสอบตรวจสอบผลลัพธ์เมื่อป้อนอีเมล
ขั้นตอนการทดสอบ:
- เปิดเบราว์เซอร์
- ไปที่ https://demo.guru99.com/
- กรอกรหัสอีเมล์
- คลิกส่ง
Code ในไฟล์ฟีเจอร์:
Feature: guru99 Demopage Login To Login in Demopage we have to enter login details Scenario: Register On Guru99 Demopage without email Given I am on the Guru99 homepage When enter blank details for Register Then error email shown Scenario: Register On Guru99 Demopage with valid email Given I am on the Guru99 homepage When enter details for Register Then login details shown
Code ในไฟล์ Step Definition:
require 'watir-webdriver'
require 'colorize'
browser = Watir::Browser.new
Given (/^I am on the Guru99 homepage$/)do
browser.goto "https://demo.guru99.com"
end
When (/^enter blank details for Register$/)do
browser.text_field(:name,"emailid").set(" ")
browser.button(:name,"btnLogin").click
end
Then (/^error email shown$/)do
puts " Email is Required".red
browser.close
end
When (/^enter details for Register$/)do
browser = Watir::Browser.new
browser.goto "https://demo.guru99.com"
browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")
browser.button(:name,"btnLogin").click
end
Then (/^login details shown$/)do
puts " Sucessfully register"
browser.close
end
รันโค้ดในหน้าต่าง Command Prompt แล้วคุณจะเห็นผลลัพธ์ดังต่อไปนี้


















