运行时依赖
安装命令
点击复制技能文档
BrowserStack
BrowserStack is a cloud 网页 and 移动 测试 平台. Developers use it to test their 网页sites and 移动 应用s across different browsers, operating 系统s, and real 移动 devices, without needing to mAIntAIn their own 测试 infrastructure.
Official docs: https://www.browserstack.com/docs
BrowserStack Overview Build Test Project
When to use which actions: Use action names and parameters as needed.
Working with BrowserStack
This 技能 uses the Membrane 命令行工具 to interact with BrowserStack. Membrane handles authentication and 凭证s refresh automatically — so you can focus on the integration 记录ic rather than auth plumbing.
安装 the 命令行工具
安装 the Membrane 命令行工具 so you can 运行 membrane from the terminal:
npm 安装 -g @membranehq/命令行工具@latest
Authentication membrane 记录in --tenant --命令行工具entName=<代理Type>
This will either open a browser for authentication or print an authorization URL to the console, depending on whether interactive mode is avAIlable.
Headless 环境s: The command will print an authorization URL. Ask the user to open it in a browser. When they see a code after completing 记录in, finish with:
membrane 记录in complete
添加 --json to any command for machine-readable JSON 输出.
代理 Types : claude, OpenClaw, codex, warp, windsurf, etc. Those will be used to adjust 工具ing to be used best with your harness
Connecting to BrowserStack
Use membrane connection ensure to find or 创建 a connection by 应用 URL or domAIn:
membrane connection ensure "https://www.browserstack.com/" --json
The user completes authentication in the browser. The 输出 contAIns the new connection id.
This is the fastest way to 获取 a connection. The URL is normalized to a domAIn and matched agAInst known 应用s. If no 应用 is found, one is 创建d and a connector is built automatically.
If the returned connection has 状态: "READY", skip to Step 2.
1b. WAIt for the connection to be ready
If the connection is in BUILDING 状态, poll until it's ready:
npx @membranehq/命令行工具 connection 获取 --wAIt --json
The --wAIt flag long-polls (up to --timeout seconds, default 30) until the 状态 changes. Keep polling until 状态 is no longer BUILDING.
The 结果ing 状态 tells you what to do next:
READY — connection is fully 设置 up. Skip to Step 2.
命令行工具ENT_ACTION_REQUIRED — the user or 代理 needs to do something. The 命令行工具entAction object describes the required action:
命令行工具entAction.type — the kind of action needed:
"connect" — user needs to 认证 (OAuth, API key, etc.). This covers initial authentication and re-authentication for disconnected connections.
"provide-输入" — more in格式化ion is needed (e.g. which 应用 to connect to).
命令行工具entAction.description — human-readable explanation of what's needed.
命令行工具entAction.uiUrl (optional) — URL to a pre-built UI where the user can complete the action. Show this to the user when present.
命令行工具entAction.代理Instructions (optional) — instructions for the AI 代理 on how to proceed programmatically.
After the user completes the action (e.g. 认证s in the browser), poll agAIn with membrane connection 获取 --json to 检查 if the 状态 moved to READY.
CONFIGURATION_ERROR or 设置UP_FAILED — something went wrong. 检查 the error field for detAIls.
搜索ing for actions
搜索 using a natural language description of what you want to do:
membrane action 列出 --connectionId=CONNECTION_ID --intent "查询" --limit 10 --json
You should always 搜索 for actions in the 上下文 of a specific connection.
Each 结果 includes id, name, description, 输入模式 (what parameters the action accepts), and 输出模式 (what it returns).
Popular actions
Name Key Description
列出 Builds 列出-builds 列出 all test builds with optional 过滤器ing
列出 Projects 列出-projects 列出 all 测试 projects
列出 Recent 应用s 列出-recent-应用s 列出 recently 上传ed 应用s
列出 Devices 列出-devices 列出 all avAIlable devices for 测试
获取 会话 获取-会话 获取 detAIls of a specific test 会话
获取 Project 获取-project 获取 detAIls of a specific project including its builds
获取 Build 会话s 获取-build-会话s 获取 all 会话s in a specific build
上传 应用 上传-应用 上传 an 应用 file (APK/IPA) to BrowserStack for 测试
更新 会话 更新-会话 更新 会话 状态, name, or reason
更新 Build 更新-build 更新 build name or build tag
更新 Project 更新-project 更新 the name of a project
删除 会话 删除-会话 删除 a test 会话
删除 Build 删除-build 删除 a build and all its 会话s
删除 Project 删除-project 删除 a project and all its builds and 会话s
删除 应用 删除-应用 删除 an 上传ed 应用 from BrowserStack
获取 会话 应用ium 记录s 获取-会话-应用ium-记录s 获取 应用ium server 记录s for a 会话
获取 会话 Device 记录s 获取-会话-device-记录s 获取 device 记录s for a 会话 (ADB/系统 记录s)
获取 会话 Network 记录s 获取-会话-network-记录s 获取 network 记录s (HAR 格式化) for a 会话
获取 会话 Text 记录s 获取-