Integrate Your Test Suite with BrowserStack
Integrate BrowserStack into your test suite using the BrowserStack Node SDK — a plug-and-play solution that takes care of all the integration steps for you!
Integration steps
Install BrowserStack Node SDK
Install the BrowserStack SDK using npm
for your MochaJS based test suite for plug-and-play integration with BrowserStack.
The npx setup
command generates a browserstack.yml
file at the root location of your project with your access credentials already configured. It also adds new command(s) in your package.json
file to run tests on BrowserStack.
You can also set your credentials using the environment variables BROWSERSTACK_USERNAME
and BROWSERSTACK_ACCESS_KEY
.
Configure your browserstack.yml file
The auto-generated browserstack.yml
file situated in the root location of your project holds all the required settings to run tests on BrowserStack. Make sure to keep the turboScale
flag as true
.
Set platforms to test on
Set the browsers and devices you want to test under the platforms
object. Our config follows W3C formatted capabilities.
Platform | Browser |
---|---|
Linux | Firefox |
Linux | Chrome |
Linux | Edge |
Set number of parallel threads per platform
The parallelsPerPlatform
property determines the number of parallel threads to be executed. BrowserStack’s SDK runner selects the best strategy based on the configured value.
Example 1: If you have configured 3 platforms and set parallelsPerPlatform
as 2: a total of 6 (3 x 2) parallel threads are used on BrowserStack.
Example 2: If you have configured 1 platform and set parallelsPerPlatform
as 15: a total of 15 (1 x 15) parallel threads are used on BrowserStack.
BrowserStack reporting
You can leverage BrowserStack’s extensive reporting features using the following capabilities:
buildIdentifier | Description | Generated build name on BrowserStack dashboard |
---|---|---|
${BUILD_NUMBER} (Default) | If build is triggered locally, an incremental counter is appended. If build is triggered with CI tools, CI generated build number is appended. |
bstack-demo 1 bstack-demo CI 1395 |
${DATE_TIME} | The timestamp of run time is appended to the build. | bstack-demo 29-Nov-20:44 |
Advanced use cases for Build name
Custom formatting of build name
Prefix buildIdentifier
with desired characters, for example, #
or :
buildName: bstack-demo
buildIdentifier: '#${BUILD_NUMBER}'
Re-run tests in a build
You can re-run selected tests from a build using any of the following options:
Option 1: Set the existing build name in the BROWSERSTACK_BUILD_NAME
variable and prepend it to your test run command to re-run tests in the same build:
Linux:
BROWSERSTACK_BUILD_NAME="bstack-demo 123" npm run sample-test
Windows Powershell:
$env:BROWSERSTACK_BUILD_NAME=“bstack-demo 123”; npm run sample-test
Windows cmd:
set BROWSERSTACK_BUILD_NAME=“bstack-demo 123” && npm run sample-test
Option 2: Set the build name as a combination of buildName
and buildIdentifier
, as seen on the dashboard, and set buildIdenitifier
as null
:
buildName: bstack-demo 123
buildIdentifier: null
Option 3: Set the buildIdentifier
as the build number or time of the required build as seen on the dashboard:
buildName: bstack-demo
buildIdentifier: 123
sessionName
of your test sessions are be automatically picked from your test class/spec name. You do not need to set it manually when using the BrowserStack SDK.
Use additional debugging features
By default, BrowserStack provides prettified session logs, screenshots on every failed selenium command, and a video of the entire test. Additionally, you can enable the following features:
Use Automate Turboscale
Update BrowserStack Config file
Copy the given config into your browserstack.yml
file.
Run your test suite on BrowserStack
Your test suite is now ready to run on BrowserStack! Run the commands added under the scripts property section in the package.json
file. Here is an example command:
If you don’t see any new commands, make sure you ran npx setup
correctly or contact support for assistance.
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
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!