Slots and dynamic values
@ / @@ slots, $ENV, generate, calculate, and inline {{faker}}
StrikeTest resolves quoted values in this order: whole-string slot → {{faker}} → $ENV → literal.
Slot kinds
| Form | Scope | Cleared when |
|---|---|---|
@name | Scenario | Next Scenario: / Feature: |
@@name | Group (same file, one browser run) | End of group / file run |
Slot names must start with @ or @@. A value like "user@example.com" is a literal, not a slot.
store — capture from the page
When I store "@csrf" from "csrf-field"
When I store "@@order-id" from "confirmation-number"
Then I should see "@csrf"See store.
generate — fresh value each run
When I generate "@guest" as email
When I generate "@code" as string length "8" charset "hex"
When I fill "Email" with "@guest"
When I fill "Notes" with "Customer {{name}} in {{city}}"Inline {{kind}} expands via the same faker registry (one-shot; each occurrence is fresh). Structured args (domain, length, …) are generate-only — not valid inside {{…}}.
See generate and Generate qualifiers.
calculate — arithmetic into a slot
When I calculate "@line" as "50*3"
When I calculate "@tax" as "$TAX_RATE*2"
When I fill "Amount" with "@line"Operators: + - * / % ^ and ( ). In expressions, * and ^ are arithmetic — not label globs. See calculate.