项目

AI Playwright Framework

YAML 驱动的 Playwright/pytest UI 自动化框架,把可审查测试资产、智能 selector 恢复、AI 用例生成和 agent 运行统一到同一执行链路。

我的项目 Alpha框架设计 / Python 实现AI 自动化测试框架开源免费自动化测试PlaywrightAI测试pytestYAML测试框架

介绍

AI Playwright Framework 是一个基于 Playwright 和 pytest 的 YAML-first UI 自动化框架。它把 cases、data、elements、modules、vars 作为测试资产的事实来源,让稳定用例可以在 strict 模式下完全确定地运行;同时提供 smart selector 恢复、自然语言 agent_case 执行和 gen 用例生成,帮助快速变化的页面降低用例编写与维护成本。项目当前处于 alpha 阶段,但已经包含契约测试、YAML schema 校验、重复定义检查、打包检查和 GitHub Actions CI 门禁,重点是让 AI 辅助能力服务于可审查、可版本化、可重复执行的测试资产,而不是替代确定性测试链路。

技术栈

PythonPlaywrightpytestYAMLAllureLLMuvGitHub Actions

设计边界

框架把确定性测试和 AI 辅助拆开处理。稳定回归用例保留在 YAML 资产中,可以被审查、版本化并在无模型环境下执行;AI 只进入生成、selector 恢复或自然语言探索这些更适合辅助的场景。

测试资产模型

test_data/<project>/ 下按 cases、data、elements、modules、vars 和 generation 分层。这样测试顺序、步骤主体、稳定元素 key、公共流程、变量和生成输入各自有明确职责,减少用例增长后的维护混乱。

执行模式

strict、smart、ai_step、agent_case 和 gen 对应不同风险等级。strict 提供最稳定的传统执行,smart 只修复 selector,agent_case 处理运行时意图,gen 负责把自然语言规格转成可提交的 YAML。

质量门禁

仓库包含 contract tests、YAML schema 校验、重复定义检查、格式检查、打包检查和安装后 CLI 冒烟检查。目标是让框架契约先稳定,再逐步扩展 AI runtime 行为。

要点

  • YAML-first 资产分层:cases 定义顺序,data 承载步骤,elements 维护稳定 selector,modules 复用流程,vars 管理变量。
  • strict 模式只执行显式 YAML,不调用模型;smart 模式保持 action 不变,只在当前步骤意图内恢复 selector。
  • agent_case 支持自然语言步骤或目标的运行时执行,但仍通过统一 StepExecutor 命令管线落到标准动作。
  • gen 能从自然语言规格生成正式 YAML,并要求通过真实浏览器验证后再写入,避免不可审查的隐式自动化。
  • 默认外部模型数据脱敏策略,配合契约测试、schema 校验、重复定义检查、打包和 CLI 冒烟检查作为质量门禁。

截图