Built-in steps (145)

Grouped by source module in crates/ferridriver-bdd/src/steps/. Counts reflect actual #[given] / #[when] / #[then] / #[step] registrations.

ModuleCountCoverage
assertion34Text, visibility, value, attribute, class, state, count, role, ARIA
interaction20Click / double-click / right-click, fill, clear, type, hover, focus, blur, drag, scroll, select, check, uncheck
network14Mock / block / intercept / remove routes, request-made assertions, fetch + response status / body / header assertions
api11API request context: GET / POST / PUT / DELETE / PATCH, headers, body, status / JSON assertions
storage8localStorage / sessionStorage set / remove / clear, save / load storage state
wait7Wait for milliseconds / seconds, selector, text content, visible / hidden, retry-within-N-seconds
navigation6Navigate, back, forward, reload, URL assertions
frame6Switch to a named frame or the main frame, frame count / existence, evaluate in the active frame
dialog5Accept / dismiss, prompt text, assert message
emulation6Viewport, user agent, geolocation, color scheme, timezone, locale
mouse5Click at coordinates, move to coordinates, wheel up / down, drag between coordinates
window5Open / switch / close tabs, tab count, bring tab to front
keyboard4Press key, press on selector, type, press with modifier
javascript3Evaluate an expression, store its result, evaluate and assert the result
cookie3Add, delete, clear all
screenshot3Full page, element-scoped, accessibility snapshot
variable3Set a variable, store the text or value of a selector as a variable
file2Attach one file or multiple files to an input

To enumerate concrete expression strings at runtime, call StepRegistry::reference() from a bdd_main!() binary, or pass --reporter usage to see expression-level call statistics after a run.