Selenium สีสดสวย Cucumber (บทช่วยสอนกรอบงาน BDD)

⚡ สรุปอย่างชาญฉลาด

Selenium สีสดสวย Cucumber สร้างกรอบการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (Behavior Driven Development: BDD) ที่ทรงพลัง ซึ่งผสมผสานไวยากรณ์ Gherkin ภาษาอังกฤษธรรมดาเข้ากับ... Selenium การทดสอบอัตโนมัติด้วย WebDriver บทช่วยสอนนี้จะอธิบายถึงข้อกำหนดเบื้องต้น เดินตามสถานการณ์จำลอง 3 แบบ และแสดงวิธีการทำงานร่วมกันของไฟล์ฟีเจอร์ คำจำกัดความขั้นตอน และคลาส TestRunner เพื่อเรียกใช้การทดสอบในเบราว์เซอร์

  • 🥒 คำจำกัดความหลัก: Cucumber เป็นเครื่องมือทดสอบ BDD ที่อธิบายพฤติกรรมของแอปพลิเคชันด้วยภาษาอังกฤษธรรมดาโดยใช้ Gherkin และ Selenium เป็นตัวขับเคลื่อนการทำงานของเบราว์เซอร์ในส่วนเบื้องหลัง
  • 🤝 สะพานเชื่อมผู้มีส่วนได้ส่วนเสีย: Cucumber เชื่อมโยงนักวิเคราะห์ธุรกิจ ผู้ทดสอบด้วยตนเอง วิศวกรระบบอัตโนมัติ และนักพัฒนาซอฟต์แวร์เข้าด้วยกันผ่านข้อกำหนดการทดสอบที่ใช้ร่วมกันและอ่านง่าย
  • 📦 ต้องใช้ขวดโหล: Selenium แยกต่างหาก Cucumber-แกน Cucumber-จาวา Cucumber-จูนิท, แตงกวาดอง, JUnitและ Hamcrest-core เป็นชุดการพึ่งพาขั้นต่ำ
  • 🧱 ไฟล์โครงการสามไฟล์: ไฟล์ .feature ที่มีสถานการณ์จำลอง คลาส Steps.java สำหรับกำหนดขั้นตอน และไฟล์ Runner.java สำหรับเรียกใช้การทดสอบพร้อม @Cucumberกาวชนิดต่างๆ
  • 🔁 การทดสอบที่ขับเคลื่อนด้วยข้อมูล: ใช้ตารางโครงร่างสถานการณ์และตัวอย่างเพื่อเรียกใช้กระบวนการเดียวกันกับชุดข้อมูลรับรองหลายชุดในการดำเนินการครั้งเดียว

Selenium สีสดสวย Cucumber (บทช่วยสอนกรอบงาน BDD)

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีบูรณาการ Cucumber สีสดสวย Selenium WebDriver เป็นเครื่องมือสร้างเฟรมเวิร์กการพัฒนาแบบเน้นพฤติกรรม (Behavior Driven Development: BDD) ที่อ่านง่าย บำรุงรักษาได้ และขับเคลื่อนด้วยข้อมูล

ความหมายของ Cucumber?

Cucumber Gherkin เป็นเครื่องมือทดสอบที่สนับสนุนการพัฒนาแบบเน้นพฤติกรรม (Behavior Driven Development หรือ BDD) โดยจะอธิบายพฤติกรรมของแอปพลิเคชันด้วยข้อความภาษาอังกฤษที่เข้าใจง่ายโดยใช้ภาษา Gherkin ซึ่งช่วยให้ผู้ที่ไม่ใช่โปรแกรมเมอร์สามารถมีส่วนร่วมในการกำหนดข้อกำหนดการทดสอบได้โดยไม่ต้องเรียนรู้ภาษาโปรแกรม เรียนรู้เพิ่มเติมได้ใน... Cucumber เกี่ยวกับการสอน.

ความหมายของ Selenium?

Selenium เป็นเครื่องมืออัตโนมัติที่ใช้สำหรับ การทดสอบสมรรถนะ ของแอปพลิเคชันบนเว็บ Selenium รองรับภาษาโปรแกรมหลายภาษา รวมถึง Javaทับทิม Pythonและ C# ซึ่งทำให้เหมาะอย่างยิ่งสำหรับทีมที่มีพื้นฐานทางเทคนิคที่หลากหลาย เรียนรู้เพิ่มเติมได้ในเว็บไซต์ของเรา Selenium เกี่ยวกับการสอน.

ทำไมต้องใช้ Cucumber สีสดสวย Selenium?

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

