Skip to content

Latest commit

 

History

History
52 lines (44 loc) · 2.4 KB

File metadata and controls

52 lines (44 loc) · 2.4 KB

Selenium BDD Practice with Cucumber

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.

Project Structure

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)

Technologies Used

  • 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.

Directory Breakdown

  • 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.