flow.type
Introduction
flow.type is a Flow Command that enters text into an input field.
It is commonly used to populate forms, search boxes, login pages, registration screens, and any workflow that requires user input.
Like every Flowstride UI command, flow.type uses Flowstride's natural language locator engine instead of requiring CSS selectors or XPath expressions.
Syntax
flow.type "<locator>" "<value>";flow.type <element> "<locator>" "<value>";flow.type "<locator>" <locator-modifier> "<value>";flow.type < element > "<locator>" < locator - modifier > "<value>";Parameters
| Parameter | Required | Description |
|---|---|---|
| Element | Optional | Narrows the search to a specific Flow Element such as input or field. |
| Locator | ✅ | The text used to identify the input element. |
| Value | ✅ | The value to type into the element. This may be plain text, a Runtime Variable, Dynamic Variable, or Environment Variable. |
| Locator Modifier | Optional | Additional locator such as under, inside, near, leftOf, rightOf, above, below, or an index. |
Supported Flow Elements
flow.type supports every Flow Element recognised by the Flowstride parser.
Examples include:
inputfielddivspan
See Flow Elements for the complete reference.
Examples
Type plain text
flow.type "Email" "john@example.com";Type into an input
flow.type input "Email" "john@example.com";Type into a field
flow.type field "Password" "MySecurePassword";Type using an Environment Variable
flow.type "Email" "{{env.EMAIL}}";
flow.type "Password" "{{env.PASSWORD}}";Type using a Dynamic Variable
flow.type "Email" "$randomEmail";
flow.type "Username" "$randomUsername";Reuse a generated value
flow.type "Email" "$randomEmail";
flow.type "Confirm Email" "@randomEmail";Type using a relative locator
flow.type "input" under "Available Seats" "56";Complete Example
Feature: User Login
Scenario: Login successfully
Given "Open the login page"
flow.open "/login";
When "Enter user credentials"
flow.type "Email" "{{env.EMAIL}}";
flow.type "Password" "{{env.PASSWORD}}";
When "Submit the form"
flow.click button "Login";
Then "Verify login"
flow.expect visible "Logout";Type using a Spatial Locator
Spatial Locators can also be used while entering data, allowing Flowstride to identify the correct input field when similar fields exist on the same page.
Feature: User Registration
Scenario: Enter an email address
Given "User opens the registration page"
flow.open "/signup";
When "User enters an email address"
flow.type input "Email Address" below "Personal Information" "$randomEmail";
Then "The email field contains the entered value"
flow.expect input "Email Address" value "$randomEmail";Supported Values
flow.type accepts any valid string value, including:
- Plain text
- Environment Variables (`{{env.*}}`)
- Runtime Variables (`@...`)
- Dynamic Variables (`$...`)
- Extracted values
- Generated valuesCommon Use Cases
Use flow.type to:
- Fill login forms.
- Complete registration forms.
- Enter search terms.
- Populate profile information.
- Enter payment details.
- Fill checkout forms.
Common Mistakes
Use the field label whenever possible
Prefer descriptive locators:
flow.type "Email" "john@example.com";instead of generic locators unless necessary.
Reuse generated values when needed
If a generated value must appear more than once, reuse it instead of generating a new one.
flow.type "Email" "$randomEmail";
flow.type "Confirm Email" "@randomEmail";Use flow.forceType only when necessary
flow.type performs a normal typing interaction.
If your application prevents standard typing, use flow.forceType instead.