Cucumber อิงตามกรอบการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (Behavior Driven Development) ที่ ทำหน้าที่เป็นสะพาน ระหว่างบทบาทต่อไปนี้:

  1. วิศวกรซอฟต์แวร์และนักวิเคราะห์ธุรกิจ
  2. เครื่องทดสอบด้วยตนเองและเครื่องทดสอบอัตโนมัติ
  3. ผู้ทดสอบและนักพัฒนาด้วยตนเอง

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

Cucumber สีสดสวย Selenium ภาพรวมของเฟรมเวิร์ก BDD

ข้อกำหนดเบื้องต้นสำหรับการใช้งาน Cucumber สีสดสวย Selenium

ก่อนที่เราจะเริ่มต้น Cucumber-Selenium การเชื่อมต่อระบบ คุณต้องมีสิ่งต่อไปนี้:

Selenium ไฟล์ jar:

  • Selenium-เซิร์ฟเวอร์แบบสแตนด์อโลน

คุณสามารถดาวน์โหลดได้ที่ https://www.selenium.dev/downloads/.

Selenium หน้าดาวน์โหลดไฟล์ JAR

ไฟล์ Jar สำหรับ Cucumber:

  • Cucumber- คะแนน
  • Cucumber-html
  • Cobertura ความครอบคลุมของรหัส
  • Cucumber-จาวา
  • Cucumber-จูนิต
  • Cucumber-jvm-deps
  • Cucumber-การรายงาน
  • แฮมเครสต์คอร์
  • แตงเล็ก ๆ หนึ่งมีสีเหลือง
  • JUnit

คุณสามารถดาวน์โหลดได้ที่ https://mvnrepository.com/search?q=Cucumberคุณจะต้องค้นหาไฟล์ .jar แต่ละไฟล์และดาวน์โหลดทีละไฟล์

ตัวอย่างเช่น นี่คือวิธีการดาวน์โหลดไฟล์ jar ไฟล์หนึ่ง ซึ่งก็คือไฟล์ “Cucumberไลบรารี "-core"

คลิกที่ลิงก์ดาวน์โหลดด้านบน ระบบจะนำคุณไปยังเว็บไซต์ Maven Repository จากนั้นค้นหาไฟล์ jar ที่ต้องการ (ในกรณีนี้คือ “Cucumber แกนหลัก (Core) ดังที่แสดงในภาพหน้าจอด้านล่าง:

ค้นหา Cucumber ไฟล์ JAR หลักใน Maven Repository

ในหน้าถัดไป ให้คลิกที่เวอร์ชัน 1.2.2:

เลือก Cucumber เวอร์ชันหลัก 1.2.2 ใน Maven

ในหน้าจอถัดไป ให้คลิก ดาวน์โหลด เพื่อดาวน์โหลดไฟล์ Cucumber ไฟล์ JAR หลัก:

ดาวน์โหลด Cucumber ไฟล์ jar หลัก

หมายเหตุ เพื่อความสะดวก เราได้รวมไฟล์ jar ของ Maven ที่จำเป็นไว้ให้แล้ว Good Farm Animal Welfare Awardsไฟล์ JAR เหล่านี้อาจล้าสมัยและใช้งานร่วมกันไม่ได้เมื่อเวลาผ่านไป ดังนั้นเราขอแนะนำให้คุณดาวน์โหลดด้วยตนเองโดยใช้วิธีการที่อธิบายไว้ข้างต้น

การทดสอบอัตโนมัติโดยใช้ Cucumber สีสดสวย Selenium

เรามาลองใช้งานกันดูครับ Cucumber สีสดสวย Selenium ทีละขั้นตอน ในที่นี้เราจะกล่าวถึงสามสถานการณ์:

  • สถานการณ์ที่ 1: พิมพ์ข้อความในคอนโซล
  • สถานการณ์ที่ 2: ป้อนข้อมูลประจำตัวสำหรับการเข้าสู่ระบบและรีเซ็ตค่า
  • สถานการณ์ที่ 3: ป้อนข้อมูลประจำตัวสำหรับการเข้าสู่ระบบบน Guru99 แล้วรีเซ็ตค่า — ทำซ้ำสำหรับข้อมูล 3 ชุด

สถานการณ์ที่ 1: พิมพ์ข้อความในคอนโซล

ในสถานการณ์นี้ เราเพียงแค่พิมพ์ข้อความลงในคอนโซลโดยใช้ Cucumber.

ขั้นตอน 1) สร้างโปรเจ็กต์ใน Eclipse.

สร้าง Java โครงการที่มีชื่อว่า "Cucumberด้วยระบบเส้นทางSelenium" ตามที่แสดงในภาพหน้าจอด้านล่าง

