关于 browserstack
用于配置 Playwright 并在 BrowserStack 云端网格运行测试、查看各浏览器结果的技能,适合需要跨浏览器和设备测试的团队。BrowserStack MCP 服务需手动注册,之后相关命令和工具才能使用。
主要功能
- 01配置 Playwright 以连接 BrowserStack
- 02在多个浏览器项目中运行测试
- 03查看构建和会话结果
- 04列出兼容的浏览器与操作系统
- 05通过隧道设置本地测试
适用场景
- 01在云端浏览器运行 Playwright 测试套件
- 02查看会话视频和日志
- 03测试防火墙后的 localhost
MCP 相关
使用 BrowserStack MCP 工具检查套餐和浏览器可用性、获取构建与会话、更新会话状态及读取日志。该服务不会自动注册,必须手动配置。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill browserstack安装后在 Claude Code 中输入/browserstack确认已加载。
详细介绍
BrowserStack 集成
在 BrowserStack 云端网格上运行 Playwright 测试,进行跨浏览器和跨设备测试。
前提条件
必须设置环境变量:
BROWSERSTACK_USERNAME— 你的 BrowserStack 用户名BROWSERSTACK_ACCESS_KEY— 你的访问密钥
如果未设置,请告知用户如何从 browserstack.com/accounts/settings 获取these,并停止操作。
BrowserStack MCP 服务未自动注册(issue #978)。
pw-browserstack已从插件的.mcp.json中移除,因为它对所有用户都无法连接(插件不包含node_modules)。下文使用的browserstack_*MCP 工具以及/pw:browserstack命令,在手动启用之前都会因“tool not found”而失败,具体参见插件CLAUDE.md中的 Integrations 部分(cd integrations/browserstack-mcp && npm install,然后在你自己的用户/项目 MCP 配置中注册该服务)。仅设置环境变量是不够的。
功能
1. 配置 BrowserStack
/pw:browserstack setup
步骤:
- 检查当前的
playwright.config.ts - 添加 BrowserStack connect 选项:
// 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
],
});
- 添加 npm 脚本:
"test:e2e:cloud": "npx playwright test --project='chrome@*' --project='firefox@*' --project='webkit@*'"
2. 在 BrowserStack 上运行测试
/pw:browserstack run
步骤:
- 验证凭据已设置
- 使用 BrowserStack 项目运行测试:
BROWSERSTACK_USERNAME=$BROWSERSTACK_USERNAME \ BROWSERSTACK_ACCESS_KEY=$BROWSERSTACK_ACCESS_KEY \ npx playwright test --project='chrome@*' --project='firefox@*' - 监控执行过程
- 按浏览器报告结果
3. 获取构建结果
/pw:browserstack results
步骤:
- 调用
browserstack_get_buildsMCP 工具 - 获取最新构建的会话
- 对每个会话:
- 状态(通过/失败)
- 浏览器和操作系统
- 持续时间
- 视频 URL
- 日志 URL
- 整理为汇总表格
4. 检查可用浏览器
/pw:browserstack browsers
步骤:
- 调用
browserstack_get_browsersMCP 工具 - 筛选兼容 Playwright 的浏览器
- 显示可用的浏览器/操作系统组合
5. 本地测试
/pw:browserstack local
用于测试位于防火墙后的 localhost 或预发布环境:
- 安装 BrowserStack Local:
npm install -D browserstack-local - 在配置中添加本地隧道
- 提供设置说明
使用的 MCP 工具
| 工具 | 使用时机 |
|---|---|
browserstack_get_plan | 检查账户限制 |
browserstack_get_browsers | 列出可用浏览器 |
browserstack_get_builds | 列出最近的构建 |
browserstack_get_sessions | 获取构建中的会话 |
browserstack_get_session | 获取会话详情(视频、日志) |
browserstack_update_session | 标记通过/失败 |
browserstack_get_logs | 获取文本/网络日志 |
输出
- 跨浏览器测试结果表格
- 每个浏览器的通过/失败状态
- 指向 BrowserStack 仪表板视频/截图的链接
- 高亮显示特定浏览器的失败项
评论
支持 Markdown