Pepperfry Automation Framework
Type:
BDD test automation framework
Stack:
Java, Selenium, Cucumber, TestNG, Maven
Also:
Apache POI, Log4j, Extent Reports
A UI automation framework for the Pepperfry storefront, built the way a framework has to be built if anyone other than its author will run it. Page Object Model keeps locators in one place per page; Cucumber feature files keep the scenarios readable by people who do not write Java; TestNG drives execution.
The data lives outside the code. Apache POI reads test data from an Excel workbook, so a new scenario is a new row rather than a new commit — which is the difference between a suite a QA team can extend and one only a developer can touch.
Reporting and recovery are treated as first-class. Extent Reports and TestNG reports are generated on every run, Log4j carries the trace when something fails, and a dedicated failed-test runner re-runs only what broke, driven by the testng-failed.xml the previous run left behind. Configuration — browser, base URL — sits in a properties file, not in a class.
BDD over a Page Object Model
Cucumber feature files describe the scenarios, step definitions bind them, and page classes hold the locators — so a UI change touches one file, not twenty.
Data-driven from Excel
Apache POI reads TestData.xlsx, so extending coverage is a spreadsheet edit. Browser and base URL live in config.properties.
Re-run only what failed
Extent and TestNG reports on every run, Log4j for the trace, and a failed-test runner driven by testng-failed.xml.