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.