01
MISSION COMPLETE
Academy - Setup & tooling
Install, config, codegen, trace viewer
02
ACTIVE MISSION
Flat tests & locator discipline
Academy Graduate - Graduation ExamTHE TASK
Write a Playwright test suite for the RamenYa Training Ground. Use only the approved locator strategies — role, label, text first, testid when needed, CSS as last resort. No page objects yet — flat tests only. Every test must have at least one meaningful assertion.
DOM CONTRACT
getByRole('searchbox', { name: 'Search menu' })
getByRole('tab', { name: 'All' })
getByRole('tab', { name: 'Miso' })
getByRole('tab', { name: 'Tonkotsu' })
getByRole('heading', { name: 'Miso Ramen' })
getByRole('heading', { name: 'Tonkotsu' })
getByRole('button', { name: 'Add Miso Ramen to cart' })
getByRole('button', { name: 'Add Tonkotsu to cart' })
getByTestId('cart-count')
getByRole('listitem') // ramen cardsTEST CASES
POSITIVE
Search for "miso" → only Miso Ramen visible, exactly 1 listitem.
POSITIVE
Click "Tonkotsu" filter → only Tonkotsu card visible.
POSITIVE
Add Miso Ramen to cart → cart count shows "1".
NEGATIVE
Search for "pizza" → no ramen cards visible.
POSITIVE
Add same item twice → cart count shows "2".
📋 Mission Brief
- the definition of "good"
0 / 5 met
Self-evaluation checklist (v1). Tick each as you confirm it in your own suite.
All locators follow the priority chain (role/label/text first).
No
waitForTimeout used anywhere.No raw CSS selectors used for interactive elements.
Each test has at least one meaningful assertion checking real state.
Tests pass on the Training Ground app.