Condition

Condition

Generate test cases only when a condition is met

The Condition step allows you to control whether a test case is generated at all.

Unlike a stop step, which halts a test during execution, a Condition step prevents the test case from being created in the first place unless specific criteria are met.

This keeps your runs focused, clean, and intentional.

Pre-run control, not mid-run control

With a stop step, a test begins execution and then exits when a condition is satisfied.

With a Condition step, the test branch is only generated if the condition is true. If it is not met, the test case is skipped entirely.

That means:

  • No runner time is consumed

  • No test data is created

  • No steps execute unnecessarily

  • No partial runs clutter your results

This is especially useful in complex flows with multiple branches.

What you can base conditions on

Condition steps can evaluate:

  • Runner

  • Runner variant

  • Language

  • Timezone

  • Run values

This gives you precise control over when specific test cases should exist.

Practical examples

Some common use cases include:

  • Only generating certain test cases on specific browser variants

  • Running language-specific flows only when a matching locale is selected

  • Triggering region-specific tests based on timezone

  • Activating environment-specific checks using run values

  • Creating variant-specific scenarios without duplicating flows

For example, you might include a production-only branch that should never run in staging, or a language-specific test that only executes when the correct language value is present.

Cleaner branching for advanced packs

In larger test packs, branching is powerful but can produce many potential paths. The Condition step ensures only relevant test cases are generated based on the current run context.

This keeps coverage high while preventing unnecessary duplication or wasted execution.

For teams running complex multi-environment or multi-variant setups, Condition steps provide structured control without increasing maintenance overhead.

Use them to keep your test generation intentional, efficient, and aligned with how your application actually runs.