This project demonstrates Behavior-Driven Development (BDD) with Cucumber and Selenium for automating web application tests. The tests are written in Gherkin syntax and are executed with Selenium WebDriver for web automation.
selenium_bdd_practice/
│
├── cucumber.json # Cucumber JSON report configuration
├── pom.xml # Maven configuration file (dependencies, plugins)
└── src/
└── test/
└── java/
├── features/ # Gherkin feature files (test scenarios)
│ ├── admin.feature
│ └── login.feature
├── pages/ # Page Object Model (POM) classes
│ ├── AdminPage.java
│ ├── BasePage.java
│ └── LoginPage.java
├── runner/ # Cucumber test runners
│ ├── SmokeTestRunner.java
│ └── TestRunner.java
├── stepdefinition/ # Step definition classes
│ ├── Admin.java
│ └── Login.java
└── utility/ # Utility classes
├── ConfigDataReader.java
└── DriverManager.java
│
└── resources/
└── Config.properties # Configuration properties (e.g., URL, credentials)
- Selenium: For automating the web application UI.
- Cucumber: For writing BDD-style tests using Gherkin syntax.
- Maven: For dependency management and building the project.
- Java: The programming language for writing step definitions and Selenium interactions.
- features/: Contains Gherkin .feature files that describe the test scenarios in plain English.
- pages/: Implements the Page Object Model (POM) pattern to abstract web page interactions and elements into Java classes.
- runner/: Contains runner classes for executing Cucumber tests, typically including hooks and configuration.
- stepdefinition/: Maps steps from the feature files to corresponding Java methods for test execution.
- utility/: Contains helper classes like DriverManager for WebDriver setup and ConfigDataReader for reading configuration values.