A parameterized case runs once for each combination of its parameter values. A case with Site (EU, US, APAC) and Browser (Chrome, Firefox, Safari) creates 9 run cases in a run. Add a group of 2 rows to the same case and it creates 18. Each run case has its own values, status, attempts, notes, and attachments.
Quick path
- Open the case in the editor and go to Parameters. Choose Add single, Add group, or Add shared parameter.
- Write
${name}wherever a value belongs: in the title, a description, a condition, or a step. Gherkin cases can also write<name>. - Choose Review combinations under the parameters to see how many combinations the case makes. Clear the box of any combination that must not run.
- Save the case. A run that includes it creates one run case for each remaining combination.
To change the parameters of a case later, open the case, select Edit in its Parameters section, make the changes, and select Save. Cancel, or leaving the case with unsaved changes, discards them.
Singles and groups
A single has a name and a list of values. A group has a label and columns. Each row of a group holds one value per column, and the values in a row are used together. Use a group when several values must vary together, such as a network condition made of VPN, cookies, and HTTPS settings.
| Kind | What it holds | Example |
|---|---|---|
| Single | One name and 1 to 100 values | Site: EU, US, APAC |
| Group | A label, 2 to 20 columns, and 1 to 1,024 rows | Network, columns VPN and Cookies, rows on / yes and off / no |
| Shared | A reference to a shared parameter, a single or a group | Browser, from the organization library |
Names and labels follow these rules:
- A parameter name has 1 to 50 characters and can read like a question, such as
Is HTTPS?. It cannot contain{,},<,>,$, or|. Spaces around it are removed when you save. - Names are case-sensitive, so
Siteandsiteare two parameters. A name is unique within the case, across singles and group columns. - A group label has 1 to 50 characters and cannot start or end with a space.
- A value has up to 500 characters. A single value cannot be blank, and the same value cannot appear twice in one single. A group cell can be empty. The same row cannot appear twice in one group.
In the editor, write a parameter name without braces (Browser). The braces belong to the placeholder in a step (${Browser}).
Drag the grip of a parameter, a single value, or a group row to move it, or focus the grip and press the arrow keys. Each column of a group also moves on its own: moving one of its values changes which values share a row, so the rows of the group pair up differently. Remove a group column with the × in its header. The × appears only while the group has more than two columns.
How many combinations a case makes
Probara multiplies the number of values of each single by the number of rows of each group. A group counts once, by its number of rows, whatever its number of columns. The editor summary shows the same product as a formula, for example 3 × 3 = 9 combinations, and adds the number of excluded combinations when there are any.
- 3 sites × 3 browsers = 9 combinations.
- The same two singles plus a group of 2 rows: 9 × 2 = 18 combinations.
- A case without parameters has one combination.
| Limit | Value |
|---|---|
| Parameter names in one case, including names from shared parameters | 20 |
| Length of a name or group label | 50 characters |
| Length of a value or group cell | 500 characters |
| Values in a single | 100 |
| Columns in a group | 2 to 20 |
| Rows in a group | 1,024 |
| Combinations in one case, before exclusions | 1,024 |
| Run cases in one run, counting every combination | 5,000 |
Probara refuses a save that goes over a case limit and names the count it reached. It also refuses a run, or adding cases to a run, that would hold more than 5,000 run cases, and the message gives the total the run would reach.
Shared parameters
A shared parameter is a single or a group that you define once and use in many cases. When you create one with New shared parameter, Available in sets its scope:
- This project: the parameter belongs to one project.
- Organization: the parameter is available to every project. Clear Enable for all projects to choose the projects that can use it instead.
Find the library under Shared parameters in the side rail, next to Shared steps. It lists each parameter with its kind, a preview of its values, its scope, and how many cases use it. Select a name to open the parameter’s page.
To use one in a case, choose Add shared parameter in the case editor. Type in the search to narrow the list by name, and pick a parameter with the mouse or with the arrow keys and Enter from the search: the preview beside the list shows its values, or a group’s rows. Choose Add parameter to add it.
On that page, Edit values turns the values into fields; Save values keeps the changes and Cancel drops them. Edit the values as you do in a case: press Enter in the value field to add a value, and move a value, a row, or one column’s values by dragging its grip, or by focusing the grip and pressing the arrow keys. A group column is removed with its × while the group has more than two columns. To change the name, choose Rename in the page’s menu or the row’s menu in the library.
Who can change what:
- A project parameter needs the permission to edit test cases.
- An organization parameter needs the permission that manages organization-wide shared steps, and the plan that includes organization-wide shared steps. See Shared steps.
- On a plan that has lost that entitlement, cases that already use an organization parameter keep it. Creating or editing one, and adding one to a case that does not use it yet, waits for a paid plan. Deleting is never blocked by the plan.
Editing a shared parameter changes every case that uses it. Each of those cases gets a new version, and its excluded combinations that no longer match a combination are dropped. Runs do not change: each run case keeps the values it was created with until you apply the latest version (see Runs).
The Used in tab lists the projects whose cases use the parameter, with how many cases in each.
Deleting a shared parameter asks what happens to those cases:
- Convert to local copies: each case keeps its own copy of the values.
- Remove from every case: the values leave every case that uses the parameter.
In a case, Make local copy turns one shared reference into that case’s own copy. The shared parameter and the other cases do not change.
Restoring an older version of a case whose shared parameter was deleted adds that parameter’s values to the case as regular parameters, and the restore shows a message that names the parameter.
Placeholders
A placeholder reads the value of a parameter for the combination a run case represents.
${name}works in the title, the description, the preconditions, the postconditions, and every step field: action, data, and expected result. It also works in the steps that come from a shared step.- Gherkin cases also read
<name>, which is Cucumber’s own syntax. It works in the same fields, including Data Tables and Doc Strings. - If the case has no parameter with that name, Probara reads the run’s configuration group with that name. A parameter wins when both exist.
- A placeholder with no value stays as written. The editor warns you and names it.
For a case titled Sign in on ${Site} with ${Browser}, the run case for EU and Chrome is titled Sign in on EU with Chrome.
Excluded combinations
Some combinations should never run. Choose Review combinations under the parameters, then clear the box of a combination to exclude it. Check the box again to include it. An excluded combination creates no run case.
- A case keeps at least one combination. Probara refuses a save that excludes all of them.
- When you change or move a value, rename a parameter, or remove one, the exclusions that no longer match a combination are dropped on save.
- To leave one combination out of a single run, remove that run case from the run. The case itself does not change.
Configurations and parameters
Configurations and parameters both multiply work, at different levels:
| Configurations | Parameters | |
|---|---|---|
| What they describe | Where the whole run executes: browser, operating system, or device | The data one case uses |
| What they multiply | Runs: one run for each combination of configuration values | Run cases inside a run: one for each combination of parameter values |
| Where you set them | The test plan’s configurations | The case |
A plan with 4 configuration combinations and a case with 3 combinations creates 4 runs, and each run holds 3 run cases of that case. Use a configuration when the environment changes what the test means. Use a parameter when the data changes what the case checks. A configuration group value also fills a placeholder that no parameter of the case has.
Runs
Creating a run. In the case selection, a parameterized case shows × N next to its name, where N is its number of combinations. The selection shows the total number of run cases it will create.
The run list. A run has one row for each run case. Each row shows its values next to the title, such as Browser: Chrome · Site: EU; when they do not fit, hover or focus the +N count to see them all. Search matches a case’s title, and the name and value of its parameters, ignoring case.
The run case panel. Open a run case to see its tabs:
- Execution starts with a Combination section that lists the values this run case runs with, then its steps, with the values read in.
- Retries lists its attempts. Choose Same values only to show only the attempts that ran with the same values.
- Siblings lists the other run cases of the same case in the run, with their status and values.
Apply latest version. When a case changes after it joined a run, the run shows Case updated. Apply latest version brings that run case up to the latest version of the case, if its combination still exists. Probara refuses the update in two cases:
- The combination no longer exists in the latest version: “The combination of this run case no longer exists in the latest version of the case. Remove the run case, or add the case to the run again to get its current combinations.”
- The current attempt already has step results. Its steps stay as they were executed, and retrying the case starts a new attempt.
Apply latest to all pending cases updates every case it can, and names the ones it skips: those with step results, those assigned to someone else, and those whose combination no longer exists.
Adding a case again. Adding a case that is already in a run creates the run cases for its combinations the run does not hold yet. Attempts of run cases you removed are not attached to the new run cases.
Results. Each run case has its own attempts, notes, and attachments. The status of a case in a run is the worst status among its run cases, in this order: Failed, Blocked, Retest, Untested, Skipped, Passed. The coverage matrix, the last result of a case, the Jira and defect panels, and a test plan’s progress use that status. A run’s progress counts run cases.
Import, export, and Gherkin
CSV, XLSX, JSON, and XML files carry parameters and excluded combinations. A .feature file carries a Scenario Outline’s parameters as its Examples table. See Import test cases, CSV import walkthrough, and Gherkin test cases.
Versions and activity
Parameters and excluded combinations are part of a case’s version. The version history and the version comparison show added, removed, and renamed parameters, changed values and rows, a new order, and changed exclusions. The activity feed records a change made through a shared parameter as made via that parameter.
API, CI, and MCP
- The API reads and writes
parametersandexcludedCombinationson test cases, and lists the combinations of a case atGET /api/v1/projects/{projectId}/test-cases/{caseUlid}/combinations. See the API reference. - CI reports send each result’s parameters. The names the case declares select the run case with those values, and Probara adds a run case the run lacks. A name the case does not declare stays on the result for display. Reporters mark their own values, such as the project, the browser, or a retry attempt, as context: they are shown on the result and never create a parameter. See CI integrations.
- MCP: a call that gives the display ID of a case with several run cases in one run is refused, and the refusal lists up to 25 of them, unless the call also names one by its
parametersor its run case ULID. See the MCP tool reference.