You wouldn't execute a 2-day regression without a plan and checkpoints.
Same here. Six milestones, each ending in a commit and a green run — never more than an hour from working state.
The professional habit this project drills: small steps, always green. Commit at every milestone; if a step goes sideways, you're one git checkout from safety.
BaseTest + DriverFactory + ConfigReader + LoginPage + the single valid-login test. Wire the screenshot TestWatcher now while the suite is tiny. Commit: "M1: walking skeleton — login test green".
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] BUILD SUCCESS
The data-driven invalid-login test (locked out, wrong password, empty username, empty password). Tag the valid login @Tag("smoke"). Commit.
ProductsPage, CartPage, CheckoutPage page objects; the add-to-cart, full-checkout, and remove-from-cart tests. The checkout test is your longest — keep assertions at each stage (badge, cart contents, total, confirmation header). Commit per page object if you like; definitely per test.
The data-driven sort test; the two API tests in tests/api/. Notice the API tests need no BaseTest — no browser. Commit.
junit-platform.properties for parallel classes; verify headless run is green; time both modes and note the numbers for your README. Commit.
The Suite 07 workflow: smoke on push + cron nightly + failure artifacts. Push, watch Actions go green. Then the graduation ritual: break a test, push, download your screenshot from the red run, fix, push green. Final commits.
$$() before touching Java.static.Execute M1–M6. Rules of engagement: