Skip to main content
The top-level @qawolf/flows entry point exposes cross-platform helpers and types.

Primary exports

  • platform.target
  • configureTarget(...)
  • getCurrentScope()
  • resetTarget()
  • FailWithoutRetryError
It also re-exports:
  • type Target
  • type TargetScope

Target literals

The target string must exactly match one of the supported values or your flow will fail to initialize.
See Target names for how to read a target name. Example:

Target names

Android and iOS target names follow the pattern <Platform> - <Model> (<Version> | <Qualifier>). The qualifier is optional.
  • Model — a device model, such as Google Pixel 9 or iPhone 15. Any Phone, Any Tablet, Any iPhone and Any iPad accept any model of that kind.
  • Version — the OS marketing version, such as Android 16 or iOS 26. Latest points to a version that QA Wolf chooses and moves forward over time. Flows that use Latest follow it with no edit.
  • Emulator — the flow runs on an Android emulator. An Android target without it runs on a real phone. iOS targets always run on real devices.
  • Allowlisted and Private — the flow runs on allowlisted or private iOS devices. See iOS Device Pools for when to use them and how to set them up. For dedicated Android phones, see Dedicated phones.
  • Apple ID — the flow runs on an iOS device that is signed in to an Apple ID.
Windows has two targets. Windows 11 - Desktop runs on the shared pool of Windows VMs, and Windows 11 - Desktop (private) on a pool for your workspace alone. See Windows.

platform.target

platform.target is a getter on a frozen object. Every access reads the currently configured target.
Example with setup:
It throws if no target has been configured. It always reflects the latest value set through configureTarget(...).

configureTarget(...)

Use this to set the active target in local execution or tests.
The input shape is:

getCurrentScope()

Returns the current configured target scope, or undefined when no target has been configured yet. Example:

resetTarget()

Clears the configured target scope. Use this in tests to avoid leaking target state across cases. Example:

FailWithoutRetryError

This is a dedicated error class whose message is "failWithoutRetry". Use it when flow execution should fail immediately rather than being treated as retryable by the surrounding runtime. Example:
Last modified on October 20, 2026