Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีสร้าง Step Definition File สำหรับ Cucumber ใน Java (Eclipse)

ในบทความนี้ เราจะเรียนรู้ขั้นตอนการสร้าง Step Definition File สำหรับ Cucumber ใน Java โดยใช้ Eclipse IDE

ขั้นตอนการสร้าง (Step-by-Step)

ขั้นตอนที่ 1: สร้าง Maven Project

  1. คลิกเมนู File → New → Other
  2. เลือก Maven Project จากโฟลเดอร์ Maven → Next
  3. ติ๊ก Create a simple project (ถ้ามี) → Next
  4. เลือก Archetype: maven-archetype-quickstart → Next
  5. กรอกข้อมูล:
    • Group Id: Automation
    • Artifact Id: Cucumber
    • Version: 0.0.1-SNAPSHOT
    • Package: com.automation.cucumber
  6. คลิก Finish

ขั้นตอนที่ 2: เพิ่ม Dependency Cucumber ใน pom.xml

<dependencies>
    <!-- Cucumber Core -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>7.15.0</version>
        <scope>test</scope>
    </dependency>

    <!-- Cucumber JUnit -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>7.15.0</version>
        <scope>test</scope>
    </dependency>

    <!-- JUnit -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.9.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>

ขั้นตอนที่ 3: สร้าง Package สำหรับ Step Definitions

  1. คลิกขวาที่ src/test/java → New → Package
  2. ชื่อ Package: stepDefinitions (หรือ stepDefinations)
  3. คลิก Finish

ขั้นตอนที่ 4: สร้าง Step Definition Class

  1. คลิกขวาที่ Package stepDefinitions → New → Class
  2. ชื่อ Class: StepDefinition (หรือ stepDefination)
  3. ติ๊ก public static void main ถ้าต้องการ (ไม่จำเป็นสำหรับ Cucumber)
  4. คลิก Finish

ขั้นตอนที่ 5: เขียน Step Definitions

package stepDefinitions;

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

public class StepDefinition {

    @Given("User is on login page")
    public void user_is_on_login_page() {
        // Code to navigate to login page
        System.out.println("Navigated to login page");
    }

    @When("User enters valid username and password")
    public void user_enters_valid_credentials() {
        // Code to enter credentials
        System.out.println("Entered valid credentials");
    }

    @Then("User should be logged in successfully")
    public void user_should_be_logged_in() {
        // Code to verify login
        System.out.println("Login verified successfully");
    }
}

โครงสร้างโปรเจกต์ที่ได้

Cucumber/
├── pom.xml
└── src/
    ├── main/java/
    └── test/java/
        ├── stepDefinitions/
        │   └── StepDefinition.java
        └── features/
            └── login.feature

หมายเหตุ

  • Step Definition ต้องอยู่ใน src/test/java (ไม่ใช่ src/main/java)
  • Cucumber จะสแกนหา Annotations (@Given, @When, @Then) ใน Package ที่กำหนดใน Runner
  • ต้องสร้าง Runner Class หรือใช้ JUnit Platform เพื่อรัน