bug0inc/passmark
The open-source Playwright library for AI browser regression testing with intelligent caching, auto-healing, and multi-model verification.
解决的问题
Passmark 是一个专为消除传统基于选择器的浏览器回归测试脆弱性而设计的 Playwright 库。它允许开发者使用自然语言编写测试,即使 DOM 结构发生变化,测试也不会中断,同时通过多模型 AI 共识引擎提供高置信度的断言。
工作原理
Passmark 与 Playwright 集成,执行以普通英语描述的浏览器步骤。它使用 AI 模型将这些描述转换为操作。为确保稳定性和准确性,采用了以下关键机制:
- 多模型共识: 断言由 Claude 和 Gemini 并行验证。若两者意见不一致,则由第三个仲裁模型解决冲突。
- 智能缓存: 成功的操作被存储在 Redis 中;后续运行优先使用缓存操作,若失败则回退到 AI 执行,并自动修复缓存。
- 执行模式: 支持标准 ARIA 可访问性快照以提高效率,以及使用 OpenAI 计算机使用代理的「CUA 模式」(Computer Use Agent),实现视觉化、截图驱动的自动化。
- 视频断言: 对于 toast 消息等临时 UI 元素,可记录步骤运行过程,并使用 Gemini 的 Files API 基于视频评估断言。
适用人群
主要面向希望维护稳定端到端浏览器测试的 QA 工程师和开发者,尤其适用于 AI 编码代理频繁修改 UI 的场景,无需频繁更新 CSS 选择器或 XPath。
核心亮点
- 自然语言步骤: 以描述序列的方式编写测试,而非僵化的代码选择器。
- 基于共识的验证: 通过多个 LLM 验证测试结果,降低测试的不稳定性。
- 自动修复缓存: 结合传统测试的速度与 AI 适应 UI 变化的灵活性。
- 灵活的 AI 路由: 支持直接使用提供商 SDK 或通过 Vercel、OpenRouter、Cloudflare 等 AI 网关。
- 集成邮件测试: 内置对一次性邮件服务提供商的支持,用于测试验证流程。
相关
- 项目
- 项目
- 项目
- 项目
- 项目