Milestones
M1 walking skeleton: Base+Factory+Config+login test
M2 login coverage: data-driven invalids + @Tag smoke
M3 shopping flow: Products/Cart/Checkout pages + tests
M4 sorting (data-driven) + 2 API tests
M5 speed: parallel + headless timings
M6 CI: workflow, break-fix ritual, badge
Rule: never start a milestone with a red suite.
Acceptance criteria
- 8+ tests: 6 UI (2 data-driven) + 2 API
- Zero locators in tests; zero hardcoded config
- Explicit waits only; smoke tagged; parallel on
- CI: smoke on push, nightly cron, failure artifacts
- README: badge + three commands that work anywhere
Debugging ladder
1. Failure or Error? (app vs test)
2. Locator? -> verify in DevTools $$() first
3. Passes with breakpoint? -> missing explicit wait
4. Only in parallel? -> hunt shared static state
5. Only in CI? -> headless window size
README skeleton
# Title + Actions badge
Java 21 · Selenium 4 · JUnit 5 · REST Assured · CI
## Run it: clone -> cd -> mvn test -Dheadless=true
## What's demonstrated (with NUMBERS: 38s vs 1:57)
## Structure (paste the tree)
Commit messages that read well
M1: walking skeleton — login test green
M2: data-driven invalid logins (4 rows)
M3: checkout flow with page objects
Fix: wait for overlay before clicking checkout
CI: nightly cron + failure artifacts
The three-command promise (README)
git clone https://github.com/YOU/saucedemo-automation-framework
cd saucedemo-automation-framework
mvn test -Dheadless=true # -> BUILD SUCCESS
NOTES.md — capture while it's fresh
- one line each: date · what broke · exact error · root cause · fix
- "tell me about a tricky automation bug" → you'll have five, documented
- your pain, converted into interview stories
Interview mapping
- What to automate? → Suite 00 ROI filter
- Flaky tests? → explicit waits + independence story
- Explain POM → open LoginPage, one-file-fix story
- CSS or XPath? → default CSS; text/ancestor = XPath
- Walk me through it → README structure, top to bottom