Pepperfry Automation Framework

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.

Plate: pipeline

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.