Drop in a Postgres, MySQL, or MongoDB connection string and pull random rows straight from your real DB — no mocks, no fixtures to maintain. Unicode + apostrophe + locale safety, seeded reproducibility, and an identifier-injection guard on every query. CI-verified against live databases every release.
BasePage with Fluent Helpers
Type-safe BasePage with find / findVisible / safeClick / typeText / hover / scrollIntoView / waitForUrlContains / selectDropdown / screenshot — Selenium 4 idioms, logged, and retry-safe. Every page object inherits from it. Stop rewriting wait logic.
Page Object Model
LoginPage, InventoryPage, CartPage, CheckoutPage — real data-test selectors, fluent return-types for chaining, static By constants. The canonical Java POM pattern, done right.
JUnit 5 + Custom Extensions
JUnit 5 Jupiter with DriverExtension, LoginExtension, and ScreenshotOnFailure extensions. Annotations: @WithDriver, @LoggedIn — declarative test setup. Same suite runs local and CI.
REST Assured API Testing
REST Assured 5.5 wired alongside Selenium for hybrid UI + API tests. ApiVsUiCartTest compares cart state via REST endpoints against the rendered UI. AllureRestAssured filter logs every request/response into the Allure report.
Surefire + Failsafe Split
Maven Surefire runs fast unit/API tests on `mvn test`. Maven Failsafe runs end-to-end browser tests on `mvn verify`. Two phases, two reports, one pom. CI shards by phase for honest fast-feedback.
AssertJ Fluent Assertions
assertThat(cart.totalItems()).isEqualTo(3) — readable, chainable, IDE-friendly. No more JUnit assertEquals boilerplate. AssertJ 3.26 with extra matchers for collections, strings, and Throwables.
Java Faker Data Factories
UserFactory, ProductFactory, CheckoutFactory — Java Faker 1.0.2-powered, seedable for repro. Plus JSON-backed canonical fixtures for tests that need exact values.
Allure Reporting
Every test annotated with @Story, @Severity, and Allure.step() lambdas. Auto-screenshot on failure via ScreenshotOnFailure extension. allure-junit5 + allure-rest-assured wired in. Run `mvn allure:report` for a full HTML report.
Selenium Manager Built In
No chromedriver or geckodriver pinning. No WebDriverManager dependency. Selenium 4.6+ ships with Selenium Manager — drivers resolve automatically on every machine and every CI runner.
GitHub Actions CI
Maven cache, JDK 17 setup, Surefire and Failsafe phases run separately, Allure results uploaded as artifact. Branch protection-ready status checks.
32 Tests Against SauceDemo
LoginTest, InventoryTest, CheckoutTest, ApiVsUiCartTest, InventoryApiTest — 32 tests run against saucedemo.com. Clone, `mvn verify`, you see a real test suite go green in under a minute.
Obsessive Documentation
README plus deep-dive guides in docs/: PAGE_OBJECT_PATTERN, WAITS_AND_FLAKE, FIXTURES, PARALLEL, CI_CD, TROUBLESHOOTING. Every package, helper, and CI step explained.