Skip to content

JapneetSachdeva1/BDDFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skills gained:

  • Test Automation Framework Design
  • Behavior-Driven Development (BDD)
  • TestNG Configuration and Execution
  • Advanced Reporting with ExtentReports
  • Selenium WebDriver Automation
  • Maven Build and Dependency Management
  • Agile Testing Skills
  • Modularization and Code Reusability
  • API Testing and Configuration
  • Debugging and Issue Resolution

Top-Level Directories

  • testng.xml: TestNG configuration file that specifies which test classes or groups to run, along with configurations like listeners or parallel execution.

  • pom.xml: Maven's Project Object Model file that manages project dependencies, build plugins, and project information.

  • test-output/: Directory automatically generated after test execution, containing:

    • SparkReport/Spark.html: ExtentReports' HTML report for detailed test results.
  • README.md: The README file typically provides project information, setup instructions, and other relevant details.

napkin-selection (3)

Documentation File

  • README.md: Documentation file typically used to describe the project purpose, setup instructions, and usage guidelines.

Source Code Structure

src/main/java/

pages/

  • LoginPage.java: Likely contains locators and methods for interactions on the Login page.
  • DashboardPage.java: Contains locators and methods for the Dashboard page.
    • Represents the Page Object Model (POM) design pattern.

utils/

  • DriverManager.java: Handles WebDriver setup, teardown, and browser configuration, ensuring reusability across tests.

src/test/

resources/

  • extent.properties: Configuration file for ExtentReports, specifying properties like report title and location.
  • spark-config.xml: Defines configurations for SparkReport, such as theme, timestamp settings, or logo inclusion.

java/

runner/

  • RunCuke.java: Entry point for executing Cucumber tests using the Cucumber TestNG runner.

steps/

  • DashboardPageSteps.java: Step definition file containing Cucumber steps for Dashboard-related features.
  • OrangeHRMloginSteps.java: Step definition file for Login-related features.

features/

  • dashboard.feature: Cucumber feature file describing Dashboard page scenarios in Gherkin syntax.

  • orangeHRMLogin.feature: Feature file for Login scenarios.

    napkin-selection (4)

Key Points of This Structure

  • Maintainability:

    • Clear segregation of page objects, utilities, step definitions, and feature files.
  • Reusability:

    • Centralized utilities (e.g., DriverManager) and separate page classes ensure reusable components.
  • BDD Best Practices:

    • Using Gherkin for feature files and keeping step definitions tied to logical feature areas.
  • Reporting:

    • Integration of ExtentReports/SparkReport for comprehensive and visually appealing test reporting.
  • Modularity:

    • Adding new features or pages is simple due to this structured approach.

napkin-selection (5)

About

Cucumber BDD Selenium Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages