StrikekitStrikekit

Action qualifiers

with, on, to, from, in, and other action / binder keywords

These qualifiers appear on action and assertion commands. They are not find hints and not should state tasks.

Common binders

QualifierTypical commandExample
withfillWhen I fill "username" with "chamodh"
onclick, double click, right click, force click, hover, press, should (container see)When I force click on "Submit"
tonavigate, scroll, upload, scope, switch, drag, set, set cookie, set local storage, set session storage, set clock, resize, api set header, api set field, api set fields, api set fileWhen I set cookie "session" to "abc"
by (viewport height)resizeWhen I resize to "375" by "812"not a find hint
fromselect, pick, storeWhen I select "United States" from "Country"
ascalculate, generateWhen I generate "@guest" as email
inclick (container), should (container see), pick date / pick time, type, element inWhen I click on "Delete" in "Laptop"
in rowclick, shouldWhen I click on "Edit" in row "chamodh@example.com"
and pickopen, typeWhen I open "Country" and pick "Canada"
to tabswitchAnd I switch to tab "Help"
back / forwardgoWhen I go back
down / upscrollAnd I scroll down
for / for see / until not see / until be on / for url contains / for network idle / for responsewaitAnd I wait for response "/api/orders"
columnclickWhen I click on "Name" column
secondspauseAnd I pause for "2" seconds
with body / with body fileapi post / put / patch / deleteWhen I api post "/orders" with body '{"item":"book"}'
from api jsonstoreWhen I store "@id" from api json "$.id"
status / body contain / json path / exist / beapi shouldThen I api should status "201"
until json path / beapi waitAnd I api wait until json path "$.status" be "ready"
thenif / else ifSeparates condition from action — When I if see "Banner" then click on "Dismiss"
see / not see (branch condition)if / else ifOne-shot page text presence for branches (not should see polling)

Generate-only args (domain, length, charset, …): Generate qualifiers.

Element scope command (in)

Separate from one-shot click on … in "…". The in command pushes a nested element scope stack:

When I in "products"
And I click on "Add"
When I in ".."
When I in "page"
FormEffect
in "<region>"Push nested scope under current root
in ".."Pop one level (fails if already at root)
in "page"Clear the element stack (iframe scope unchanged)

iframe / frame scoping uses scope to instead — see scope.

Dialogs

When I accept "Are you sure?"
When I dismiss "Session expired"

Arm the next browser dialog before the step that opens it. The quoted string is a message fragment.

See accept and dismiss.

Conditional branches (if / else if / else)

Contiguous line-by-line chains. Conditions in v1 are only see / not see. After then / else, one existing command runs. Unused branches are step SKIPPED (NDJSON may emit them; scenario summary stays PASSED/FAILED).

See if / else if / else.

On this page