Skip to content

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:

  1. Action override — set on a specific action instance in the Workbench.
  2. Environment default — set on that environment's Variables page.
  3. Global default — set on the Global Variables page.
  4. 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.

  1. Navigate to Variables > Global Variables.
  2. Add or edit the reserved variable:
    • _umai_timeout_override — timeout in seconds.
    • _umai_poll_interval_override — poll interval in seconds.
  3. Enter a numeric value.
  4. 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.

  1. Navigate to Variables.
  2. Select the environment from the environment picker.
  3. 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.
  4. Enter a numeric value.
  5. 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.

  1. Open the test in the Workbench.
  2. Select the action you want to override.
  3. 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.
  4. 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.