Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
log
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,18 @@
# browserstack-webdriverio-load-testing-sample
Sample repository for WebdriverIO load-testing test
This repo contains samples for running [WebdriverIO](https://webdriver.io/) tests on BrowserStack using the browserstack-node-sdk.

![BrowserStack Logo](https://d98b8t1nnulk5.cloudfront.net/production/images/layout/logo-header.png?1469004780)

## Setup

* Clone the repo `git clone https://github.com/browserstack/browserstack-webdriverio-load-testing-sample.git`.
* Set `BROWSERSTACK_USERNAME` and `BROWSERSTACK_ACCESS_KEY` as environment variables with your [BrowserStack Username and Access Key](https://www.browserstack.com/accounts/settings)
* Run `npm i` to install the dependencies.
* Open the browserstack-load.yaml file and update it with the relevant load test configurations.

## Running your tests

- Run the given command to start your test: `npx browserstack-cli load run`.

## Notes
* You can view your test results on the [BrowserStack Load Testing dashboard](https://load.browserstack.com)
61 changes: 61 additions & 0 deletions browserstack-load.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# =============================
# Set BrowserStack Credentials
# =============================
# Add your BrowserStack userName and accessKey here or set BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY as env variables.
userName: BROWSERSTACK_USERNAME
accessKey: BROWSERSTACK_ACCESS_KEY

# ======================
# BrowserStack Reporting
# ======================
# The following parameters are used to set up reporting on BrowserStack Load Testing:
# Set 'projectName' to the name of your project. Example: 'Product ABC'. Tests under the same projectName will be grouped together.
projectName: Default Project

# Set 'testName' to the name of your test. Example: 'First Load Test'. Test runs with the same testName will be grouped together.
testName: Default Test

# ======================
# Set Load Configuration
# ======================
# The following parameters are used to set load configuration for your test:
# Set 'testType' to the type of load test that you want to execute. Example:'Playwright', 'Selenium'. This is a required parameter.
testType: WebdriverIO

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MihirR-BS What is the value that needs toe be passed here?
WebdriverIO or Webdriverio (coming from this thread)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can have it like anything unless it means webdriverio since we are doing smallcase and sending it to BE

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the thread you're referring to is about the dashboard
where in we show testtype in results page


# Set 'vus' to the maximum number of virtual users to simulate during the test.
vus: 2

# Set 'duration' to the total duration of the entire test, in minutes and seconds. The test will run infinite iterations until the duration is met. Example: '2m', '3m 40s'. This is not a required parameter.
duration: 1m

# Set multiple regions from which you would want to generate the load (percent should total 100 across all loadzones).
regions:
- loadzone: eu-central-1
percent: 100

# Set language to the programming language used in your project. Example: 'java', 'nodejs'.
# language: nodejs

# Set framework to the test framework used in your Selenium project. Example: 'testng'.
# framework: testng

# Add list of file paths under 'dependencies' to help set up the test environment by installing required packages. Example: path to 'pom.xml' for Java projects using Maven, path to 'package.json' for Node.js projects.
# Add list of file paths under 'testConfigs' to define which configuration files should be used to run tests. Example: path to 'playwright.config.ts' for Playwright (Node.js), path to 'testng.xml' for Selenium (TestNG).
files:
dependencies:
- package.json
testConfigs:
- wdio.conf.js

# Specify environment variables in the following manner.
# env:
Copy link

@VaishaliYadavBrowserStack VaishaliYadavBrowserStack Sep 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the new env structure:

Screenshot 2025-09-22 at 12 50 43 PM

# sources:
# - path/to/env/file
# env:
# - name: variable1
# value: value1
# - name: variable2
# value: value2

# Set 'headless' to false to run tests in headful mode. This option is supported only when testType is set to WebdriverIO or Playwright.
headless: false
Loading