SuperAPI AI 工具集

browserstack

编程与开发

查看项目

更新于 10-16 07:25

技能介绍

用途:通过 BrowserStack REST API 进行跨浏览器与真实设备测试的相关操作,适合在脚本或命令行中查询计划用量、管理测试会话、上传应用与生成多浏览器截图。需已设置 BROWSERSTACK_USERNAME 与 BROWSERSTACK_ACCESS_KEY,全部请求使用 HTTP Basic 认证,通过 -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 传递凭据。

主要能力:验证凭据(GET https://api.browserstack.com/automate/plan.json,返回计划名称与并行会话用量,401 表示凭据错误);列出 Automate 支持的浏览器组合(browsers.json);列出最近构建与会话(builds.json、builds/<build-id>/sessions.json),获取单个会话详情(含 dashboard 链接、日志、视频 URL);更新会话状态为 passed/failed 并附原因;下载会话视频;删除会话;App Automate 支持列出构建、上传 .apk/.ipa(返回 bs:// 形式的 app_url 供 Appium 能力使用)、列出已上传应用;Screenshots 服务提交 URL 与目标浏览器后异步生成截图,需轮询 job 直到各浏览器 state 为 done;还可获取会话的 console、network 与 Appium 日志。

使用方式与主机区分:Automate(Selenium/Web)在 api.browserstack.com;App Automate(移动 Appium)在 api-cloud.browserstack.com;Screenshots 在 https://www.browserstack.com/screenshots。三者认证方式相同,但主机不同,不要混用。构建与会话 ID 为不透明 hashed_id 字符串;构建列表返回包装对象,需用 jq 深入提取。应用上传使用 multipart/form-data,不要用 --data-urlencode。截图 API 为异步,先提交拿 job ID 再轮询。多数列表接口用 limit 与 offset 分页,最大 limit 通常为 100。

适用场景与限制:适合以命令行或 CI 方式批量查询测试结果、清理运行中会话、上传移动应用、批量截图及拉取日志与视频。视频与日志 URL 为短时有效的签名地址,需在拿到会话记录后及时下载。并行会话数按套餐计费,启动前可先调用 plan.json 检查容量以避免 403 超限。若请求失败,可运行 zero doctor check-connector --env-name BROWSERSTACK_USERNAME 或 zero doctor check-connector --url https://api.browserstack.com/automate/plan.json --method GET 排查。具体费用、价格与更多平台限制暂未提供。