A Branch is a separate copy of the tests in a Test Project, where you change Test Cases, Test Sets and Test Plans without affecting the tests your team runs. Every Test Project has one Branch to start with, main, which holds the tests everyone uses. You create a Branch from main, edit and run your tests there, then review the changes and merge them into main in one step.
What a Branch contains
A Branch keeps its own version of:
Test Cases, with their steps and execution settings
Test Sets and Test Plans, with the Test Cases they contain
Schedules. A Schedule belongs to the Branch you created it on.
Everything else is shared by all the Branches of the Test Project: Environments, Secrets, Variables, Personas, Apps, Test Assets and Labels. A change to an Environment made while you are on a Branch is a change for main too.
Until you edit an item on your Branch, the Branch shows the main version of that item, including changes your colleagues make on main after you created the Branch. Only the items you change on the Branch are kept apart.
Find the Branch you are on
The Branch selector is in the header of every page of a Test Project. It shows the name of the current Branch. The name of main shows in the normal text colour, and the name of any other Branch is highlighted, so you can see at once that you are not on main.
Select the Branch selector to search the Branches of the Test Project and switch to another one. main is always first in the list.
What you see and do follows the current Branch: the Test Case and Test Set lists, the detail pages, your edits, the runs you start and your Thunders AI conversations.
Create a Branch
Open the Test Project.
Select the Branch selector in the header.
Select Create branch.
In Branch name, type a name, for example
feature/my-change. A name can contain letters, numbers, dashes, underscores and forward slashes.Select Create branch.
The new Branch starts from main, and Thunders switches you to it immediately.
Work and run tests on a Branch
Add, edit and delete Test Cases, Test Sets and Test Plans as usual. The changes stay on the Branch. An item you create on a Branch exists only on that Branch until you merge it. If you open such a Test Set or Test Plan after you switch back to main, the page tells you that it is not on this Branch.
When you run a Test Case or a Test Set while you are on a Branch, the run uses the Branch version of the steps and settings. The Test Runs list shows the Branch of each run, and you can filter the list on a Branch, including a Branch that is already merged. On the Analytics page, the Branch filter is set to All branches by default.
You cannot switch Branches while:
a Thunders AI conversation on the current Branch is open. Close the Thunders AI panel or start a new conversation first.
the Test Case runs. Stop the run first.
the Test Case records. Stop the recording first.
Review and merge a Branch into main
While you are on your Branch, select the Branch selector. Next to the current Branch, Review shows the number of changes.
Select Review. The Review & merge dialog opens.
The list on the left shows each changed Test Case and Test Set, tagged Added, Edited or Removed. Select an item to compare the main version with your Branch version, field by field and step by step. Use Previous and Next to go through the items.
When the banner reads "No conflicts detected. Your changes can be merged into main.", select Merge into main.
All the changes reach main together. Thunders confirms "Branch merged.", closes the Branch and switches you back to main.
A Test Case that fails on the Branch shows a Failing tag, and its comparison says "This test is failing in this branch". A failing test does not block the merge, so review its failing steps before you merge.
Resolve conflicts
A conflict occurs when main has a newer change to an item that you also edited on your Branch. The banner then says, for example, "Main has newer changes to 1 item you also edited. Merging is blocked until those changes are reconciled.", and Resolve conflicts replaces the merge button.
Select Resolve conflicts. For each item in conflict, the main version shows next to your Branch version.
For each item, select Keep main or Keep followed by the name of your Branch. To make the same choice for all the items, open Resolve all and select Pick main or Pick branch.
When each conflict has a choice, select Apply changes.
In the review, select Merge into main.
Your choice applies to the whole item. If main deleted the item, you can only keep main.
Discard or delete a Branch
Only the person who created a Branch can delete it, and main can never be deleted. Use either of these:
In the Branch selector, select the bin icon next to the Branch.
In the Review & merge dialog, select Discard branch.
All the changes on the Branch are lost, and you cannot undo this action.
Frequently asked questions
How do I run a CI pipeline on a Branch?
Add branchId, with the id of the Branch, to the body of the CI run request. The run then uses the Branch version of the tests. Without branchId, the run uses main, so your existing pipelines do not change. To get the ids, call GET /api/branches?projectId=<your project id> with your API key. See CI/CD.
How do I get the latest changes from main into my Branch?
You do not need to do anything. An item you did not edit on the Branch always shows its main version. For an item that changed on both main and your Branch, you choose which version to keep when you merge.
Where does a Branch merge to?
Into main. Each Branch starts from main and merges back into main. After the merge, the Branch closes and is no longer in the Branch selector, but its runs stay in the Test Runs list.
How do I use Thunders AI on a Branch?
Switch to the Branch before you start the conversation. The conversation stays on the Branch where it started, so to work on another Branch, start a new conversation. On the Thunders AI page, you choose the Branch in the message box. See Introduction to Thunders AI.
How do I see the runs of a Branch after the merge?
Filter the Test Runs list on the Branch. The filter keeps the Branches that are already merged, so the runs of a closed Branch stay easy to find.

