ai-landing-tutorial

ai-test-frame —— 最小可运行的 AI 自动化测试框架

教程《AI 自动化测试:方法论与实践》§8「动手实践」的可运行落地。 体现「AI 在编码期生成测试资产、运行期确定性执行」的完整架构,开箱即跑

环境准备(先看完再跑)

跑这个 demo 需要三样东西,缺一个都起不来:

  1. Python 3.8+(下载:python.org/downloads)。安装时 Windows 务必勾选 Add Python to PATH,否则命令行找不到 python。
  2. git(用于 demo 内部生成示例仓库)。没装的去 git-scm.com 下载。
  3. pip(Python 的包管理器,装 Python 时自带)。验证一下:

    pip --version
    

    能打印出 pip 版本号就 OK。

打开终端的方式

进入目录(关键,很多人卡在这):终端里先 cd 到本 demo 目录再运行命令,否则会找不到文件:

# 把下面路径换成你电脑上的实际路径
cd demos/ai-test-frame

快速运行

确认 cd 进了 demos/ai-test-frame 目录后,依次执行:

pip install -r requirements.txt
playwright install chromium
python main.py

预期:Playwright 打开 site/index.html(自带的极简商品管理页),按 data/cases.json 跑用例(新增商品 → 验证列表出现),终端输出断言汇总:

=== 用例 第1条 ===
=== 用例 第2条 ===
  ✅ 商品创建验证 - 自动化商品_xxxxxx
=== 用例 第3条 ===
  ✅ 商品创建验证 - 自动化商品_xxxxxx
==================================================
📊 汇总: 通过 2, 失败 0
==================================================

架构(每个文件对应一个核心模块)

文件 作用 体现的核心架构
registry.py 注册中心 装饰器注册 + 类引用 + get(type→handler 映射)
assertions.py 软断言 失败不中断 + 截图 + 收集结果
base_page.py 测试基类 通用操作 + 通用定位(role / placeholder / label)
runner.py 数据驱动调度器 读用例 + type 路由 + ${变量} + 延迟加载实例
handlers/test_product.py handler 示例 8 条规范整合 + editor_meta
main.py 执行入口 开浏览器 → 跑用例 → 汇总
data/cases.json 用例数据 步骤 JSON + running 开关
site/index.html 被测页 极简商品管理(自带,开箱跑)

📁 运行产物分离:失败截图等运行时产物放 workspace/(已 gitignore,不进版本库);site/(被测页)和 data/(用例)是 demo 自带资产,保留原位。

体现的关键思想

  1. AI 只生成不执行:handler(如 test_product.py)由「录制 → AI 转换 → 人审」在编码期产出;运行期是确定性的数据驱动调度(runner.py),零 AI——规避幻觉导致的”虚假通过”。
  2. 数据与代码解耦:用例在 data/,handler 在 handlers/,调度器按 type 路由——运营编步骤,不碰代码。
  3. 注册中心模式:handler 用 @register 登记,调度器自动发现,新增模块零改调度器。
  4. 软断言:失败不中断,一条用例的多个验证都跑完、全记进报告。
  5. 变量传递_save_as + ${name} 让步骤间/用例间传递数据。

换成你自己的被测系统

demo 自带 site/index.html 是为了开箱即跑。真实使用时:

  1. base_page.py 的定位,匹配你系统的 UI(保持通用定位策略)
  2. main.pypage.goto() 指向你的系统,并加登录
  3. test_product.py 的写法,为你的业务写更多 handler
  4. data/ 编用例(生产可用 Excel + pandas 替代 JSON,数据驱动思想一致)

常见报错(卡住了先看这里)

报错 原因 解决
'pip' 不是内部或外部命令 / pip: command not found 装 Python 时没勾 Add to PATH 重装 Python,安装界面勾选 Add Python to PATH,或手动把 Python 安装目录加进系统环境变量
playwright install chromium 下载超时 / 卡住不动 国内访问 Chromium 下载源慢 重试几次;或设镜像:set PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright(Mac/Linux 用 export)后重跑
ModuleNotFoundError: No module named 'xxx' cd 进 demo 目录,或没装依赖 确认终端当前在 demos/ai-test-framepwd 看一下),再重跑 pip install -r requirements.txt
python: command not found Windows 上 Python 可能叫 python3py python3 main.pypy main.py 试试