ในบทความนี้ เราจะเรียนรู้ขั้นตอนการสร้าง Step Definition File สำหรับ Cucumber ใน Java โดยใช้ Eclipse IDE
ขั้นตอนการสร้าง (Step-by-Step)
ขั้นตอนที่ 1: สร้าง Maven Project
- คลิกเมนู File → New → Other
- เลือก Maven Project จากโฟลเดอร์ Maven → Next
- ติ๊ก Create a simple project (ถ้ามี) → Next
- เลือก Archetype: maven-archetype-quickstart → Next
- กรอกข้อมูล:
- Group Id:
Automation - Artifact Id:
Cucumber - Version: 0.0.1-SNAPSHOT
- Package:
com.automation.cucumber
- Group Id:
- คลิก 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
- คลิกขวาที่
src/test/java→ New → Package - ชื่อ Package:
stepDefinitions(หรือstepDefinations) - คลิก Finish
ขั้นตอนที่ 4: สร้าง Step Definition Class
- คลิกขวาที่ Package
stepDefinitions→ New → Class - ชื่อ Class:
StepDefinition(หรือstepDefination) - ติ๊ก public static void main ถ้าต้องการ (ไม่จำเป็นสำหรับ Cucumber)
- คลิก 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 เพื่อรัน