Skip to main content
Experience faster, smarter testing with BrowserStack AI Agents. See what your workflow’s been missing. Explore now!
No Result Found
Connect and get help from 7,000+ developers on our Discord community. Ask the CommunityAsk the Community

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





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 Check Circle