You can start a new test either from the Quick Start page or the Load Tests page on the Load testing dashboard.
On the dashboard, click Create Load Test.
Enter a Test Name for your load test, select Hybrid and click Upload scripts
Upload your scripts
The product runs a hybrid test using JMeter and Selenium automation projects. JMeter is used to generate API-level load, and Selenium drives browser-level load to simulate real user interactions.
You see two sections:
JMeter Script: Upload your JMeter .jmx file (up to 50MB). Drag and drop your file or click to select it.
Automation Project: Select Selenium - TestNG from the dropdown as your automation framework. Then, upload your zipped project files (.zip up to 250MB). Drag and drop the file or click to select it.
Both fields are mandatory for their respective test types. After uploading, click Configure Load to proceed to the next step.
You can also run load tests using the sample scripts if you want to try out the feature before uploading your own files.
You can configure the following load parameters to customize your load test:
Run the following command from the root directory of your test project to generate the browserstack-load.yml file, which contains the configuration required to define and run your load test:
Refer to the given table to use the framework - language combination argument depending on your preference:
Framework
Argument
Selenium - TestNG
--framework jmeter testng --language java
Selenium - JUnit
--framework jmeter junit --language java
Selenium - Java
--framework jmeter selenium --language java
Selenium - Serenity
--framework serenity-cucumber --language java
Configure your Load Test
Open the generated browserstack-load.yml file and update it with the relevant test details. Here’s a sample configuration:
Specify the tests
The tests block defines the combination of test types you want to run as part of a hybrid load test. Specify Selenium as the testType for one sub-block and JMeter for another.
For the Selenium sub-block,
browserLoadPercent - Specify the percentage of total virtual users to be allocated for Selenium tests.
language - Set this to java.
framework - Set this to testng or cucumber-testng depending on your framework.
files - Define the key files needed to install dependencies and identify which tests to execute.
Under dependencies, include the path to files required for environment setup. For Maven projects, this is typically pom.xml.
Under testConfigs, provide the path to your testng.xml.
For the JMeter sub-block,
apiLoadPercent - Specify the percentage of total virtual users to be allocated for JMeter tests.
testScripts - Set the path to the .jmx file.
Set reporting structure
Use projectName to group related tests under the same project on the dashboard. Use testName to group multiple runs of the same test.
Both projectName and testName must remain consistent across different runs of the same test.
You can use the following characters in projectName and testName:
Letters (A–Z, a–z)
Digits (0–9)
Periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), at signs (@), ampersands (&), single quotes ('), and underscores (_)
All other characters are ignored.
You can configure the following load parameters to customize your load test:
You can start a new test either from the Quick Start page or the Load Tests page on the Load testing dashboard.
On the dashboard, click Create Load Test.
Enter a Test Name for your load test, select Hybrid and click Upload scripts
Upload your scripts
The product runs a hybrid test using k6 and Selenium automation projects. k6 is used to generate API-level load, and Selenium drives browser-level load to simulate real user interactions.
You see two sections:
k6 Script: Upload your k6 .js file (up to 50MB). Drag and drop your file or click to select it.
Automation Project: Select Selenium - TestNG from the dropdown as your automation framework. Then, upload your zipped project files (.zip up to 250MB). Drag and drop the file or click to select it.
Both fields are mandatory for their respective test types. After uploading, click Configure Load to proceed to the next step.
You can also run load tests using the sample scripts if you want to try out the feature before uploading your own files.
You can configure the following load parameters to customize your load test:
Run the following command from the root directory of your test project to generate the browserstack-load.yml file, which contains the configuration required to define and run your load test:
Refer to the given table to use the framework - language combination argument depending on your preference:
Framework
Argument
Selenium - TestNG
--framework k6 testng --language java
Selenium - JUnit
--framework k6 junit --language java
Selenium - Java
--framework k6 selenium --language java
Selenium - Serenity
--framework serenity-cucumber --language java
Configure your Load Test
Open the generated browserstack-load.yml file and update it with the relevant test details. Here’s a sample configuration:
Specify the tests
The tests block defines the combination of test types you want to run as part of a hybrid load test. Specify Selenium as the testType for one sub-block and k6 for another.
For the Selenium sub-block,
browserLoadPercent - Specify the percentage of total virtual users to be allocated for Selenium tests.
language - Set this to java.
framework - Set this to testng or cucumber-testng depending on your framework.
files - Define the key files needed to install dependencies and identify which tests to execute.
Under dependencies, include the path to files required for environment setup. For Maven projects, this is typically pom.xml.
Under testConfigs, provide the path to your testng.xml.
For the k6 sub-block,
apiLoadPercent - Specify the percentage of total virtual users to be allocated for k6 tests.
testScripts - Set the path to the .js file.
Set reporting structure
Use projectName to group related tests under the same project on the dashboard. Use testName to group multiple runs of the same test.
Both projectName and testName must remain consistent across different runs of the same test.
You can use the following characters in projectName and testName:
Letters (A–Z, a–z)
Digits (0–9)
Periods (.), colons (:), hyphens (-), square brackets ([]), forward slashes (/), at signs (@), ampersands (&), single quotes ('), and underscores (_)
All other characters are ignored.
You can configure the following load parameters to customize your load test: