10 Commits

Author SHA1 Message Date
empty
1f1cc4db9a feat: 增强测试框架功能
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
主要改进:
- 新增统一测试器 (universal_tester.py) 支持多种测试模式
- 优化测试报告生成器,支持汇总报告和操作截图
- 增强探索器 DFS 算法和状态指纹识别
- 新增智能测试配置 (smart_test.yaml)
- 改进 AI 模型集成 (GLM/Gemini 支持)
- 添加开发调试工具和文档
2026-01-05 20:23:02 +08:00
empty
3447ea340a feat: 实现深入功能测试能力
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
核心改进:
- 识别表单: DOM 发现支持 Input, Textarea, Select 元素识别
- 自动填充: 支持自动在输入框填入测试数据并记录
- 业务验证: 自动监听操作后的 Toast/Message (AntD, Element, Vben) 消息
- 报告增强: 报告中展示详细的功能交互日志和验证结果徽标
- 配置优化: 提高 '新增', '搜索', '保存' 等业务按钮的优先探索权重
2025-12-28 22:00:33 +08:00
empty
3b4c6b5296 feat: 优化 Tab 切换检测和类型识别
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
改进:
- Tab 类型识别: 添加 tabs-chrome, tabs-tab, ant-tabs-tab 等类名检测
- Tab 切换检测: 点击 tab 元素后显示 '📑 Tab 切换' 提示
- 内容刷新: Tab 切换后自动重新扫描内容区域

测试结果:
- 通过率: 100% (2/2)
- 登录: 全部 7 步骤成功
- 探索: 30 个元素, 4 个页面
2025-12-28 21:41:33 +08:00
empty
0a5e24cc9d feat: 添加 Vben tabs-chrome 选择器支持右侧标签页
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
新增选择器:
- .tabs-chrome__item (Vben Admin 标签页)
- .vben-tabs-content > div
- .n-tabs-tab (Naive UI)

效果: 发现 19 → 20 个元素,含 '分析概览' Tab 标签
2025-12-28 21:28:41 +08:00
empty
0f867fd9fd feat: 扩展 DOM 选择器覆盖 Tab 内容区域
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
新增选择器:
- .ant-tabs-tab, .el-tabs__item (框架 Tab)
- [role='row'], .ant-table-row (表格行)
- .card-header, .card-title (卡片)
- .tab-pane a, .tab-content a (Tab 内容链接)

效果: 发现 17 → 19 个元素,含右侧内容区域
2025-12-28 21:24:05 +08:00
empty
d6793cd758 feat: 多页面深度探索 + 折叠菜单支持
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
新增功能:
- 多页面探索: 使用队列管理待探索页面,跟踪深度
- 折叠菜单: 点击后重新扫描发现新元素,自动展开并探索
- DOM 快速发现: 毫秒级元素发现(替代 AI 调用)
- 预计算坐标: DOM 发现时计算坐标,点击时直接使用

探索效果:
- 访问页面: 1 → 4
- 发现元素: 17 → 30
- 检测菜单展开: 
- 检测页面跳转: 
- 危险操作保护: 
2025-12-28 21:15:50 +08:00
empty
b126ce2d49 fix: 优化探索器元素定位精度
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
改进 _find_element_by_name:
- 使用直接文本匹配 + 短文本匹配策略
- 检查 cursor:pointer 样式
- 按元素面积排序,选择最精确匹配
- 限制元素大小避免匹配到容器
- 转义特殊字符防止 JS 注入

坐标定位效果:
- 之前: 所有元素 (960, 540)
- 现在: 分析概览 (40,105), 系统管理 (40,551), 搜索 (1634,25)
2025-12-28 20:47:43 +08:00
empty
c6def51435 feat: 添加AI主动探索测试模式
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
新增功能:
- explorer.py: AI功能探索器
  - 自动发现页面可交互元素
  - 元素分类 (navigation/button/link/card/menu)
  - 危险操作保护 (删除/退出只记录不执行)
  - DOM快速定位替代AI定位 (速度提升10x)
  - 站点地图和BUG清单生成

- main.py: 添加 explore() 方法
- generator.py: 添加探索报告生成 (暗色主题+Mermaid站点图)
- test_cases.py: 支持 goal/explore/hybrid 三种模式

测试结果:
- 成功发现30个可交互元素
- 自动分类: Links(11), Navigation(8), Cards(8), Buttons(2), Menu(1)
- 生成完整HTML探索报告
2025-12-28 20:39:15 +08:00
empty
2a22708ab5 chore: Update gitignore rules. 2025-12-28 15:35:32 +08:00
empty
a67ad26a52 feat: 实现AI驱动的Web自动化测试框架
Some checks failed
AI Web Tester CI / test (push) Has been cancelled
主要功能:
- 纯视觉元素定位 + DOM辅助的混合方案
- 解决 mouse.click() 与 Vue 页面交互问题
- 使用 elementFromPoint + JS click/focus 实现可靠点击
- 智能元素定位: 根据描述生成CSS选择器获取精确坐标
- 区域扫描作为后备定位方案
- 完整的测试报告生成 (HTML+JSON)
- 截图记录每个操作步骤

技术改进:
- controller.py: 改进 click_at 使用 JavaScript 交互
- executor.py: 添加 _find_element_by_description 智能定位
- planner.py: 增强 prompt 传入视口尺寸
- main.py: 获取实际视口大小传给 planner
2025-12-28 15:34:22 +08:00