สร้างบัญชีตัวแทน Cucumberด้วยระบบเส้นทางSelenium Java โครงการใน Eclipse

Java การกำหนดค่าชื่อโปรเจ็กต์ใน Eclipse

ขั้นตอน 2) เพิ่มไฟล์ jar ลงในโปรเจ็กต์

คลิกขวาที่โปรเจ็กต์ > คุณสมบัติ > Java Build Path. เพิ่มไลบรารีทั้งหมดที่คุณดาวน์โหลดไว้ก่อนหน้านี้

เพิ่ม Cucumber และ Selenium ไฟล์ jar สำหรับ Java สร้างเส้นทาง

ขั้นตอน 3) สร้างไฟล์ฟีเจอร์

ในการสร้างไฟล์ฟีเจอร์ ขั้นแรกให้สร้างโฟลเดอร์ Features ดังแสดงในภาพหน้าจอด้านล่าง

สร้างโฟลเดอร์ Features ใน Eclipse โครงการ

ป้อนชื่อโฟลเดอร์ “Features” แล้วคลิก เสร็จสิ้น

กำหนดค่าชื่อโฟลเดอร์คุณสมบัติใน Eclipse

โฟลเดอร์ Features จะปรากฏใน Project Explorer

จากนั้นสร้างไฟล์ฟีเจอร์ภายในโฟลเดอร์ Features โดยตั้งชื่อว่า... คุณสมบัติการทดสอบของฉันกระบวนการนี้คล้ายกับการสร้างโฟลเดอร์

สร้างไฟล์ MyTest.feature ในโฟลเดอร์ Features

หมายเหตุ คุณอาจต้องติดตั้ง Cucumber Eclipse ติดตั้งปลั๊กอินก่อน ไปที่เมนูช่วยเหลือ → ติดตั้งซอฟต์แวร์ใหม่ แล้ววางลิงก์ลงไป http://cucumber.github.io/cucumber-eclipse/update-site/และติดตั้ง

ขั้นตอน 4) เขียนสถานการณ์จำลองขึ้นมา

บรรทัดด้านล่างนี้เขียนด้วยภาษา คุณสมบัติการทดสอบของฉัน โดยใช้ภาษาของ Gherkin:

Feature: Reset functionality on login page of Application

Scenario: Verification of Reset button

Given Open the Firefox and launch the application

When Enter the Username and Password

Then Reset the credential

Code คำอธิบาย

บรรทัดที่ 1) กำหนดฟังก์ชันการทำงานทางธุรกิจ

บรรทัดที่ 2) กำหนดสถานการณ์ที่จะทดสอบ

บรรทัดที่ 3) กำหนดเงื่อนไขเบื้องต้น (กำหนดให้)

บรรทัดที่ 4) กำหนดการกระทำที่จะดำเนินการ (เมื่อใด)

บรรทัดที่ 5) กำหนดผลลัพธ์ที่คาดหวัง (จากนั้น)

ขั้นตอน 5) เขียน Selenium สคริปต์ TestRunner สำหรับ Cucumber การออกแบบเฟรมเวิร์ก

สร้าง ผู้ทดสอบ แพ็คเกจแล้วก็ รันเนอร์.จาวา ไฟล์คลาสอยู่ภายใต้ไฟล์นั้น

package TestRunner;

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = "Features", glue = {"StepDefinition"})
public class Runner
{

}

ในข้างต้น Cucumber Java ตัวอย่างเช่น เรารัน การทดสอบแตงกวา โดยใช้คำอธิบายประกอบดังต่อไปนี้:

@รันด้วย() บอก JUnit เกี่ยวกับคลาสตัวรันการทดสอบที่เริ่มต้นการดำเนินการทดสอบของเรา

@Cucumberตัวเลือก() กำหนดคุณสมบัติการทดสอบ เช่น เส้นทางไฟล์คุณลักษณะและแพ็กเกจเชื่อมต่อขั้นตอนการกำหนด

ภาพหน้าจอของไฟล์ TestRunner:

สคริปต์ Runner.java TestRunner สำหรับ Cucumber

ขั้นตอน 6) สร้างสคริปต์ Step Definition

ตอนนี้สร้าง คำจำกัดความขั้นตอน แพ็คเกจแล้วก็ Steps.java ไฟล์สคริปต์อยู่ภายใต้ไฟล์นั้น ภายในไฟล์ Steps.java เราเขียนโค้ดดังนี้ Selenium ตรรกะที่สอดคล้องกับแต่ละขั้นตอนของ Gherkin

