Rebuilding a federal regression suite around evidence, not reruns
- Started from 32 feature-specific step classes, 32 page objects, 1,008 legacy steps and 136 fixed waits. A 376-case regression took 4 hours 8 minutes.
- A canonical Gherkin vocabulary and shared step layer: new scenarios reuse behavior instead of adding feature-specific Java.
- One accessibility-first locator resolver that tries test IDs, roles, labels, placeholders and stable text before generated IDs or brittle XPath.
- State-based synchronization replaces fixed sleeps across loading, search, wizard and download workflows.
- A risk-aware write lane isolates workflows that create, attest, upload or delete data, keeping them out of smoke and scheduled runs.
- CI and reporting redesigned for in-repo workflows and durable Allure history, within the network-bound runner constraints.
Testers and business analysts now add scenarios from approved Gherkin steps. They no longer wait for a developer to write duplicate step definitions, page objects and locators. Failures trace back to a small shared core, and every run leaves Allure evidence. The shared layer is about 5,082 lines. It replaces 23,404 lines of legacy framework code that is scheduled for retirement.
Whole-suite timing is reported with its caveats because coverage and environment conditions change from run to run. The legacy baseline was 4 hours 8 minutes for 376 cases. Modern runs of a similar size took between 44 minutes 53 seconds and 1 hour 43 minutes, and the longer run included 70 minutes of known, environment-specific email timeouts. With those checks limited to the environment that actually sends email, a comparable run should take about 35 minutes. That is a measured improvement in a migration still under way, not a like-for-like comparison against every historical run.
Java 17 · Playwright · Cucumber · JUnit · Maven · Allure · REST Assured · Jenkins · Docker · AWS S3 · Current through Oct 2026