assert_
glossary ↓ downloads
track: java · selenium
suite 08 · capstone project

Build it — the milestone plan

Capstone project6–10 hrs project
as a manual tester

You wouldn't execute a 2-day regression without a plan and checkpoints.

in automation

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.

M1 — Walking skeleton (60 min)

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".

the milestone-1 finish line
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS

M2 — Login coverage (60 min)

The data-driven invalid-login test (locked out, wrong password, empty username, empty password). Tag the valid login @Tag("smoke"). Commit.

M3 — Shopping flow (90–120 min)

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.

M4 — Sorting + API (60 min)

The data-driven sort test; the two API tests in tests/api/. Notice the API tests need no BaseTest — no browser. Commit.

M5 — Speed (30 min)

junit-platform.properties for parallel classes; verify headless run is green; time both modes and note the numbers for your README. Commit.

M6 — CI (45 min)

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.

When you get stuck — the debugging ladder

  1. Read the exception name: Failure (assertion) or Error (NoSuchElement, Timeout)?
  2. Locator issues → verify in DevTools $$() before touching Java.
  3. Timing issues (works with a breakpoint, fails without) → a missing explicit wait.
  4. Only-in-parallel failures → hunt shared state, usually something static.
  5. Only-in-CI failures → headless window size, first suspect always.
Every rung of that ladder was a lesson in this course. Getting stuck and climbing out is the skill being built — budget for it and don't let it dent morale.
⚡ exercise · the build itself

Execute M1–M6. Rules of engagement:

  1. Never start a milestone with a red suite.
  2. Write the test name and assertions first, as comments, then make them real — your test-case instincts leading the code.
  3. Keep a NOTES.md of every problem + fix. It becomes interview stories: "tell me about a tricky automation bug" — you'll have five, documented.
key takeaways
  • Six milestones, each ending green and committed — never far from safety.
  • Assertions first, code second: your test design leads.
  • The debugging ladder is the course in miniature; NOTES.md turns pain into interview stories.
← The capstone brief Ship & show — portfolio and interviews →