1. 18 8月, 2026 1 次提交
    • 陈泽健's avatar
      feat(ui): 被测系统URL配置统一 + 会议用例元素映射修复 · d0794041
      陈泽健 提交于
      【会话18】被测系统URL配置功能
      - config.py 新增 TARGET_URL,Settings.vue 可配置,持久化到 dingtalk_configs.target_url
      - 22 个消费方(routers/services/executors/utils/frontend)统一读取,selector_mapper/page_url_service 运行时替换 base URL
      
      【会话14/17/20】元素映射修复(21步会议用例)
      - 步骤11 会议室选择:映射表补"创建会议-会议室选择"条目
      - 步骤12 预定会议:新增 .time_btn>div:last-child .btns 映射 + 时间切换规范化
      - 步骤14/16 编辑/完成按钮:.room .delimg img:nth-of-type(2) + .room .user_list button:has-text("完成")
      - 步骤15 参会人勾选:行级 .el-table__row:has-text("admin@xty12") .el-checkbox
      - element_mapping_service 编辑/完成按钮加分逻辑
      
      【执行引擎】
      - playwright_executor:checkbox 注入顺序修复(原选择器优先)+ strategy5 表格行勾选回退
      - 单元测试扩充(test_element_mapping_service.py)
      
      【文档】HANDOFF_UI自动化 会话20 记录 + HANDOFF/V2部署/性能测试同步
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d0794041
  2. 17 8月, 2026 5 次提交
    • 陈泽健's avatar
      feat(api-test): 接口测试模块完整实现——用例管理/执行引擎/断言/报告集成 · e7c07c60
      陈泽健 提交于
      - 新增 ApiTestExecutor(HttpClient 复用 + 模板变量 + 4类型断言引擎)
      - 新增 ApiTestService(用例查询/执行创建/异步执行/结果保存)
      - 新增 /api/api-test 路由(7个端点:用例 CRUD + 执行管理 + 结果查询)
      - 新增 ApiCaseList.vue(支持 HTTP 配置 + Headers/Body/断言规则编辑器)
      - 新增 apiTest.ts 前端 API 封装
      - 复用通用 Execution.vue(api 类型分支)和 Reports.vue(api 类型标签)
      - 复用 test_cases 表(case_type='api'),API 配置存 steps 字段
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      e7c07c60
    • 陈泽健's avatar
      docs: 同步各模块HANDOFF文档 & 性能测试文档迁移至新目录 · 3f368601
      陈泽健 提交于
      - 功能测试报告 HANDOFF:更新模板优化(T1-T5)状态、部署记录、待办
      - 安全测试 HANDOFF:更新 task-preview 接口实测通过状态
      - V2 部署升级 HANDOFF:新增离线部署包验证(5.69 KylinOS)与实施记录
      - 功能测试报告路由:新增 FileResponse/HTMLResponse 导入
      - 性能测试文档迁移:从 Docs/PRD/需求文档/性能测试/ 迁移至 Docs/PRD/性能测试/
      - 新增功能测试报告模板优化 + Excel 适配 PRD 文档(4 份)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3f368601
    • 陈泽健's avatar
      feat: 点击策略优化/性能测试A0027修复/报告模板与设备模拟增强 · f3035587
      陈泽健 提交于
      - 执行器点击策略重排序:表格行/复选框策略提前至force点击前,
        force点击checkbox增加前后状态校验,避免隐藏复选框假成功
      - 性能测试:template_resolver时间占位符升级为秒精度(修复A0027),
        body_template放宽为Any以兼容list请求体,报告面板图表加载顺序修复
      - 功能测试报告模板:模型/路由/schema新增描述字段,Word/Markdown/Excel生成器适配
      - 系统设置:新增钉钉对接与文档管理配置项
      - 设备模拟:路由/schema/service及前端五个模拟页面增强,元素映射更新
      - 杂项:安全用例脚本支持MySQL DATABASE_URL,deploy_execution.script_id改为nullable
      - 同步各模块HANDOFF交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f3035587
    • 陈泽健's avatar
      docs(security): 同步安全测试 HANDOFF 提交状态(已随 236b3f3b 提交推送) · 5b5b35de
      陈泽健 提交于
      - 最近提交更新为 236b3f3b
      - 菜单升级/ERP配置/ERP上传/ERP任务创建改为「已提交」标记
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5b5b35de
    • 陈泽健's avatar
      feat(security): 安全测试 ERP 配置/上传/任务创建全链路对接 · 236b3f3b
      陈泽健 提交于
      - 新增 ERP 配置管理页面(ErpConfig.vue),支持查看/修改 ERP 连接参数
      - 新增安全报告 ERP 上传流程:支持上传到 ERP 测试单、项目资料、协作文档
      - 新增安全报告 ERP 任务创建:预览+创建,含报告解析、紧急程度计算、关联需求搜索
      - 前端 Reports.vue 安全报告弹窗新增 ERP 上传/创建任务按钮及对话框
      - 新增 4 份需求文档与计划执行文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      236b3f3b
  3. 13 8月, 2026 7 次提交
  4. 12 8月, 2026 3 次提交
    • 陈泽健's avatar
      feat(frontend): 菜单重构为自动化测试父菜单,性能/功能报告独立,修复性能任务编辑详情加载 · f3f5d771
      陈泽健 提交于
      - App.vue: 菜单重构(自动化测试整合 /auto 父菜单,性能测试、功能测试报告独立一级菜单,部署/设备模拟/系统管理重新排序)
      - Cases.vue: 移除 deploy/performance/functional 用例类型选项
      - Reports.vue: 报告类型标签映射(ui/api/security/functional)
      - TaskList.vue: 编辑弹窗改用 getTask 获取完整详情,修复 stepConcurrency 数组处理
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f3f5d771
    • 陈泽健's avatar
      feat: 新增ERP自动上传与登录压测签名支持,优化执行器导航策略 · 8a8af0dd
      陈泽健 提交于
      - ERP自动上传:功能报告生成后自动上传到测试单/项目资料/协作文档
      - 登录压测签名:支持X-RANDOM/X-TIMESTAMP/X-SIGN签名头与验证码UUID
      - 执行器导航优化:新增策略5/6(表格行点击),登录后自动跳转目标页
      - 部署服务重构:encrypt_password/decrypt_password 改为模块级函数
      - 新增元素定位器基础服务与页面URL映射服务
      - 新增PRD文档:元素映射定位方案、设备模拟、智能定位优化等
      - 更新HANDOFF文档与settings.local.json权限配置
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      8a8af0dd
    • 陈泽健's avatar
      feat: 新增自动化部署测试/性能测试/功能测试报告三大模块 · 9477dc8d
      陈泽健 提交于
      新增自动化部署测试模块(SSH远程执行+交互式应答+WebSocket实时日志)
      新增性能测试模块(系统指标监控+图表展示)
      新增功能测试报告模块(Excel解析→数据分析→图表→Word/MD报告→ERP上传)
      修复执行引擎死锁(Playwright线程+uvloop兼容+headless默认值)
      修复元素映射表服务(v1.2扩展至220元素)
      新增ERP配置项、性能监控模型、数据库注册
      前端:部署/性能/功能测试报告三套页面+菜单+路由
      文档:PRD+计划执行+Handoff完整文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      9477dc8d
  5. 11 8月, 2026 2 次提交
    • 陈泽健's avatar
      feat(element-mapping): 元素映射表扩展至v1.2 新增登录页+会议预约子页面共220元素 · 09346c8e
      陈泽健 提交于
      - elements_mapping.json v1.1→v1.2:新增登录页14元素、会议预约子页面101元素(创建会议/会议模板/个人日程/会议室/会议列表),共220元素
      - element_mapping_service.py:新增页面前缀匹配(如"登录页-*")和动作-元素类型匹配(输入→输入框、勾选→复选),修复"登录页密码"误配Tab问题
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      09346c8e
    • 陈泽健's avatar
      feat(element-mapping): 元素映射表完整实施 (Phase 1-4) · 31237609
      陈泽健 提交于
      Phase 1: 生成元素映射表 JSON (105个元素, 覆盖首页/功能中心/筛选器)
      Phase 2: 实现 ElementMappingService (3级匹配: 精确/模糊/上下文)
      Phase 3: 集成到 PlaywrightExecutor (最高优先级选择器来源)
      Phase 4: 本地验证通过 (9/9单测 + 13/13集成测试)
      Phase 5: 部署到服务器 192.168.5.60 (SCP + Docker restart)
      
      同步修复:
      - keyword_matcher: 父容器检测 + 组合选择器 + 评分归一化
      - smart_locate_service: 执行级联(前置步骤失败跳过后续)
      - base_simulator: 设备模拟优化
      - HANDOFF_UI自动化.md: 更新完成状态
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      31237609
  6. 06 8月, 2026 16 次提交
    • 陈泽健's avatar
      feat(smart-locate): 语义定位器+组合选择器+Claude增强+iframe穿透 (Phase 3-6) · 5d261143
      陈泽健 提交于
      Phase 3 - Playwright语义定位器:
      - 新增role:/text:/placeholder:/label:/testid:格式
      - 执行器_do_click/_do_fill支持语义API优先
      
      Phase 4 - 组合选择器生成:
      - 弹窗/抽屉/表格行/Tab/表单内元素自动生成组合选择器
      - 统一选择器优先级体系
      
      Phase 5 - Claude语义增强优化:
      - 单候选也调用Claude验证,返回confirmed字段
      - Prompt增加页面URL/路由/前后步骤上下文
      - 候选信息保留完整属性
      
      Phase 6 - iframe/微前端选择器穿透:
      - 关键词匹配记录元素frame来源
      - 选择器格式: iframe[src*="xxx"] >> element_selector
      - 执行器支持frame路径选择器解析和点击/填充
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5d261143
    • 陈泽健's avatar
      feat(keyword-matcher): jieba分词优化 + 评分归一化 (Phase 1&2) · c632f219
      陈泽健 提交于
      Phase 1 - 关键词提取优化:
      - 引入jieba分词替代暴力替换,解决语义丢失问题
      - 精简修饰词列表,添加项目词汇白名单
      - extract_value支持中文值提取
      
      Phase 2 - 评分体系归一化:
      - 精确匹配(1.0)高于包含匹配(0.3)
      - click对INPUT减分更激进(0.1),fill优先匹配INPUT
      - 归一化评分到[0,1]区间
      
      新增测试脚本验证改动
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c632f219
    • 陈泽健's avatar
      docs(智能定位): 新增 Claude 语义增强 PRD/分析/计划/调研文档 · 3f4fffa2
      陈泽健 提交于
      - _PRD_智能定位Claude语义增强.md:分析纯关键词匹配局限,规划 Claude CLI 语义增强方案
      - _执行计划_智能定位Claude语义增强.md:三阶段实施计划(CLI集成/服务改造/测试验证)
      - _分析报告_元素定位方案对比.md:录制器/智能定位/手动编写三种方案准确率对比
      - _调研报告_AI自动化测试智能定位技术对比.md:大厂 AI+自动化测试方案对比与改进建议
      - CreateCMD/_run_claude.bat:去除文件末尾多余换行符
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3f4fffa2
    • 陈泽健's avatar
      docs(用例管理): 新增元素定位方案对比分析报告 · e4d15776
      陈泽健 提交于
      feat(设备模拟): 多类型主题上报支持 + 前端设备列表增强
      
      - 新增元素定位方案对比分析文档(录制器/智能定位/手动编写)
      - 设备模拟:central_simulator多类型主题上报、topic_templates扩展
      - 设备模拟:前端DeviceList组件增强、新增deviceSim API和类型定义
      - 更新HANDOFF_设备模拟交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      e4d15776
    • 陈泽健's avatar
    • 陈泽健's avatar
      fix(smart-locate): 已有选择器优先使用 + 前端超时增加到10分钟 · 8cbb2e68
      陈泽健 提交于
      - 智能定位时如果步骤已有选择器,直接使用不再重新定位
      - 已有选择器验证失败时仍保留原选择器(避免覆盖用户手动配置)
      - 前端智能定位超时从3分钟增加到10分钟(适配Claude调用耗时)
      - 测试通过:系统设置用例6/6步骤定位成功,耗时32秒
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      8cbb2e68
    • 陈泽健's avatar
      fix(smart-locate): Claude服务支持Docker容器内通过SSH调用宿主机CLI · 208d5e63
      陈泽健 提交于
      - 新增3种调用方式(按优先级):本地CLI > SSH宿主机 > 容器内CLI
      - 新增_call_claude_via_ssh方法:通过SSH调用宿主机Claude CLI
      - 新增_call_claude_via_paramiko方法:paramiko回退方案
      - 支持环境变量配置SSH连接参数(CLAUDE_SSH_HOST/PORT/USER/PASS)
      - 已部署到192.168.5.60验证通过
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      208d5e63
    • 陈泽健's avatar
      feat(smart-locate): Claude语义增强智能定位 - 多候选元素自动语义排序 · 85b7cb33
      陈泽健 提交于
      - 新增 claude_service.py:Claude CLI 语义增强服务,含 Prompt 模板、调用、解析、容错
      - 改造 keyword_matcher.py:返回候选列表而非单一元素,新增 get_candidate_details()
      - 改造 smart_locate_service.py:集成 Claude 语义增强,use_claude 参数控制
      - 改造 smart_locate.py 路由:新增 use_claude 参数和 claude_enhanced/confidence/reason 响应字段
      - 新增 config.py 配置项:CLAUDE_ENABLED/TIMEOUT/MODEL/MAX_CANDIDATES
      - 新增集成测试脚本和 PRD/执行计划/技术调研文档
      
      预期效果:定位准确率 60% -> 85%+,解决关键词撞车问题
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      85b7cb33
    • 陈泽健's avatar
      docs(handoff): 更新UI自动化交接文档 - 记录2026-08-06会话进度 · 9040ac63
      陈泽健 提交于
      记录本次会话完成的全部工作:
      1. 用例串行执行机制
      2. 菜单选择器修正
      3. 模块选择器搜索功能
      4. 智能定位优化(关键词/元素范围/模式预处理)
      5. Docker headless 环境问题待排查
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      9040ac63
    • 陈泽健's avatar
      feat(smart-locate): 智能定位优化 - 修复选择器缺失问题 · f07b8861
      陈泽健 提交于
      改进:
      1. 放宽修饰词移除规则 - 移除"添加"/"新增"/"完成"等按钮名称词
      2. 扩展元素查询范围 - 添加 .el-button .el-checkbox .el-tabs__item 等
      3. 放宽文本匹配条件 - 支持 div/span/i/label/li 文本匹配
      4. 扩展文本提取范围 - 支持更多标签类型
      5. 增强语义回退策略 - 添加图标/复选框/Element Plus 按钮的查找
      6. 新增步骤模式预处理器:
         - "xxx选择:yyy" → 列表内复选框
         - "xxx切换为:yyy" → Tab 切换
      
      效果:
      - 步骤10(列表复选框)  模式匹配成功
      - 步骤11(Tab切换)  模式匹配成功
      - 其他按钮类步骤需要在导航到对应页面后才能验证
      
      已部署到 192.168.5.60
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f07b8861
    • 陈泽健's avatar
      docs(smart-locate): 纠正会议室选择为列表复选框,更新优化方案 · 3e4d7b85
      陈泽健 提交于
      - 步骤10不是下拉选择,是右侧会议室列表的复选框
      - 新增列表内复选框定位策略
      - 新增 Tab 切换按钮定位策略
      - 更新执行计划
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3e4d7b85
    • 陈泽健's avatar
      docs(smart-locate): 智能定位元素选择器缺失问题分析和执行计划 · 238cd456
      陈泽健 提交于
      问题:会议管理-新建会议用例 20 个步骤中 7 个缺少选择器(35%)
      根因:关键词提取不完善、点击操作匹配优先级低、下拉选择未处理、位置限定词缺失
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      238cd456
    • 陈泽健's avatar
      feat(frontend): 模块选择器添加搜索功能 + 模块层级调整 · 54c0b13d
      陈泽健 提交于
      改进:
      1. 模块选择器添加 filterable 属性,支持输入关键字快速检索
      2. 添加 clearable 属性,支持清除选择
      3. 更新 placeholder 提示文字
      4. 模块层级调整:会议管理、数据分析、运维管理、管理看板调整为一级模块
      
      部署:
      - 前端已部署到 192.168.5.60
      - 后端模块 parentId 已通过 API 清除
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      54c0b13d
    • 陈泽健's avatar
      fix(deploy): 修正部署脚本路径 + 支持 SFTP 上传 · 402c7621
      陈泽健 提交于
      - docker-compose.yml 在 deploy/ 子目录
      - 服务器上无 git 仓库,改用 SFTP 上传文件
      - 支持参数控制只重启后端/前端
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      402c7621
    • 陈泽健's avatar
      feat(execution): UI自动化用例串行执行机制 + 修正菜单选择器 · e0fb59f9
      陈泽健 提交于
      P0 问题修复:
      
      1. 实现用例串行执行机制
         - 添加全局执行锁,确保同一时间只有一个UI执行任务运行
         - 新增 is_execution_running() / set_running_execution() 函数
         - 新增 GET /api/executions/running-status API
         - Execution 模型新增 error_message 字段
      
      2. 修正菜单选择器
         - 功能中心抽屉内没有"会议管理"和"通知公告"菜单
         - 修正为实际存在的"会议列表"和"通知统计"
         - 更新 menu_mapping.py 直接菜单列表
      
      改动文件:
      - backend/app/services/execution_service.py
      - backend/app/models/execution.py
      - backend/app/routers/executions.py
      - backend/app/utils/menu_mapping.py
      - backend/scripts/create_ui_cases_all_modules.py
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      e0fb59f9
    • 陈泽健's avatar
      docs(handoff): 更新UI自动化交接文档 - 记录2026-08-06会话进度 · 3dfd66b7
      陈泽健 提交于
      会话内容:
      - 执行记录增加【查看详情】功能
      - 为17个模块创建19个UI自动化用例
      - 智能定位执行稳定性优化(选择器修正、抽屉等待、菜单点击优化)
      - 验证结果:单独执行通过率60%,并发执行仅20%
      
      关键发现:
      - 并发执行是用例失败的主要原因(共享浏览器页面)
      - 会议管理、通知公告菜单选择器仍需排查
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3dfd66b7
  7. 05 8月, 2026 6 次提交
    • 陈泽健's avatar
      feat(smart-locate): 智能定位执行稳定性优化 · 9209dc84
      陈泽健 提交于
      - 修正功能中心选择器为已验证的 XPath (//*[@id='Home']/div[1]/div[1]/i)
      - 增加抽屉展开等待逻辑(等待动画完成+宽度检测)
      - 优化菜单点击(滚动到可见区域+选择器候选回退)
      - 实现二级菜单导航支持(使用 menu_mapping 统一配置)
      - 增加选择器回退机制(4种选择器格式按优先级尝试)
      - playwright_executor 点击前增加 scroll_into_view_if_needed
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      9209dc84
    • 陈泽健's avatar
      docs(smart-locate): 智能定位执行稳定性优化需求文档和执行计划 · d4a4221b
      陈泽健 提交于
      - 分析用例执行失败原因(通过率20%)
      - 定义4个核心需求:选择器修正、抽屉等待、菜单点击优化、二级导航
      - 制定6个Phase的详细执行计划
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d4a4221b
    • 陈泽健's avatar
      feat(scripts): 新增创建各模块UI自动化用例的脚本 · aaec343e
      陈泽健 提交于
      - 为17个功能模块创建19个页面访问验证用例
      - 覆盖模块:集控控制、信息发布、数据统计、信息管理、预定2.0等
      - 用例通过功能中心导航访问目标页面
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      aaec343e
    • 陈泽健's avatar
      feat(execution): 执行记录增加【查看详情】按钮,弹窗显示用例列表 · 08714b7e
      陈泽健 提交于
      - 操作列宽度从 210px 调整为 260px
      - 新增【查看详情】按钮,点击弹窗显示执行任务包含的用例名称
      - 用例列表弹窗支持加载状态和空数据提示
      - 数据优先使用缓存的 rowResults,未缓存则调用 API 加载
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      08714b7e
    • 陈泽健's avatar
      feat(smart-locate, device-sim): 验证类步骤自动识别 + 设备列表增强 · b3b54f03
      陈泽健 提交于
      验证类步骤自动识别:
      - 新增 is_verification_step() 函数,识别包含"查看/检查/验证"等关键词的步骤
      - 支持两种验证方式:提示语验证(el-message)和列表搜索验证
      - 修复 page 变量获取时机问题
      
      设备模拟模块优化:
      - 新增全部启动/全部停止按钮(当前页设备)
      - 分页器支持每页条数选择(10/20/50/100)
      - 移除右侧消息流面板,设备列表全宽显示
      - 修复 Excel 模板下载中文文件名编码问题
      
      其他修复:
      - 登录页面加载策略改为 domcontentloaded,避免 SPA 超时
      - 更新文档:执行计划、交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b3b54f03
    • 陈泽健's avatar
      feat(device-sim): Excel批量导入设备功能 · ae32844b
      陈泽健 提交于
      - 新增 POST /devices/import 端点,支持xlsx文件上传
      - 新增 GET /devices/import/template 模板下载端点
      - Excel表头:环境配置名称、设备名称、设备ID、授权码(可选)、自动重连、启用定时上报、上报间隔
      - 前端DeviceList.vue新增批量导入按钮和导入弹窗
      - 导入结果逐行显示成功/失败及错误原因
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      ae32844b