package StepDefinition;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class Steps {

    @Given("^Open the Firefox and launch the application$")
    public void open_the_Firefox_and_launch_the_application() throws Throwable
    {
        System.out.println("This Step open the Firefox and launch the application.");
    }

    @When("^Enter the Username and Password$")
    public void enter_the_Username_and_Password() throws Throwable
    {
        System.out.println("This step enter the Username and Password on the login page.");
    }

    @Then("^Reset the credential$")
    public void Reset_the_credential() throws Throwable
    {
        System.out.println("This step click on the Reset button.");
    }
}

ชั้นเรียนนั้นมีชื่อว่า ขั้นตอนและ Cucumber คำอธิบายประกอบจะเชื่อมโยงแต่ละวิธีกับขั้นตอนในไฟล์คุณลักษณะ:

@ที่ให้ไว้ กำหนดวิธีการเปิด Firefox และเปิดใช้งานแอปพลิเคชัน

@เมื่อไร กำหนดวิธีการป้อนชื่อผู้ใช้และรหัสผ่าน

@แล้ว กำหนดวิธีการรีเซ็ตข้อมูลประจำตัว

แต่ละวิธีจะพิมพ์ข้อความลงในคอนโซลเท่านั้น

ภาพหน้าจอด้านล่างแสดงสคริปต์ Steps.java และโครงสร้างโปรเจ็กต์:

ไฟล์ Steps.java script และโครงสร้างโปรเจ็กต์ใน Eclipse

หมายเหตุ คำจำกัดความของขั้นตอนคือโค้ดที่คุณต้องการ Cucumber เพื่อดำเนินการเมื่อตรงกับขั้นตอนในไฟล์คุณลักษณะ

ขั้นตอน 7) ดำเนินการสคริปต์

เรียกใช้สคริปต์นี้จากไฟล์ TestRunner (Runner.java) ดังที่แสดงด้านล่าง

เรียกใช้ไฟล์ Runner.java เพื่อรัน Cucumber ทดสอบ

ขั้นตอน 8) วิเคราะห์ผลลัพธ์

เมื่อเรียกใช้ Runner.java Cucumber พิมพ์ข้อความเดียวกันกับที่กำหนดไว้ในไฟล์ Steps.java ลงในคอนโซล

เอาต์พุตคอนโซลจาก Cucumber การดำเนินการทดสอบ

สถานการณ์ที่ 2: ป้อนข้อมูลประจำตัวในการเข้าสู่ระบบและรีเซ็ตค่า

ตรงนี้เราจะป้อนข้อมูลประจำตัวลงไป Guruหน้าล็อกอินสาธิต 99 หน้า และรีเซ็ตค่า

สำหรับสถานการณ์ที่ 2 เราเพียงแค่ต้องอัปเดตข้อมูลเท่านั้น Steps.javaที่นี่เราเพิ่มของจริงเข้าไป Selenium โค้ด ก่อนอื่น ตรวจสอบให้แน่ใจว่า... Selenium ไฟล์ jar ถูกเพิ่มเข้าไปในโปรเจ็กต์แล้ว

ยืนยัน Selenium ไฟล์ jar อยู่ใน classpath ของโปรเจ็กต์

ขั้นตอน 1) อัปเดตสคริปต์ Steps.java ตามที่แสดงด้านล่าง

package StepDefinition;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class Steps {

    WebDriver driver;

    @Given("^Open the Firefox and launch the application$")
    public void open_the_Firefox_and_launch_the_application() throws Throwable
    {
        System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");
        driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("http://demo.guru99.com/v4");
    }

    @When("^Enter the Username and Password$")
    public void enter_the_Username_and_Password() throws Throwable
    {
        driver.findElement(By.name("uid")).sendKeys("username12");
        driver.findElement(By.name("password")).sendKeys("password12");
    }

    @Then("^Reset the credential$")
    public void Reset_the_credential() throws Throwable
    {
        driver.findElement(By.name("btnReset")).click();
    }
}

ภาพหน้าจอข้างต้น Selenium สคริปต์:

ขั้นตอนสถานการณ์ที่ 2 ในไฟล์ Steps.java พร้อมด้วย Selenium ตรรกะ

ขั้นตอน 2) ดำเนินการสคริปต์

หลังจากอัปเดตไฟล์ Steps.java แล้ว ให้รันไฟล์ Runner.java

ขั้นตอน 3) วิเคราะห์ผลลัพธ์ ในผลลัพธ์คุณจะเห็นสิ่งต่อไปนี้:

  • เปิดตัวเบราว์เซอร์แล้ว
  • Guruเว็บไซต์สาธิตของธนาคาร 99 แห่งเปิดให้บริการแล้ว
  • ในหน้าล็อกอินจะต้องป้อนชื่อผู้ใช้และรหัสผ่าน
  • ปุ่มรีเซ็ตจะล้างค่าต่างๆ

