Capabilities
Using Cypress with BrowserStack requires setting up the browserstack.json
file with custom capabilities. This section includes a sample browserstack.json
file along with a detailed reference of all the supported capabilities.
browserstack.json
{
"auth": {
"username": "YOUR_USERNAME",
"access_key": "YOUR_ACCESS_KEY"
},
"browsers": [
{
"browser": "chrome",
"os": "Windows 10",
"versions": [
"latest",
"latest-1"
]
},
{
"browser": "firefox",
"os": "Windows 10",
"versions": [
"latest",
"latest-1"
]
},
{
"browser": "edge",
"os": "Windows 10",
"versions": [
"latest",
"latest-1"
]
}
],
"run_settings": {
"nodeVersion": "<auto populated node version>",
"cypress_version": "12.3",
"cypress_config_file": ".<path/to/your/cypress.config.js/file>",
// For Cypress v9 or lower using the following configuration
// "cypress_config_file": ".<path/to/your/cypress.json/file>",
"home_directory": "</path/to/your/projects/root_directory/name_of_root_directory>",
"specs": ["cypress/e2e/1-getting-started/todo.cy.js", "cypress/e2e/2-advanced-examples/actions.cy.js"],
"spec_timeout": 10,
"enforce_settings": <true/false>,
"npm_dependencies": {
"npm-package-you-need-to-run-tests-1": "^1.2.1",
},
"package_config_options": {
"npm-package-you-need-to-run-tests-1_options": {
"option1": true,
"option2": "some-value"
}},
"exclude": ["some-folder/test.cy.js", "static/*.pdf"],
"system_env_vars": ["NPM_TOKEN", "GITHUB_SECRET", "<ANY_OTHER_ENV_VAR_AVAILABLE_IN_YOUR_SYSTEM>"],
"project_name": "My sandbox project",
"build_name": "Build no. 1",
"build_tag": "reg",
"parallels": "5",
"record": true,
"record-key": "<your_record-key>",
"projectId": "<your_cypress_project_id>",
"interactiveDebugging": "true",
"network_logs": "true",
"networkLogsOptions": {
"captureContent": "true"
},
"geolocation": "<country_code>",
"timezone": "<time_zone>",
"headless": true
},
"connection_settings": {
"local": true,
"local_identifier": "local_connection_name",
"local_mode": "always-on",
"local_config_file": "/path/to/your/config.yml"
},
"disable_usage_reporting": false
}
The following table lists the supported Cypress capabilities and how they must be defined in the browserstack.json file:
Object | Key(Capabilities) | Value | Reference | |
---|---|---|---|---|
auth |
username |
Your BrowserStack username which you can find in your account settings. | Set your username | |
auth |
access_key |
Your BrowserStack access key which you can find in your account settings. | Set your access key | |
browsers |
os browser versions
|
Specify the OS where you want to run tests. Specify the browser where you want to run tests. Specify the browser version where you want to run tests. |
Name of the operating system Name of the browser Version of the browser |
|
run_settings |
nodeVersion |
Set the required node version to run your Cypress tests. Supported node versions are 14.19.1 , 16.15.0 , 18.17.0 and 20.16.0
|
N/A | |
enforce_settings |
Determines whether to fetch configurations from browserstack.json or Cypress config file. |
Cypress CLI build optimisation | ||
cypress_version |
12.latest , 11.latest , 10.latest , 9.Latest , 8.Latest , 7.Latest , 6.Latest
|
Set the required Cypress version | ||
cypress_config_file |
Absolute or relative path to the Cypress configuration file. Set as cypress.config.js for v10 and above, and cypress.json for v9 and below. |
Specify the Cypress configuration file that you want to use | ||
home_directory |
Absolute or relative path to root directory in case of multiple cypress.json files. |
Specify the root directory to avoid your test being failed | ||
specs |
An array of patterns (file paths or regexes) that match the spec files that you want to run. | Specify the spec files that you want to run | ||
spec_timeout |
Timeout value in case any spec with issues is killed and build continues. | Set the timeout duration for the spec files | ||
npm_dependencies |
List of dependent npm packages that your project requires. |
Set the npm dependencies required to run your Cypress tests | ||
exclude |
An array of patterns (file paths or regexes) to exclude files that are not required. | Specify the files you want to exclude from your tests | ||
system_env_vars |
Set and apply any system level environment variables to BrowserStack remote instances. | Define environment variables | ||
project_name build_name build_tag
|
String value to identify the project. String value to identify the build. String value to set a tag for your build. |
Set your project name Set your build name Set a build tag |
||
record record-key projectId
|
Set True to generate test recording and publish to the Cypress dashboard.record-key generated for the project that can be found on the Cypress dashboard.projectId generated for the project that can be found on the Cypress dashboard. |
Generate test results on the Cypress dashboard Record key from the Cypress dashboard Project ID from the Cypress dashboard |
||
geolocation |
Country code for the location you want to simulate. | Simulate a specific geolocation | ||
timezone |
Timezone you want to run the tests in. | Configure timezones | ||
interactiveDebugging |
Enable interactive debugging. | Debug failed tests | ||
network_logs |
Enable network logs. | Debug failed tests | ||
captureContent |
Captures the request and response payload. | Debug failed tests | ||
connection_settings |
local local_identifier local_mode local_config_file
|
Test your locally hosted website on BrowserStack. Specify a unique Local Testing connection name. Specify the local mode. Specify additional configuration parameters. |
Set up local testing | |
disable_usage_reporting |
na | Set as True by default and is used by the CLI to collect anonymized usage data. |
Enable or disable usage reporting |
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
- RESOURCES
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!