> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/test-steps/runner/condition.md).

# Condition

Include a Flow Branch only when a Runner, device, language, timezone, or Value matches.

Condition keeps a [Flow Branch](/getting-started/terminology.md) only when a rule matches. Use it when mobile and desktop need different steps, or when a Run Value should turn a path on or off.

![Condition Test Step](https://static.does.qa/assets/nodes/runner_condition.png)

## When to use it

* Run mobile-only steps when Open used a [Simulated Device](/getting-started/terminology.md).
* Split language or timezone behaviour without duplicating whole Flows.
* Gate a branch on a Run Value from a Recipe or CI/CD overwrite.

Place Condition early on the branch so excluded paths stay easy to read.

## Configure

### Basics

| Field                            | What to set                                                                  |
| -------------------------------- | ---------------------------------------------------------------------------- |
| **Condition**                    | `Runner` (default), `Runner Variant`, `Language`, `Timezone`, or `Run Value` |
| **Type**                         | `Equals` (default) or `Doesn't Equal`                                        |
| **Runner**                       | When Condition is Runner: `Chrome`, `Firefox`, `Edge`, or `Simulated Device` |
| **Variant**                      | When Condition is Runner Variant: browser size or named device               |
| **Language** / **Timezone**      | When Condition is Language or Timezone                                       |
| **Value Store Item** / **Value** | When Condition is Run Value                                                  |

<details>

<summary>Available Runner Variants and Simulated Devices</summary>

The Variant list changes based on the Runner you choose. These are the same options available in the [Open](/test-steps/starter/open.md) step.

**Chrome:**

* Chrome: Desktop (1920×1080, default)
* Chrome: Desktop - Ultra-wide (2560×1080)
* Chrome: Desktop - Portrait (1080×1920)
* Chrome: Tablet - Landscape (1024×768)
* Chrome: Tablet - Portrait (768×1024)

**Firefox:**

* Firefox: Desktop (1920×1080)
* Firefox: Desktop - Ultra-wide (2560×1080)
* Firefox: Desktop - Portrait (1080×1920)
* Firefox: Tablet - Landscape (1024×768)
* Firefox: Tablet - Portrait (768×1024)

**Edge:**

* Edge: Desktop (1920×1080)
* Edge: Desktop - Ultra-wide (2560×1080)
* Edge: Desktop - Portrait (1080×1920)
* Edge: Tablet - Landscape (1024×768)
* Edge: Tablet - Portrait (768×1024)

**Simulated Device (phones, tablets, and other devices):**

* iPhone 14 Pro Max, iPhone 12 Pro, iPhone XR, iPhone X, iPhone SE, iPhone 4
* iPad Pro, iPad Mini, iPad Air
* Samsung Galaxy A51/71, Galaxy Z Fold 5, Samsung Galaxy S3, S8, S8+, S9+, S20 Ultra
* Samsung Galaxy Note 2, Note 3, Galaxy Tab S4
* Microsoft Lumia 550, Lumia 950
* Moto G4, Moto G Power
* Nokia N9
* Nexus 4, 5, 5X, 6, 6P, 7, 10
* Pixel 2, 2 XL, 3, 3 XL, 4, 7
* Surface Duo, Surface Pro 7
* Asus Zenbook Fold
* Blackberry Playbook, Blackberry Z30
* Kindle Fire HDX
* LG Optimus L70
* Nest Hub, Nest Hub Max

</details>

<details>

<summary>Available Languages</summary>

* English (United States) - default
* English (United Kingdom)
* Chinese (China, Simplified)
* Spanish (Spain)
* Spanish (Mexico)
* French (France)
* German (Germany)
* Japanese (Japan)
* Polish (Poland)
* Italian (Italy)
* Arabic (United Arab Emirates)

</details>

<details>

<summary>Available Timezones</summary>

* UTC - default
* America/New\_York
* Europe/London
* Europe/Paris
* America/Los\_Angeles
* Europe/Berlin
* Asia/Tokyo
* Australia/Sydney
* America/Sao\_Paulo
* Asia/Dubai

</details>

### Advanced

| Field                                 | What to set                                          |
| ------------------------------------- | ---------------------------------------------------- |
| **When should screenshots be taken?** | `Always` or `On Failures` (default)                  |
| **Status on fail**                    | [Failed Status](/test-step-options/failed-status.md) |

{% hint style="info" %}
**Pro tip:** Pair Condition on Simulated Device with a desktop branch that uses Chrome Desktop so one Flow covers both layouts.
{% endhint %}

## Related

* [Choose Flow Branch shapes](/better-coverage/choose-flow-branch-shapes.md)
* [Loop](/test-steps/runner/loop.md)
* [Open](/test-steps/starter/open.md)
* [Tag Test](/test-steps/utility/tag-test.md)
* [Runner](/test-steps/runner.md)

**Tags:** `runner`, `condition`, `branch`, `simulated device`
