Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Run tests on BrowserStack. Use when user mentions "browserstack", "cross-browser", "cloud testing", "browser matrix", "test on safari", "test on firefox", or "browser compatibility".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 56% | 0% |
Run Playwright tests on BrowserStack's cloud grid for cross-browser and cross-device testing.
Environment variables must be set:
BROWSERSTACK_USERNAME — your BrowserStack usernameBROWSERSTACK_ACCESS_KEY — your access keyIf not set, inform the user how to get them from browserstack.com/accounts/settings and stop.
/pw:browserstack setupSteps:
playwright.config.tstypescript// Add to playwright.config.ts import { defineConfig } from '@playwright/test'; const isBS = !!process.env.BROWSERSTACK_USERNAME; export default defineConfig({ // ... existing config projects: isBS ? [ { name: "chromelatestwindows-11", use: { connectOptions: { wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({ 'browser': 'chrome', 'browser_version': 'latest', 'os': 'Windows', 'os_version': '11', 'browserstack.username': process.env.BROWSERSTACK_USERNAME, 'browserstack.accessKey': process.env.BROWSERSTACK_ACCESS_KEY, }))}`, }, }, }, { name: "firefoxlatestwindows-11", use: { connectOptions: { wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({ 'browser': 'playwright-firefox', 'browser_version': 'latest', 'os': 'Windows', 'os_version': '11', 'browserstack.username': process.env.BROWSERSTACK_USERNAME, 'browserstack.accessKey': process.env.BROWSERSTACK_ACCESS_KEY, }))}`, }, }, }, { name: "webkitlatestos-x-ventura", use: { connectOptions: { wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({ 'browser': 'playwright-webkit', 'browser_version': 'latest', 'os': 'OS X', 'os_version': 'Ventura', 'browserstack.username': process.env.BROWSERSTACK_USERNAME, 'browserstack.accessKey': process.env.BROWSERSTACK_ACCESS_KEY, }))}`, }, }, }, ] : [ // ... local projects fallback ], });
"test:e2e:cloud": "npx playwright test --project='chrome@*' --project='firefox@*' --project='webkit@*'"/pw:browserstack runSteps:
bash BROWSERSTACK_USERNAME=$BROWSERSTACK_USERNAME \ BROWSERSTACK_ACCESS_KEY=$BROWSERSTACK_ACCESS_KEY \ npx playwright test --project='chrome@*' --project='firefox@*'
/pw:browserstack resultsSteps:
browserstack_get_builds MCP tool/pw:browserstack browsersSteps:
browserstack_get_browsers MCP tool/pw:browserstack localFor testing localhost or staging behind firewall:
npm install -D browserstack-local| Tool | When | |---|---| | browserstack_get_plan | Check account limits | | browserstack_get_browsers | List available browsers | | browserstack_get_builds | List recent builds | | browserstack_get_sessions | Get sessions in a build | | browserstack_get_session | Get session details (video, logs) | | browserstack_update_session | Mark pass/fail | | browserstack_get_logs | Get text/network logs |
Other measured skills in the registry, with their headline benchmark lift.