1. 03 8月, 2026 6 次提交
    • 陈泽健's avatar
      fix(ui-cases): 修复步骤表格不显示定位信息问题 · b2854e30
      陈泽健 提交于
      - Cases.vue 新增"定位类型"和"定位值"两列
      - 兼容多种命名格式(locatorType/locator_type/params.selector)
      - formatParams 排除 selector 字段避免重复显示
      - element_locator.py 批量定位同时写入驼峰和蛇形命名
      - 新增批量获取定位按钮(绿色),一键获取用例所有步骤定位
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b2854e30
    • 陈泽健's avatar
      fix(device-sim): 修复设备模拟模块多个问题 · 60ae5431
      陈泽健 提交于
      1. 数据库表未创建
         - 在 models/__init__.py 中导入 EnvConfig, DeviceSimulator, ReportLog
      
      2. 嵌套路由无法渲染
         - 创建 device-sim/index.vue 和 system/index.vue 父级容器
         - 更新路由配置,为父路由添加 component 属性
      
      3. 列表不显示数据
         - 修复 request.ts 响应拦截器,返回 response.data
      
      4. MQTT连接测试失败
         - 修复 test_env_connection 状态更新逻辑
         - 测试成功后更新数据库状态
      
      5. Schema 字段名冲突
         - 将 metadata 改为 extra_attrs,避免与 SQLAlchemy MetaData 冲突
      
      6. 前端优化
         - 环境配置页面简化,去掉主题配置
         - MQTT账号密码设置默认值
      
      7. 文档更新
         - 新增 HANDOFF_设备模拟.md 交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      60ae5431
    • 陈泽健's avatar
      feat: 本地元素定位功能 - 实际访问页面获取真实元素定位器 · 5848a57b
      陈泽健 提交于
      新增本地元素定位 API,通过 Playwright 实际访问被测页面,提取真实元素定位器:
      - backend/app/routers/element_locator.py: 新增 /api/element/locate 端点,支持 auto_login 和 micro-app 微前端
      - backend/app/main.py: 注册 element_locator 路由
      - frontend/src/api/elementLocate.ts: 新增前端元素定位 API 接口
      - frontend/src/components/IntentStepEditor.vue: 修改 handleLocate 调用本地 API,简化流程
      
      优势:本地开发可用,无需容器化部署;响应更快;支持离线使用
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5848a57b
    • 陈泽健's avatar
      feat(device-sim): 优化环境配置新增弹窗用户体验 · b0f0d211
      陈泽健 提交于
      - MQTT 账号密码设置默认值(mqtt@cmdb / mqtt@webpassw0RD)
      - 主题配置移至高级选项折叠面板,简化表单布局
      - 优化表单字段顺序,突出核心配置项
      - 新增折叠面板样式,提升用户体验
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b0f0d211
    • 陈泽健's avatar
      fix(device-sim): 修复设备模拟模块数据库表未创建问题 · f7f85ad9
      陈泽健 提交于
      - 在 models/__init__.py 中导入 EnvConfig, DeviceSimulator, ReportLog 模型
      - 确保 SQLAlchemy Base.metadata 注册设备模拟相关表
      - 解决新增环境配置后列表显示暂无数据的问题
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f7f85ad9
    • 陈泽健's avatar
      chore(config): 更新本地权限白名单及交接文档 · 810b25a0
      陈泽健 提交于
      - .claude/settings.local.json: 新增 npx vue-tsc / npm run 权限白名单
      - HANDOFF.md: 更新为 P0+P1 完成状态,新增踩坑记录 #14-#24
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      810b25a0
  2. 29 7月, 2026 4 次提交
  3. 28 7月, 2026 2 次提交
    • 陈泽健's avatar
      fix(executor): 修复容器内 HeadlessChrome UA 导致登录失败——伪装 UA 隐藏自动化特征 · fd2c2f4d
      陈泽健 提交于
      - playwright_executor.py: 启动参数加 --disable-blink-features=AutomationControlled / --disable-automation
      - new_context() 伪装为正常桌面 Chrome UA、locale=zh-CN、timezone=Asia/Shanghai
      - add_init_script 隐藏 navigator.webdriver(双保险)
      - 容器内验证:do_login() 返回 True,2 步用例 11.81s 执行通过 
      - HANDOFF.md: 同步更新 P1 已解决状态
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      fd2c2f4d
    • 陈泽健's avatar
      feat(deploy): V2部署架构升级 — 合一容器+MySQL · 4cff19b6
      陈泽健 提交于
      完成服务器部署架构升级(V1三容器→V2双容器),解决代码更新需重建镜像、前端无法热更新、SQLite并发锁等问题。
      
      变更内容:
      - 新建合一Dockerfile(仅装环境,代码volume挂载)
      - 重写docker-compose.yml(2服务:app+mysql)
      - 改造main.py(StaticFiles挂载前端+SPA路由回退)
      - 改造database.py(区分SQLite/MySQL连接参数)
      - 7个model ID字段String(32)→String(64)(适配MySQL长度校验)
      - 新增aiomysql+cryptography依赖
      - 编写migrate_sqlite_to_mysql.py(断点续传+外键处理)
      - 新增init.sql、deploy.sh、.env.example
      - 删除旧Dockerfile.backend/frontend
      - 新增PRD需求文档、执行计划、部署方案、HANDOFF_V2文档
      - CLAUDE.md新增MySQL踩坑记录#10-#13
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      4cff19b6
  4. 27 7月, 2026 6 次提交
  5. 24 7月, 2026 1 次提交
  6. 23 7月, 2026 3 次提交
    • 陈泽健's avatar
      feat(ui-test): 补充8个用例较少页面的深层交互用例(233→241) · 2b735bfb
      陈泽健 提交于
      - 会议服务统计:筛选器验证+图表验证
      - 消息通知:筛选器验证+操作按钮验证(修复.el-table超时→body选择器)
      - 设备列表:表格数据验证+刷新验证
      - 远程控制:表格数据验证+刷新验证
      - P0验证4个代表性用例全部通过
      - 新增踩坑记录#26:消息通知页面无.el-table
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      2b735bfb
    • 陈泽健's avatar
      docs(ui-test): 更新UI自动化交接文档-模块筛选器修复完成+批量执行进度 · 6b4c6322
      陈泽健 提交于
      - 模块筛选器case_type参数已验证生效(ui=16模块, security=12模块)
      - 记录旧后端进程未关闭的踩坑经验(netstat PID与实际不一致)
      - 更新批量执行验证状态(233用例执行中)
      - 新增踩坑记录#23-#25
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      6b4c6322
    • 陈泽健's avatar
      feat(ui-test): 新增73个深层交互用例+模块筛选器case_type过滤 · 5669460a
      陈泽健 提交于
      - 后端 module_service/routers 新增 case_type 参数,通过 sec_ 前缀区分 UI/安全测试模块
      - 前端 Cases.vue/Recorder.vue loadModules 传递 case_type='ui' 过滤安全测试模块
      - 前端 api/modules.ts list() 新增 case_type 参数
      - 新增功能中心深层交互用例创建脚本 create_deep_cases_func_center_v3.py(73个用例)
      - 新增PRD需求文档:功能中心深层交互用例补充 + 模块筛选器显示安全测试模块
      - 新增执行计划文档:对应两份PRD的计划执行文档
      - 更新HANDOFF交接文档
      - 数据库新增73个深层交互用例(202→275)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5669460a
  7. 22 7月, 2026 8 次提交
    • 陈泽健's avatar
      feat(ui-test): 前端适配模块父子层级结构-树形选择器 · 13a044a6
      陈泽健 提交于
      - TypeScript 类型定义增加 parentId/children 字段
      - API 层新增 buildModuleTree() 树形构建函数
      - Cases.vue 筛选区和编辑弹窗模块选择器改为 el-tree-select
      - Recorder.vue 模块选择器改为 el-tree-select
      - Modules.vue 编辑弹窗支持选择父模块,含循环引用防护
      - 新增 PRD 需求文档和执行计划文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      13a044a6
    • 陈泽健's avatar
      feat(ui-test): 补充空壳父级模块用例+模块表支持parent_id层级 · b9ba786b
      陈泽健 提交于
      主要变更:
      1. 后端模块表支持父子层级(parent_id)
         - models/module.py: 新增 parent_id 字段 + parent/children 自引用关系
         - schemas/module.py: ModuleCreate/Update/Response 增加 parent_id/children
         - routers/modules.py: 响应构造增加 parent_id
         - services/module_service.py: create/update 支持 parent_id
         - database.py: 增加 parent_id 列自动迁移
      
      2. 执行器断言健壮性优化
         - playwright_executor.py: element_count_min/count 空值处理
      
      3. 新增19个空壳父级模块用例(用例总数161→180)
         - create_func_center_cases.py: 功能中心+会议运维+资产管理+会务管理+维护工单(10个)
         - create_jikong_cases.py: 集控控制-设备列表+远程控制(4个)
         - create_remaining_module_cases.py: 信息发布+信息管理+其他分类(5个)
      
      4. setup_parent_modules.py: 建立父子模块层级关系
      
      5. HANDOFF文档更新
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b9ba786b
    • 陈泽健's avatar
      docs(ui-test): 更新UI自动化交接文档-记录6个失败用例修复结果 · d9810420
      陈泽健 提交于
      - 通过率从76%提升到100%
      - 新增踩坑记录:el-select点击、菜单遮挡、页面不可用
      - 更新用例统计
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d9810420
    • 陈泽健's avatar
      fix(ui-test): 修复6个失败用例步骤定义+执行器点击回退优化 · c016b1c8
      陈泽健 提交于
      执行器优化:
      - _do_click 添加4级点击回退策略:普通点击->force点击->iframe点击->JS点击
      - _do_wait 快速检查+均分超时优化,避免多选择器等待时间过长
      
      用例步骤修复:
      - 管理看板-表格数据验证:改断言为检查表格存在性(被测系统数据为空)
      - 会议统计-下拉筛选验证:优化select选择器,添加.el-input__inner/.el-select回退
      - 历史记录-RSE-表格数据验证:添加滚动步骤+JS点击回退处理菜单遮挡
      - 通知统计-筛选器验证:改断言为检查.el-radio等多种筛选器元素
      - 会议概览/会议室概览用例替换为管理看板-日期筛选/分页验证(原页面不可用)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c016b1c8
    • 陈泽健's avatar
      72170d64
    • 陈泽健's avatar
      feat(security): 前端报告中心适配安全报告+补充API3/4/6/7/9/10用例 · 4c3301ee
      陈泽健 提交于
      - Reports.vue 新增安全测试报告 Markdown 渲染(marked库)
      - 报告列表增加类型标签区分安全测试/UI自动化
      - 安全报告弹窗支持下载和主题适配
      - 新增 API3/4/6/7/9/10 共 18 个安全测试用例(总计 42 个)
      - 更新 HANDOFF 交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      4c3301ee
    • 陈泽健's avatar
      feat(security): 安全测试报告生成服务+格式对齐参考实现 · 68b2fbbf
      陈泽健 提交于
      新增 security_report_service.py,生成7章节Markdown报告:
      - 执行概要 + OWASP覆盖矩阵(5列,critical合并到high)
      - 漏洞详情(按风险等级排序,含请求/响应/修复建议)
      - 已验证安全项(按OWASP模块分组)
      - 风险评估与修复建议
      - 已知安全问题清单
      - 历史漏洞回归验证(五.五章节,6列表格)
      - 华为安全红线合规性检查(五.六章节)
      - 测试环境与工具(含服务器架构信息)
      - 参考资料(Z盘路径)
      
      执行完成自动生成报告,路径存入execution.config.report_path
      新增报告查看/下载API + 前端API封装
      格式对齐参考实现report_generator.py
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      68b2fbbf
    • 陈泽健's avatar
      fix(executor): 修复FastAPI端点执行Playwright报asyncio检测错误 · a9074f8c
      陈泽健 提交于
      - playwright_executor.py: 在工作线程中设置 asyncio.set_event_loop(None) 绕过 Playwright 的 asyncio 事件循环检测
      - execution_service.py: 优化 run_all_cases_sync 日志输出,清理调试 print 语句
      - CLAUDE.md: 新增踩坑记录 #9,更新 Playwright 正确模式第 5 条
      - HANDOFF.md: 更新状态为已修复,重构文档结构
      
      根因:Playwright sync_playwright().start() 内部使用 asyncio.get_running_loop() 检测,
      在 FastAPI run_in_executor 工作线程中需将事件循环设为 None 才能绕过检测
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      a9074f8c
  8. 21 7月, 2026 3 次提交
    • 陈泽健's avatar
      feat(security): 新增API接口安全测试模块 · 001a68a9
      陈泽健 提交于
      后端安全测试引擎(与PlaywrightExecutor解耦,基于requests+AES-CBC签名):
      - 新增 SecurityConfig/VulnerabilityResult ORM 与 Pydantic schema
      - 新增 HttpClient(AES-CBC签名算法,X-RANDOM/X-TIMESTAMP/X-SIGN)
      - 新增 AuthHelper 多账号登录辅助
      - 新增 SecurityExecutor 安全测试执行引擎
      - 新增 security_service 业务逻辑层与 knowledge_base 知识库
      - 新增 /api/security 路由(11个接口)
      
      执行调度分流修复:
      - execution_service.run_execution 按 case_type 分流,security 走专用 _run_security_execution
      - 安全用例不再误交给 PlaywrightExecutor 解析 dict steps
      - test_case schema steps 字段支持 Union(list/dict)
      
      前端适配:
      - 新增 types/security.ts 与 api/security.ts
      - Cases.vue 支持安全用例风险等级标签与详情弹窗
      - Execution.vue 执行弹窗分流 security/UI 执行逻辑
      
      配套脚本与文档:
      - create_security_cases / create_default_security_config / test_security_e2e
      - PRD 需求文档、计划执行文档、报告设计文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      001a68a9
    • 陈泽健's avatar
      feat(executor): 执行器新增iframe遍历支持+多窗口开发规范 · d3587c55
      陈泽健 提交于
      - playwright_executor.py: wait/fill/click 三方法新增 iframe 遍历逻辑
      - execution.py: 新增 vulnerability_results 关联
      - 新增 create_analysis_cases.py 数据分析/运维/看板用例脚本(15个用例)
      - 新增 check_exec.py 执行状态检查辅助脚本
      - 新增多窗口并行开发指南文档
      - 更新 CLAUDE.md 和 HANDOFF.md
      
      注:数据库和安全模块变更由另一窗口单独提交
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d3587c55
    • 陈泽健's avatar
      feat(cases): 新增21个会议管理测试用例及问题处理文档 · 4b690a98
      陈泽健 提交于
      - 新增 create_meeting_cases_v2.py 用例创建脚本(第二批次)
      - 数据库新增21个会议管理用例(会议列表操作/模板/日程/会议室/预定数据)
      - 新增协议弹窗确定按钮点击无效的问题处理与执行计划文档
      - 更新 HANDOFF.md 交接文档
      - 删除运维集控旧文件
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      4b690a98
  9. 20 7月, 2026 1 次提交
  10. 16 7月, 2026 1 次提交
    • 陈泽健's avatar
      fix(execution): 退出登录超时修复与执行跳转优化 · b0d1f92a
      陈泽健 提交于
      核心修复:
      - 退出登录步骤超时:根因是8001端口僵尸进程加载旧代码
      - 移除 logout_debug.log 调试代码,增加 params.logout 标志位
      - 执行跳转改为 query.run 参数立即跳转,不等待 run 完成
      - Execution.vue 检测 query.run 自动触发执行
      
      其他改动:
      - 用例执行顺序按模块+order排序
      - 截图默认展开
      - 新增4个数据分析用例(共29个)
      - 问题处理文档按模块归类
      - 更新 HANDOFF.md
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b0d1f92a
  11. 14 7月, 2026 3 次提交
    • 陈泽健's avatar
      feat(menu): 菜单分类架构与步骤编辑功能 · 50f65be1
      陈泽健 提交于
      - 后端: Module/TestCase/Execution 新增 module_type/case_type 字段,database _ensure_columns 自动补齐旧库列;modules/cases/executions/reports 路由与 service 层支持按类型筛选,创建用例/执行时透传/填充 case_type
      
      - 前端: router 改 /:type? 可选参数,App.vue 模块/用例/执行/报告改父子菜单;Modules/Cases/Execution/Reports 读取路由 type 筛选;新建 CaseStepEditor UI自动化步骤编辑器(12动作+8断言动态表单,增删/上下移/自动重排)
      
      - 平台更名为"测试管理平台"(App.vue / index.html)
      
      - 修复构建: CreateCaseRequest 类型对齐 snake_case、清理未使用导入、补装 terser
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      50f65be1
    • 陈泽健's avatar
      feat(execution): 执行中心新增删除功能、用例间登录态重置及多项修复 · 12b134b7
      陈泽健 提交于
      执行中心功能增强:
      - 新增执行记录单个删除(DELETE /{id})和批量删除(POST /batch-delete)接口
      - 删除执行记录级联清理用例结果,不影响测试用例本身
      - 前端表格增加多选列、删除按钮、批量删除按钮,运行中记录双重保护
      - 修复展开行不加载结果问题:监听 expand-change 事件自动加载
      
      执行器与用例修复:
      - 修复自动登录逻辑:执行服务不再强制 auto_login=True,改进登录成功判断
      - 新增 reset_login_state() 方法,支持用例间登录态重置(用例 config.reset_login 控制)
      - 登录模块用例配置 reset_login=True,保证用例独立可重复执行
      
      文档:
      - 新增 3 组 PRD 需求文档 + 执行计划文档(展开优化、登录态重置、删除功能)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      12b134b7
    • 陈泽健's avatar
      feat(test): 新增测试用例数据与批量创建脚本 · dd89598e
      陈泽健 提交于
      - 新增 backend/data/test_platform.db,包含 5 个模块 + 25 个可执行测试用例
        (基于实测被测系统 https://192.168.5.44 页面元素构建)
      - 新增 backend/scripts/create_login_cases_full.py,基于真实选择器批量创建
        登录模块及测试用例的辅助脚本
      - 更新 HANDOFF.md,同步最新提交记录、项目结构与会话工作内容
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      dd89598e
  12. 13 7月, 2026 2 次提交
    • 陈泽健's avatar
      feat(executor): 新增 SelectorMapper 选择器增强与步骤级实时推送 · f5003c87
      陈泽健 提交于
      核心变更:
      - SelectorMapper 集成:支持 page_key + element_key 多选择器回退解析
      - 步骤级实时推送:通过 WebSocket 广播每一步执行状态
      - 单步重试机制:step_retry_count 配置支持
      - 录制器统一使用 StepDefinition 格式,透传新字段
      - 前端实时步骤时间线组件
      
      新增文档:
      - README.md / CLAUDE.md / HANDOFF.md 项目文档
      - Handoff skill 自动生成交接文档
      - 执行器准确率优化相关 PRD/计划文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f5003c87
    • 陈泽健's avatar
      feat(test): 新增测试用例依赖管理和批量操作功能 · 3c4cff22
      陈泽健 提交于
      - 新增 TestCase 模型字段:depends_on、parameters、condition、order、version
      - 新增 CaseDependency 依赖关系模型,支持强依赖/弱依赖配置
      - 新增 batch 路由、schema、service,支持批量创建、更新、删除、执行测试用例
      - 新增 dependencies 路由、schema、service,支持依赖关系拓扑排序和条件执行
      - 新增 backend/scripts 辅助脚本目录(15个脚本):用例创建、迁移、清理等
      - 新增 PRD 文档:登录模块测试优化需求文档和执行计划
      - 新增测试用例 Excel 和 backend/tests/ 测试目录
      - 完善 GitCommit skill:增加分支检查、推送确认、三重门控机制
      - 修改 Playwright 执行器默认 headless 为 False,便于调试
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3c4cff22