Interaction profiles
Permalink to Interaction profilesSome flows only work with a mouse. A tooltip that appears on hover, or a carousel that advances on pointer-over, is unusable for anyone navigating without a pointing device — and a test that hovers will happily pass anyway, because Playwright can hover even when a real user cannot.
Run with a profile to catch that:
node bin/usecase-runner.js run ./usecases --profile no-pointer
Under no-pointer, any hover or hover_out step fails before it touches the
page, with failure_reason: 'profile_forbidden' so the report distinguishes
"this flow needs a pointer" from "this assertion did not hold". The same flag
works on generate, and the generated spec raises the same failure — the two
modes never disagree.
The name says what it enforces. It is not keyboard-only: it forbids pointer
verbs, it does not navigate the page by keyboard.