SuperAPI AI 工具集

web-qa-bot

测试与质量

查看项目

更新于 10-16 09:39

技能介绍

web-qa-bot 是一个基于无障碍树(accessibility-tree)的 AI 网页应用 QA 自动化技能。它使用浏览器无障碍树来进行可靠的元素检测,而不是脆弱的 CSS 选择器。

【用途】 本技能为 Web 应用提供自动化 QA 测试工具,覆盖冒烟测试、测试套件运行和报告生成等环节,可用于部署前检查、生产环境健康检查和回归监控。

【安装】 npm install -g web-qa-bot agent-browser agent-browser install

【主要能力】

快速冒烟测试: web-qa-bot smoke https://example.com 执行基础健康检查,包括:页面成功加载、无控制台错误、导航元素存在、图片具有 alt 文本。

运行测试套件: web-qa-bot run ./tests/suite.yaml --output report.md

生成 PDF 报告: web-qa-bot report ./results.json -o report.pdf -f pdf

支持的报告格式:

  • Markdown:默认格式,便于人工阅读
  • PDF:通过 ai-pdf-builder 生成的专业报告
  • JSON:面向 CI/CD 的机器可读格式

【使用方式】

  1. 快速站点健康检查: web-qa-bot smoke https://app.example.com --checks pageLoad,consoleErrors,navigation

  2. 部署前 QA:创建测试套件并在每次部署前运行。示例 tests/critical-paths.yaml: name: Critical Paths baseUrl: https://staging.example.com tests:

  • name: Login flow steps:
    • goto: /login
    • type: { ref: Email, text: test@example.com }
    • type: { ref: Password, text: testpass }
    • click: Sign In
    • expectVisible: Dashboard
    • expectNoErrors: true 运行:web-qa-bot run ./tests/critical-paths.yaml --output qa-report.pdf -f pdf
  1. 回归监控: web-qa-bot run ./tests/smoke.yaml || exit 1

  2. 编程式测试: import { QABot } from 'web-qa-bot' const qa = new QABot({ baseUrl: 'https://example.com', headless: true }) await qa.goto('/') await qa.click('Get Started') await qa.snapshot() qa.expectVisible('Sign Up') await qa.close()

【与 agent-browser 集成】 该工具封装 agent-browser CLI 进行浏览器自动化: 连接现有浏览器会话:web-qa-bot smoke https://example.com --cdp 18800 带界面运行以便调试:web-qa-bot run ./tests/suite.yaml --no-headless

【测试结果格式】 结果以结构化 JSON 返回,包含 name、url、summary(total/passed/failed/warnings)和 tests 数组(含 name、status、duration)。

【使用提示】使用基于角色的选择器比 CSS 类更可靠;检查控制台错误常能发现隐藏问题;同时测试直接 URL 和应用内路由两种导航方式;测试套件在失败时自动截图;注意可能阻塞交互的模态框。

【故障排查】

  • "agent-browser not found":运行 npm install -g agent-browser 和 agent-browser install
  • "Element not found":先运行 agent-browser snapshot 查看可用 refs
  • "Timeout waiting for element":增加超时时间或检查元素是否处于加载状态,可使用 waitMs、waitFor 等步骤等待

【适用场景】 快速站点健康检查、部署前 QA、回归监控、编程式测试。