Skip to main content
Revolutionize your testing approach with our latest products - Test Observability, Test Management & Accessibility Testing.

Organize Tests

Name your tests and group your builds by build names and project for better reporting.

You can organize your automated test sessions by using various capabilities on BrowserStack. These capabilities define how your test sessions are grouped together and accessed on the Automate dashboard.

Capability Description Expected values
sessionName Name for your session / test case A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), spaces ( ), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The session name length can be set up to 255 characters.
buildName Build version / number A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The build number length can be set up to 255 characters.
buildTag Add a custom tag to your build using buildTag capability or REST API A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The build tag length can be set up to 255 characters.
projectName Name of your project A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The name length can be set up to 255 characters. The project name length can be set up to 255 characters.

Adding the buildTag allows you to filter your builds by the tag on the Automate Dashboard.

Capability Description Expected values
name Name for your session / test case A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), spaces ( ), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The session name length can be set up to 255 characters.
build Build version / number A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The build number length can be set up to 255 characters.
build_tag Add a custom tag to your build using build_tag capability or REST API A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The build tag length can be set up to 255 characters.
project Name of your project A string.
Only letters (A-Z, a-z), digits (0-9), periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), asperands (@), ampersands (&), single quotes (‘), and underscores (_) are allowed. Any other characters are ignored.
The name length can be set up to 255 characters. The project name length can be set up to 255 characters.

Adding the build_tag allows you to filter your builds by the tag on the Automate Dashboard.

Ensure that you set up build name before you add a tag, otherwise the build tag will be ignored. Learn why you should be using build names to get the most out of BrowserStack Automate.

For example, if you are working on your new marketing website, and want to run your test suite for the Alpha 0.1.7 build, you can pass the following capabilities:

// Testing the home page

MutableCapabilities capabilities = new MutableCapabilities();
HashMap<String, Object> browserstackOptions = new HashMap<String, Object>();
browserstackOptions.put("projectName", "Marketing Website v2");
browserstackOptions.put("buildName", "alpha_0.1.7");
browserstackOptions.put("sessionName", "Home page must have a title");
browserstackOptions.put("buildTag", "reg");
capabilities.setCapability("bstack:options", browserstackOptions);
// Testing the home page

var capabilities = {
	'bstack:options' : {
		"projectName" : "Marketing Website v2",
		"buildName" : "alpha_0.1.7",
		"sessionName" : "Home page must have a title",
		"buildTag" : "reg"
	}
}
// Testing the home page

Dictionary<string, object> browserstackOptions = new Dictionary<string, object>();
browserstackOptions.Add("projectName", "Marketing Website v2");
browserstackOptions.Add("buildName", "alpha_0.1.7");
browserstackOptions.Add("sessionName", "Home page must have a title");
browserstackOptions.Add("buildTag", "reg");
capabilities.AddAdditionalOption("bstack:options", browserstackOptions);
# Testing the home page

$caps = array(
	'bstack:options' => array(
		"projectName" => "Marketing Website v2",
		"buildName" => "alpha_0.1.7",
		"sessionName" => "Home page must have a title",
		"buildTag" => "reg"
	)
)
# Testing the home page

desired_cap = {
	'bstack:options' : {
		"projectName" : "Marketing Website v2",
		"buildName" : "alpha_0.1.7",
		"sessionName" : "Home page must have a title",
		"buildTag" : "reg"
	},
}
# Testing the home page

capabilities = {
	'bstack:options' => {
		"projectName" => "Marketing Website v2",
		"buildName" => "alpha_0.1.7",
		"sessionName" => "Home page must have a title",
		"buildTag" => "reg"
	}
}
// Testing the home page

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("project", "Marketing Website v2");
caps.setCapability("build", "alpha_0.1.7");
caps.setCapability("name", "Home page must have a title");
caps.setCapability("build_tag", "reg");
// Testing the home page

var capabilities = {
 "project" : "Marketing Website v2",
 "build" : "alpha_0.1.7",
 "name" : "Home page must have a title",
 "build_tag" : "reg"
}
// Testing the home page

DesiredCapabilities capability = new DesiredCapabilities();
capability.AddAdditionalCapability("project", "Marketing Website v2", true);
capability.AddAdditionalCapability("build", "alpha_0.1.7", true);
capability.AddAdditionalCapability("name", "Home page must have a title", true);
capability.AddAdditionalCapability("build_tag", "reg", true);
# Testing the home page

$caps = array(
 "project" => "Marketing Website v2",
 "build" => "alpha_0.1.7",
 "name" => "Home page must have a title",
 "build_tag" => "reg"
);

# Testing the home page

