Browser Automation
- Prefer role, label, and stable test identifiers over visual coordinates or brittle CSS chains.
- Wait for observable state, not fixed sleeps.
- Capture console errors, network failures, screenshot, and DOM excerpt on failure.
- Exercise keyboard navigation and responsive states where UI quality matters.
- Keep credentials external and isolate test data.
- Verify the final user-visible outcome, not just successful clicks.