Wait Strategies and Timeouts
UMAI actions that interact with the browser (e.g. click, type, verify) wait for their target condition to be met before executing. If the condition is never met, the action fails with a timeout error rather than hanging.
You can control how long UMAI waits (and how often it re-checks the condition) at three levels — global, per-environment, and per-action — with a built-in fallback if nothing is set. This lets you tune wait behaviour to match the performance characteristics of the systems you're testing without editing individual tests.
Two settings are configurable:
| Setting | Reserved variable name | Meaning |
|---|---|---|
| Timeout | _umai_timeout_override |
Maximum time an action waits for its target condition before failing. |
| Poll interval | _umai_poll_interval_override |
How often the condition is re-checked while waiting. |
How timeout resolution works
When an action runs, UMAI resolves the effective timeout by checking each layer in order and using the first value it finds:
- Action override — set on a specific action instance in the Workbench.
- Environment default — set on that environment's Variables page.
- Global default — set on the Global Variables page.
- Built-in default — the value baked into UMAI when nothing else is configured.
This means an action-level override always wins over an environment default, an environment default always wins over a global default, and the built-in default is only used when no override exists anywhere.
The value in effect at execution time is the one used. If you change a default between authoring and running a test, the run uses the value active when it starts.
Setting the global default
The global default applies to every action across every environment unless a closer override is set.
- Navigate to Variables > Global Variables.
- Add or edit the reserved variable:
_umai_timeout_override— timeout in seconds._umai_poll_interval_override— poll interval in seconds.
- Enter a numeric value.
- Save.
You can set either or both; each falls back to the built-in default independently if not configured.
Setting an environment default
The environment default applies to every action run in that specific environment unless a closer override (an action-level override) is set. It takes precedence over the global default.
- Navigate to Variables.
- Select the environment from the environment picker.
- Add or edit the reserved variable — the same names are used at every scope:
_umai_timeout_override— timeout in seconds._umai_poll_interval_override— poll interval in seconds.
- Enter a numeric value.
- Save.
Each environment maintains its own default independently — setting a value on one environment does not affect any other.
Overriding on a single action
You can override the timeout and the poll interval on any individual action inside the Workbench.
- Open the test in the Workbench.
- Select the action you want to override.
- In the action's configuration panel, find the Wait options section and set either or both fields:
- Timeout — accepts
1 – 3600(in seconds). - Poll Interval — minimum
0.1(in seconds); no upper limit, but any value larger than the effective timeout is capped to the timeout at runtime.
- Timeout — accepts
- Save the test.
An action-level override:
- Applies only to that action instance in that test — other uses of the same action type resolve independently.
- Takes precedence over both the environment and global defaults.
- Can be cleared. When cleared, the action reverts to the resolved environment / global / built-in default.
Built-in defaults
If no override is set at any layer, UMAI uses the following built-in values:
| Setting | Built-in default | Allowed range |
|---|---|---|
| Timeout | 20 seconds | 1 – 3600 seconds |
| Poll interval | 0.25 seconds (250 ms) | Minimum 0.1 seconds; no upper limit, but capped to the effective timeout at runtime |
The built-in defaults are library constants and cannot be edited by users. They exist so that every action always has a valid timeout, even in a brand-new account with no configuration.