desired_cap = {
 "project" : "Marketing Website v2",
 "build" : "alpha_0.1.7",
 "name" : "Home page must have a title",
 "build_tag" : "reg"
}
# Testing the home page

caps = Selenium::WebDriver::Remote::Capabilities.new
caps["project"] = "Marketing Website v2"
caps["build"] = "alpha_0.1.7"
caps["name"] = "Home page must have a title"
caps["build_tag"] = "reg"

When you run the next test, simply change the build name, and it will be grouped into the same build and project. Similarly, you can update the build tag - the most recent build tag will replace any previous tags you may have provided and add a new tag if one did not previously exist.

Build Tag

// Testing the admin page

MutableCapabilities capabilities = new MutableCapabilities();
HashMap<String, Object> browserstackOptions = new HashMap<String, Object>();
browserstackOptions.put("projectName", "Marketing Website v2");
browserstackOptions.put("buildName", "alpha_0.1.7");
browserstackOptions.put("sessionName", "Admin page access must be denied");
browserstackOptions.put("buildTag", "sanity");
capabilities.setCapability("bstack:options", browserstackOptions);
// Testing the admin page

var capabilities = {
	'bstack:options' : {
		"projectName" : "Marketing Website v2",
		"buildName" : "alpha_0.1.7",
		"sessionName" : "Admin page access must be denied",
		"buildTag" : "sanity"
	}
}
// Testing the admin page

Dictionary<string, object> browserstackOptions = new Dictionary<string, object>();
browserstackOptions.Add("projectName", "Marketing Website v2");
browserstackOptions.Add("buildName", "alpha_0.1.7");
browserstackOptions.Add("sessionName", "Admin page access must be denied");
browserstackOptions.Add("buildTag", "sanity");
capabilities.AddAdditionalOption("bstack:options", browserstackOptions);
# Testing the admin page

$caps = array(
	'bstack:options' => array(
		"projectName" => "Marketing Website v2",
		"buildName" => "alpha_0.1.7",
		"sessionName" => "Admin page access must be denied",
		"buildTag" => "sanity"
	)
)
# Testing the admin page

desired_cap = {
	'bstack:options' : {
		"projectName" : "Marketing Website v2",
		"buildName" : "alpha_0.1.7",
		"sessionName" : "Admin page access must be denied",
		"buildTag" : "sanity"
	}
}
# Testing the admin page

capabilities = {
	'bstack:options' => {
		"projectName" => "Marketing Website v2",
		"buildName" => "alpha_0.1.7",
		"sessionName" => "Admin page access must be denied",
		"buildTag" => "sanity"
	}
}

You can use the sessionName capability to give your session a name (usually describing the test case) and buildName capability (usually the same as the build ID that’s on your CI/CD platform) so that it is easy for you to debug later.

// Testing the admin page

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("project", "Marketing Website v2");
caps.setCapability("build", "alpha_0.1.7");
caps.setCapability("name", "Admin page access must be denied");
caps.setCapability("build_tag", "sanity");
// Testing the admin page

var capabilities = {
 "project" : "Marketing Website v2",
 "build" : "alpha_0.1.7",
 "name" : "Admin page access must be denied",
 "build_tag" : "sanity"
}

// Testing the admin page

DesiredCapabilities capability = new DesiredCapabilities();
capability.AddAdditionalCapability("project", "Marketing Website v2", true);
capability.AddAdditionalCapability("build", "alpha_0.1.7", true);
capability.AddAdditionalCapability("name", "Admin page access must be denied", true);
capability.AddAdditionalCapability("build_tag", "sanity", true);
# Testing the admin page

$caps = array(
 "project" => "Marketing Website v2",
 "build" => "alpha_0.1.7",
 "name" => "Admin page access must be denied",
 "build_tag" => "sanity"
);
# Testing the admin page

desired_cap = {
 "project" : "Marketing Website v2",
 "build" : "alpha_0.1.7",
 "name" : "Admin page access must be denied",
 "build_tag" : "sanity"
}
# Testing the admin page

caps = Selenium::WebDriver::Remote::Capabilities.new
caps["project"] = "Marketing Website v2"
caps["build"] = "alpha_0.1.7"
caps["name"] = "Admin page access must be denied"
caps["build_tag"] = "sanity"

You can use the name capability to give your session a name (usually describing the test case) and build capability (usually the same as the build ID that’s on your CI/CD platform) so that it is easy for you to debug later.

Remember to update the build version / number the next time you run the test again. If you are running your tests on a different project, remember to update the project name too.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked






Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked






Thank you for your valuable feedback!

Talk to an Expert
Download Copy