ภาพเคลื่อนไหวแสดงสถานการณ์ที่ 2 Cucumber Selenium ทดลองวิ่ง

สถานการณ์ที่ 3: เรียกใช้ขั้นตอนการเข้าสู่ระบบและการรีเซ็ตด้วยชุดข้อมูล 3 ชุด

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

ขั้นตอน 1) อัปเดตไฟล์ฟีเจอร์ตามที่แสดงด้านล่าง

เราใช้ โครงร่างสถานการณ์ และ ตัวอย่าง ไวยากรณ์ ดังนั้น Cucumber วนซ้ำสถานการณ์เดียวกันในแต่ละแถวข้อมูล

Feature: Reset functionality on login page of Application

Scenario Outline: Verification of reset button with multiple credentials

Given Open the Firefox and launch the application

When Enter the Username <username> and Password <password>

Then Reset the credential

Examples:
    | username | password  |
    | User1    | password1 |
    | User2    | password2 |
    | User3    | password3 |

ไฟล์คุณลักษณะที่มีโครงร่างสถานการณ์และตารางตัวอย่าง

ขั้นตอน 2) อัปเดตสคริปต์ Steps.java

ในส่วนนี้ เราจะอัปเดตลายเซ็นของเมธอดเพื่อให้รับพารามิเตอร์จากตารางตัวอย่างได้

package StepDefinition;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class Steps {

    WebDriver driver;

    @Given("^Open the Firefox and launch the application$")
    public void open_the_Firefox_and_launch_the_application() throws Throwable
    {
        System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");
        driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("http://demo.guru99.com/v4");
    }

    @When("^Enter the Username \"(.*)\" and Password \"(.*)\"$")
    public void enter_the_Username_and_Password(String username, String password) throws Throwable
    {
        driver.findElement(By.name("uid")).sendKeys(username);
        driver.findElement(By.name("password")).sendKeys(password);
    }

    @Then("^Reset the credential$")
    public void Reset_the_credential() throws Throwable
    {
        driver.findElement(By.name("btnReset")).click();
    }
}

อัปเดตไฟล์ Steps.java ด้วยข้อมูลรับรองแบบพารามิเตอร์

ขั้นตอน 3) เรียกใช้สคริปต์ที่อัปเดตแล้ว

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

การดำเนินการตามสถานการณ์ที่ 3 ด้วยชุดข้อมูลสามชุดประสบความสำเร็จ

ขั้นตอน 4) วิเคราะห์ผลลัพธ์ ขั้นตอนต่อไปนี้จะทำซ้ำสำหรับข้อมูลทั้ง 3 ชุด:

  • เปิดตัวเบราว์เซอร์แล้ว
  • Guruเว็บไซต์สาธิตของธนาคาร 99 แห่งเปิดให้บริการแล้ว
  • ในหน้าล็อกอินจะต้องป้อนชื่อผู้ใช้และรหัสผ่าน
  • ปุ่มรีเซ็ตจะล้างค่าต่างๆ

ภาพเคลื่อนไหวสถานการณ์ที่ 3 แสดงค่าพารามิเตอร์ Cucumber ทดลองวิ่ง

คำถามที่พบบ่อย

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

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

ใช้คีย์เวิร์ด Scenario Outline ร่วมกับตารางตัวอย่าง Cucumber ดำเนินการสถานการณ์เดียวกันหนึ่งครั้งต่อแถว โดยแทนที่ด้วยตัวยึดตำแหน่ง เช่น และ โดยใช้ค่าจากแต่ละแถว นี่คือรูปแบบมาตรฐานที่ขับเคลื่อนด้วยข้อมูลใน Cucumber.

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

ใช่แล้ว ผู้ช่วยเขียนโค้ด AI จะอ่านไฟล์คุณลักษณะ Gherkin และสร้างผลลัพธ์ที่ตรงกัน Java หรือคำจำกัดความขั้นตอนของ Kotlin รวมถึง Selenium การเรียกใช้ WebDriver, กลยุทธ์การระบุตำแหน่ง และการผูกพารามิเตอร์ จากนั้นนักพัฒนาจะปรับแต่งโค้ดที่สร้างขึ้น ซึ่งช่วยลดโค้ดซ้ำซ้อนได้อย่างมากเมื่อเริ่มต้นระบบping ห้อง BDD ใหม่

สรุปโพสต์นี้ด้วย: