传统 Web UI 自动化通常有两个痛点:
- 编写成本高:需要频繁找元素、写 selector、维护脚本。
- 脚本脆弱:页面结构或样式稍有变化,就可能导致大面积失败。
AI Web Tester 把测试表达从“找元素”转向“表达意图”。你可以描述“点击右上角登录按钮”,系统在 selector 缺失或失效时,会结合 DOM、截图和意图触发 AI 自愈,并保留截图、日志、Token 与审计记录。
- 现代化 Web 控制台:用例、套件、环境、Prompt、运行历史统一管理。
- 意图驱动步骤:步骤可只写
intent,selector 可为空。 - AI 自愈:selector 失效时自动寻找候选元素并继续执行。
- 自愈审计与回写:对比自愈前后截图后,可批准 selector 写回用例。
- Token 成本可视化:运行、自愈、修复建议、NL2Case 都记录 token_usage。
- AI 修复建议:失败后生成根因解释和可应用的
patched_steps。 - 套件执行:支持 setup case 共享登录态,串行执行并汇总结果。
- Chrome 录制插件:在真实页面录制操作并同步到控制台。
- 数据驱动:支持
variables、dataset和${today_ymd}等内置变量。
python3 -m venv venv
source venv/bin/activate
pip install -r web_server/requirements.txt
playwright install chromiumcp .env.example .envOPENAI_API_BASE=https://models.inference.ai.azure.com
OPENAI_API_KEY=github_pat_xxxxxx
OPENAI_MODEL_NAME=gpt-4o也可以在 Web 控制台的“设置”里配置,后端会写入 .env。
后端:
cd web_server
python3 -m uvicorn app:app --reload --host 127.0.0.1 --port 8000前端:
cd frontend
npm install
npm run dev打开 http://127.0.0.1:5173/。
- 打开
chrome://extensions/ - 开启开发者模式
- 加载
extension/目录 - 在待测页面点击插件开始录制,录制结果会同步到 Web 控制台
- 开发指南:本地启动、环境变量、运行数据目录、Chrome 插件、CI 建议。
- 架构说明:前端 hooks/components 分层、后端 routes/runner 分层、数据流。
- API 概览:auth、cases、runs、suites、config、prompts、internal 接口。
- E2E 与验证:pytest、前端测试、生产构建、浏览器烟测。
- 安全说明:鉴权、CORS、密钥脱敏、路径校验、敏感数据处理。
开发或重构后建议跑:
venv/bin/python -m pytest web_server/test_web_server_api.py web_server/test_runner.py web_server/test_suite_runner.py -q
cd frontend
npm test
npm run build
npm run e2e:smokenpm run e2e:smoke 会启动隔离的临时前后端、临时数据库和临时提示词目录,覆盖注册/登录、设置保存、用例创建/保存、套件创建/维护等主链路。
本项目在 DOM 脱水压缩、提示词设计和多模态视觉元素定位方面,参考了开源社区的优秀项目:
欢迎提交 Issue 和 Pull Request。
MIT License © 2026 RockChe