Test websites and mobile apps on 3,500+ real devices and browsersβdirectly from Cursor using natural language. No context switching and very easy to setup.
Test anywhere, from anywhere
- Open your localhost app on an iPhone 15 Pro Max
- Test your website on Safari 17 without owning a Mac
- Debug app crashes on Android 14 in real-time
- Run Playwright tests on 50+ browser/OS combinations
Stay in your flow
- Ask in plain English: "Test my site on Edge"
- Get instant access to real devices
- Debug failed tests without leaving Cursor
- Fix accessibility issues with AI suggestions
Automate everything
- Run test suites on BrowserStack infrastructure
- Generate test cases from product requirements
- Auto-heal flaky tests with AI
- Manage test cases and track results
You need Node.js version 18 or higher (we recommend v22.15.0 LTS).
Check your version:
node --versionIf you need to install or update:
- macOS:
brew update && brew upgrade nodeor download here - Windows: Download from nodejs.org
-
Sign up at browserstack.com/users/sign_up
- Free trial available, no credit card required
- Open source projects get free access
-
Get your credentials from Account Settings
- You'll need your
UsernameandAccess Key - Keep these handy for the next step
- You'll need your
-
Install from Cursor Marketplace (or manually)
-
Add your credentials to your environment:
On macOS/Linux:
# Open your shell profile nano ~/.zshrc # or ~/.bashrc if you use bash # Add these lines at the end (replace with your actual credentials) export BROWSERSTACK_USERNAME="your_username_here" export BROWSERSTACK_ACCESS_KEY="your_access_key_here" # Save and reload source ~/.zshrc
On Windows (PowerShell):
# Open PowerShell profile notepad $PROFILE # Add these lines $env:BROWSERSTACK_USERNAME="your_username_here" $env:BROWSERSTACK_ACCESS_KEY="your_access_key_here"
-
Restart Cursor to activate the plugin
-
Verify installation by asking Cursor:
"Open google.com on Chrome"
β That's it! You're ready to test.
Testing your local development site on different browsers:
π¬ "Open my website running on localhost:3000 on Safari 17"
π¬ "Test localhost:8080 on the latest Chrome on Windows 11"
π¬ "Open my site on Firefox on macOS"
π¬ "Take a screenshot of this page"
Use case: You're developing a feature and need to check if it works on Safari, but you're on Windows.
Pro tip: If you find a visual bug, use the Visual Issue Fix skill to get browser-specific fixes.
Test your mobile app on real devices:
π¬ "Open my app on iPhone 15 Pro Max"
(Cursor will ask for your .ipa or .apk file path)
π¬ "Test my app on Galaxy S24 with Android 14"
π¬ "My app crashes on iOS 17 when I tap the login button, help me debug"
Use case: You don't have physical access to an iPhone 15 Pro Max but need to verify the login flow works.
Run your existing test suite on BrowserStack:
π¬ "Setup my Playwright tests to run on BrowserStack"
π¬ "Run my tests on Chrome, Firefox, and Safari"
π¬ "My test suite failed on BrowserStack session abc123, help me debug"
Workflow example:
- You: "Setup my Playwright tests to run on BrowserStack"
- Cursor updates your config files automatically
- You: "Run my tests on Chrome and Edge"
- BrowserStack runs your tests, Cursor shows you results
- If tests fail: "Help me debug the failures"
Catch accessibility issues before production (uses Accessibility Fix skill):
π¬ "Scan accessibility issues on localhost:3000"
π¬ "Fix accessibility problems on my checkout page"
π¬ "Check WCAG 2.1 AA compliance for my signup form"
Use case: You want to ensure your signup form is accessible before deploying.
What happens: The skill scans your page, identifies violations, provides specific code fixes, and verifies after you implement them.
Organize and track your testing:
π¬ "Create a Test Management project called 'Payment Flow'"
π¬ "Add a test case: Verify credit card payment with invalid CVV"
π¬ "List all high priority test cases in Payment Flow"
π¬ "Create a test run for smoke tests"
π¬ "Mark test case TC-123 as passed"
Workflow example:
- Create project structure
- Add test cases as you develop features
- Create test runs before releases
- Track results and generate reports
Generate test cases from requirements (uses Test Case Generator agent):
π¬ @test-case-generator
[Attach your PRD file]
"Generate test cases for project PR-12345"
π¬ @test-case-generator
"Create test cases for checkout flow with credit card and PayPal"
"Add to project PR-67890"
Auto-heal flaky tests:
π¬ "My login test keeps failing because the button selector changed. Fix it with self-healing."
π¬ "Get self-healed selectors for session session_abc123"
Convert manual tests to automation:
π¬ "Convert my manual test case TC-45 into a Playwright script"
The plugin includes specialized workflows and AI agents to streamline common testing tasks.
What it does: Scans your page for WCAG violations, identifies issues, and provides code fixes.
When to use: Before deployment, fixing accessibility bugs, ensuring compliance.
Sample commands:
π¬ "Scan accessibility issues on localhost:3000"
π¬ "Fix the accessibility problems on my checkout page"
π¬ "Check WCAG 2.1 AA compliance for localhost:8080/signup"
Workflow:
- Runs accessibility scan on your page
- Categorizes issues (Critical/High/Medium)
- Provides specific code fixes for each issue
- Re-scans after you implement fixes to verify
Example fix output:
<!-- Missing form label fix -->
<!-- Before -->
<input type="email" placeholder="Email">
<!-- After -->
<label for="email">Email Address</label>
<input type="email" id="email" aria-required="true">What it does: Captures screenshots across browsers, identifies visual bugs, and provides CSS fixes.
When to use: Cross-browser layout issues, responsive design bugs, visual regressions.
Sample commands:
π¬ "My navigation is broken in Safari, help me fix it"
π¬ "Compare how my homepage looks on Chrome vs Firefox"
π¬ "Fix the layout issue on Safari for localhost:3000"
Workflow:
- Opens page on target browsers
- Captures screenshots for comparison
- Identifies visual differences
- Provides browser-specific CSS fixes
- Validates fix doesn't break other browsers
Example fix output:
/* Safari flexbox gap issue fix */
/* Before */
.container {
display: flex;
gap: 20px;
}
/* After - Works everywhere */
.container {
display: flex;
}
.container > * {
margin-right: 20px;
}What it does: Generates comprehensive test cases from requirements, user stories, or PRD documents using BrowserStack AI.
When to use: Planning new features, creating test suites, converting requirements to test cases.
Sample commands:
π¬ @test-case-generator
[Add your PRD file or requirements document to context]
"Generate test cases for Test Management project PR-12345"
π¬ @test-case-generator
"Create test cases for a login feature with email and Google OAuth"
"Add them to project PR-54321"
Workflow:
- Invoke agent with
@test-case-generator - Add requirements file to context (or describe feature)
- Provide your Test Management project ID (format:
PR-12345) - Agent generates structured test cases
- Test cases are added to your BrowserStack Test Management project
What you get:
- Test case title and description
- Priority level (Critical/High/Medium/Low)
- Preconditions
- Step-by-step test steps
- Expected results
- Appropriate tags (@smoke, @regression, @p0, etc.)
Example interaction:
You: @test-case-generator
[Attach: login-feature-spec.pdf]
"Generate test cases for project PR-12345"
Agent: I'll generate comprehensive test cases for your login feature.
Test cases generated:
β TC-001: Login - Valid Credentials - Success (@smoke, @p0)
β TC-002: Login - Invalid Password - Error (@regression, @p1)
β TC-003: Login - Google OAuth - Success (@smoke, @p0)
β TC-004: Login - Empty Fields - Validation (@regression, @p2)
Added 4 test cases to Test Management project PR-12345
Scenario: Users report a broken layout on Safari.
π¬ "Open localhost:3000/dashboard on Safari 17 on macOS Sonoma"
β BrowserStack opens a real Safari session
β You see the layout is indeed broken
π¬ "Take a screenshot of this page"
β Screenshot saved to your project
π¬ "Now open the same page on Chrome to compare"
β Opens Chrome session
β Layout works fine
π¬ "What CSS properties might cause this Safari-specific issue?"
β Cursor analyzes your code and suggests the problem
Scenario: Your iOS app crashes on launch for some users.
π¬ "Open my app on iPhone 14 with iOS 16"
(Provide path: /Users/me/builds/app-v2.1.ipa)
β App launches successfully
π¬ "Try on iPhone 15 with iOS 17"
β App crashes!
π¬ "Get the crash logs for this session"
β Cursor retrieves logs
π¬ "Analyze these crash logs and suggest a fix"
β Cursor identifies the issue and suggests code changes
Scenario: Your CI pipeline shows test failures on BrowserStack.
π¬ "My Automate build 'feature-branch-123' has 3 failed tests. What went wrong?"
β Cursor fetches error logs and screenshots
π¬ "Show me screenshots from the failed tests"
β Screenshots displayed
π¬ "The login button selector seems wrong. Update my test file with the correct selector."
β Cursor updates your test file
π¬ "Re-run the tests"
β Tests pass β
Manual Testing
- Test websites on any browser/OS combination
- Test mobile apps on 3,500+ real devices
- Access localhost from cloud devices (no deployment needed)
Automated Testing
- Run Playwright, Selenium, Cypress, and more
- Parallel test execution across browsers
- Get screenshots, videos, and logs automatically
Test Management
- Create and organize test cases
- Track test execution and results
- Generate test reports
Accessibility Testing
- WCAG 2.0/2.1/2.2 compliance scanning
- AI-powered fix suggestions
- Local and production site scanning
AI-Powered Features
- Generate test cases from requirements documents
- Auto-heal flaky test selectors
- Convert manual tests to automation
- Intelligent failure analysis and debugging
Plugin not responding?
- Verify your credentials are set correctly:
echo $BROWSERSTACK_USERNAME - Restart Cursor after adding credentials
- Check Node.js version:
node --version(need 18+)
"Authentication failed" error?
- Double-check your username and access key from Account Settings
- Make sure there are no extra spaces in your environment variables
Can't access localhost?
- This works automatically! Just use
localhost:PORTin your prompts - BrowserStack creates a secure tunnel to your local machine
Behind a corporate firewall?
- Contact your IT team to allowlist BrowserStack domains
- Or ask us about enterprise firewall configurations
- Issues with the plugin: Open a GitHub issue
- BrowserStack platform questions: Contact Support
- Documentation: BrowserStack Docs
- Free Trial: Test drive with limited minutes
- Open Source: Free for qualifying projects (apply here)
- Paid Plans: From $29/month for individuals, custom enterprise pricing
See pricing details