StrikekitStrikekit

Syntax rules

Quotes, comments, environment variables, and wildcard * semantics

Quotes

All values must be wrapped in quotes. Single (') and double (") quotes are both valid.

When I fill "username" with 'chamodh'
Given I navigate to "https://example.com"

Reserved words outside quotes are syntax (fill, with, Given). Data always goes in quotes.

Comments

Lines starting with # are ignored:

# Login happy path
Given I navigate to "https://example.com/login"

Environment variables

Put $VAR_NAME inside quotes. Resolved at runtime from context variables, project .env, or CI env:

Given I navigate to "$BASE_URL/login"
When I fill "api-key" with "$API_KEY"

Wildcard * — match vs payload

After slots / env / faker resolve, a * in a match/lookup string is a glob (* = any run of characters — not full regex). No * → exact match.

RoleExamples* meaning
Match / lookupclick on "Save*", fill target, should see "Welcome*", containers, row keysGlob — labels must match exactly one visible target
Payload / literalfill … with "a*b", navigate to, press, upload filename, option text, dialog fragmentsLiteral *
When I click on "Save*"
Then I should see "Order #*"
When I fill "search" with "a*b"

Does not change see containing or URL-contains (be on / wait for url contains) semantics.

Labels, not selectors

Quoted labels are plain language. Never put CSS, XPath, or Playwright locators in .stk files.

On this page