Each step performs one action. To test a multi-part interaction (e.g., click a field, then type into it), use multiple steps.
Action
The most common step type. An action step performs a single user interaction on the page. Supported action types:| Action | Description |
|---|---|
| Click | Click on an element |
| Fill | Type text into an input field |
| Hover | Hover over an element |
| Press | Press a keyboard key or shortcut |
| Upload | Upload a file to a file input |
Navigate
A navigate step goes to a specific URL. Use this to start a test on a particular page or to jump to a different part of your application mid-test.Wait
A wait step pauses the test for a specified duration. This is useful when you need to wait for an animation, a background process, or a delayed API response before continuing. The default wait duration is 5 seconds.Assert
An assert step verifies that something is true on the page — for example, that a success message is visible or that a specific element exists. If the assertion fails, the test fails. Assert steps wait up to 2 seconds by default for the condition to become true before failing.Upload
An upload step attaches one or more files to a file input on the page. See File Uploads for details on supported file types and size limits.Code Execution
A code execution step runs custom JavaScript in the browser. Use this for API calls, data setup, or interactions that aren’t possible through standard step types. Code steps can be added during Chrome extension recording or in edit mode. See Code Execution for details.Conditional
A conditional step checks a condition and then performs an action based on the result. It has two parts:- If — The condition to check (e.g., “a cookie banner is visible”)
- Then — The action to take if the condition is true (e.g., “click the Accept button”)
Rules
- One action per step — Each step performs exactly one interaction. Break multi-part interactions into separate steps.
- Assertions don’t count as actions — Assert steps validate state but don’t interact with the page.
- Conditionals are non-blocking — If the condition isn’t met, the test moves on to the next step without failing.