All projects

Project

Selenium Java Framework: A Layered UI + API Automation Skeleton

A structured Selenium test automation framework combining Page Object Model UI testing with REST Assured API testing and Extent Reports.

JavaSelenium 4TestNGMavenREST AssuredExtent Reports

Key highlights

  • Page Object Model with reusable Feature-layer workflows
  • Combined UI and API testing in a single suite
  • Extent Reports with optional Klov live-reporting and Excel result tracking
  • Cross-browser support (Chrome, Firefox, Edge) via Selenium 4 Manager — no manual driver downloads

Extent Report dashboard — 2 classes, 10 methods, 100% pass across the checkout and auth-lifecycle suites

Description#

A layered Selenium test automation skeleton built as a reusable starting point for new projects, rather than a single test suite tied to one application. It demonstrates structured UI testing alongside integrated API test capabilities, so a team doesn’t need two separate frameworks to cover both layers.

Key Features#

  • Page Object Model: A BasePage class provides explicit-wait helpers, keeping individual page objects focused on locators and actions rather than synchronization boilerplate.
  • Feature Layer: Wraps multi-step business workflows (e.g. a full checkout flow) for reuse across tests, while single-page actions deliberately bypass the abstraction — the framework documents when not to use it, to avoid over-engineering simple tests.
  • REST API Testing: A REST Assured wrapper lets API tests live in the same suite as UI tests, sharing configuration and reporting.
  • Reporting: Extent Reports with optional Klov live-reporting, plus Excel-based result tracking via Apache POI.
  • Per-Run Artifacts: Logs, screenshots, and downloads are organized into timestamped Output/ directories per run.
  • Configuration: Property-file based, so environment differences (dev/staging/prod) don’t require code changes.
  • Test Metadata Pipeline: Custom @Module annotations flow through into the generated reports for better traceability.

Example Suites#

The framework ships two complete example test suites that double as usage documentation:

  • A multi-page checkout flow exercising session state across pages via the Feature layer.
  • A bearer-token API lifecycle covering token issuance, rotation, and revocation via the REST Assured wrapper.

Extent Report test view — checkout flow and auth-lifecycle suites, each test tagged and timed

Usage Scenarios#

  • Regression Testing: Automate UI regression suites without maintaining a second framework for API checks.
  • New Project Bootstrap: Use as a starting skeleton for teams standing up Selenium automation from scratch.
  • CI Integration: TestNG + Maven structure integrates cleanly into CI/CD pipelines for continuous testing.

Technologies used

Java
Selenium 4
TestNG
Maven
REST Assured
Extent Reports
Search posts & projects