> 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

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://app.does.qa/screenshots/node/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                                                  |

### 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

* [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`
