Fast headless Chromium (~100ms/command) for QA testing, site dogfooding and end-to-end automation with screenshots, diffs, and assertions.
说明:
## 核心用法
gstack 是一个基于持久化 headless Chromium 的浏览器自动化工具,专为 QA 测试和站点验证设计。首次启动约 3 秒,后续每条命令仅 100-200ms。通过 `$B ` 调用已编译二进制文件,支持导航、表单交互、元素断言、截图对比、响应式布局测试等完整工作流。
**关键命令:**
– `goto` / `snapshot` / `screenshot` — 导航与页面捕获
– `snapshot -i` — 生成交互元素索引(@e1, @e2 等),后续可用 `@eN` 直接操作
– `snapshot -D` — diff 对比,验证操作前后变化
– `is visible/enabled/checked` — 状态断言
– `fill` / `click` / `upload` / `select` — 表单与文件交互
– `responsive` — 一键生成移动端/平板/桌面三尺寸截图
– `chain` — JSON 管道批量执行,适合长流程
## 显著优点
– **极速**:~100ms/命令,远超传统 Puppeteer/Playwright 脚本
– **状态持久**:cookies、登录会话、标签页跨调用保留
– **智能索引**:`snapshot -i` 自动生成可引用编号,告别脆弱 CSS 选择器
– **内置断言**:`is` 命令直接验证元素状态,无需解析文本
– **证据链完整**:标注截图 + diff + 控制台日志,Bug 报告一站式产出
– **响应式测试**:内置 viewport 切换和多尺寸截图
– **真实浏览器 cookies**:支持从 Chrome/Arc/Brave/Edge 直接导入登录态
## 潜在缺点与局限
– **初始构建依赖**:首次使用需 `bun` 环境和 ~10 秒编译
– **CLI 而非代码**:适合快速验证,复杂逻辑需配合 `chain` 或外部脚本
– **无录制回放**:相比 Playwright codegen,需手动编写命令序列
– **单会话限制**:30 分钟闲置自动关闭,超长测试需设计断点
– **dialog 默认自动接受**:虽防锁死,但可能错过关键确认交互的测试覆盖
## 适合人群
– 需要快速验证部署的前端/全栈开发者
– 负责回归测试的 QA 工程师
– 需要截图证据提交 Bug 的产品或设计人员
– 进行站点 dogfooding 的团队成员
## 常规风险
– **敏感信息泄露**:`header` 命令虽自动脱敏,但截图和 HTML 导出仍可能含 PII
– **生产环境误操作**:自动化点击/填写可能触发真实订单或删除,建议在 staging 执行
– **Cookie 同步风险**:从真实浏览器导入 cookies 可能携带未预期的登录态或追踪标识
– **JS 执行安全**:`js` 和 `eval` 命令直接执行页面上下文代码,需警惕 XSS 测试场景下的双向风险








