Supported frameworks, versions, and limits
Check which frameworks and versions BrowserStack Load Testing supports for browser, API, and hybrid tests, and the limits that apply to each test.
Use this page to confirm that your existing test scripts can run on BrowserStack Load Testing before you set up a test. It also lists the default limits on load, duration, configuration, and uploads, so you can plan a test that fits within them.
Supported frameworks
The following table lists the frameworks you can use, the load test types each one supports, and their supported versions:
| Framework | Load test types | Language or format | Supported versions |
|---|---|---|---|
| Playwright | Browser and hybrid | JavaScript or TypeScript on Node.js 24 | 1.58, 1.59, 1.60, 1.61, and 1.62 |
| Playwright with Robot Framework | Browser and hybrid | Python 3.x | 1.58, 1.59, 1.60, 1.61, and 1.62 |
| Selenium Java, JUnit, TestNG, and Cucumber with TestNG | Browser and hybrid | Java on JDK 21 | Selenium WebDriver 3.11, 3.14, 3.141, and 4.x up to 4.25 |
| Selenium Serenity with Cucumber | Browser and hybrid | Java on JDK 17 | Selenium WebDriver 3.11, 3.14, 3.141, and 4.x up to 4.25 |
| Selenium Python and Pytest | Browser and hybrid | Python 3.x | Selenium WebDriver 3.11, 3.14, 3.141, and 4.x up to 4.25 |
| Selenium Jest | Browser and hybrid | JavaScript on Node.js 21 | Selenium WebDriver 3.11, 3.14, 3.141, and 4.x up to 4.25 |
| WebdriverIO | Browser and hybrid | JavaScript on Node.js 24 | 9.29 is recommended. All versions that support Node.js 24 work. |
| Nightwatch | Browser and hybrid | JavaScript on Node.js 24 | 3.16 is recommended. All versions that support Node.js 24 work. |
| JMeter | API and hybrid | JMeter test plan (.jmx) |
5.6.3 |
| k6 | API and hybrid | JavaScript (.js) or TypeScript (.ts) |
2.2.0 |
| Gatling | API | Scala, Java, or Kotlin | 3.10.5, bundled with BrowserStack |
| Locust | API | Python, for example locustfile.py
|
2.32.4 |
| API collections | API and hybrid | Requestly collection, created in Requestly or imported from Postman, a HAR file, or another supported format | N/A |
BrowserStack supports all Selenium 4.x versions. The versions in the table are the ones recommended for load tests.
A hybrid load test pairs a browser framework with JMeter, k6, or an API collection in the same run. For setup steps for each combination, see Hybrid load testing.
Limits
The following limits apply to your load tests. To raise the limit on tests per month, test duration, VUs per test, engine count, or load zones, contact our technical support team.
Test limits
These limits control how much load a test can generate and how long it can run:
| Limit | Default value |
|---|---|
| Tests per month | 10. The quota resets every 30 days, starting from the day you run your first test, in UTC. |
| Test duration | 20 minutes per test |
| VUs per test | 100 |
| VUs per engine | 1,000 per API load test |
| Engine count | 1 to 10 engines per API load test |
| Load zones | 5 regions across North America, Europe, and Asia |
| VU Hours billing | Minimum of 5 minutes per test |
Configuration limits
These limits apply to the settings you configure for a single load test:
| Setting | Limit |
|---|---|
| Scenarios | 10 per browser or hybrid test |
| Spikes in the Spike VUs load profile | 10 per test |
| Duration for the Throughput load profile | Minimum of 10 seconds |
| Thresholds | 30 per test |
| Environment variables | 20 key-value pairs per test, masked and unmasked combined. Each uploaded .env file can be up to 5 MB. |
| DNS overrides | 20 per run. Each hostname can be up to 253 characters. |
| Excluded domains | 10 per test. Each domain can be up to 200 characters. |
| Captured response bodies | 20 per run. You can exclude up to 10 endpoints from capture. |
| Custom run flags | 4,096 characters in a single line |
| k6 tags | 64 characters per tag |
| Test name | 255 characters |
Test data limits
These limits apply to the files in your Test Data Library:
| Limit | Value |
|---|---|
| Test Data references per load test | 15. Requestly load tests support 1 file. |
| Test Data files per project | 50 |
| File size | 50 MB per file |
| Columns | 100 per file |
| Project storage | 2 GB |
| Group storage | 8 GB |
For details, see Test data.
Upload limits
These limits apply to the script files and archives you upload:
| Upload | Limit |
|---|---|
| Browser project zip | 250 MB |
| JMeter, k6, or Locust project zip | 100 MB |
| JMeter or k6 script in a hybrid test | 50 MB |
| Gatling project zip | 100 MB |
| LoadRunner script zip | 500 MB |
| LoadRunner TruClient script folder | 250 MB per script. A batch upload can hold up to 50 scripts and 500 MB. |
| NeoLoad project zip | 500 MB |
API rate limits
These limits apply to calls you make to the Load Testing API:
| Limit | Default value |
|---|---|
| Requests per minute | 100 per user, subject to your plan |
| Concurrent requests | 10 per user |
What’s next
- Get started with browser load testing
- Get started with API load testing
- Get started with hybrid load testing
- Learn how VU Hours are calculated
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!