1. 05 8月, 2026 12 次提交
  2. 04 8月, 2026 1 次提交
  3. 03 8月, 2026 10 次提交
    • 陈泽健's avatar
      feat(element-locate): 元素定位功能优化 - API增强 + 配置面板 · 46a566f2
      陈泽健 提交于
      Phase 1: 后端 API 增强
      - 新增 BatchLocateRequest 参数: page_load_timeout, extra_wait_time, wait_for_selector, retry_on_empty, max_retries
      - 新增 BatchLocateResponse 字段: elements_extracted, retries, page_load_time
      - 增强 _do_locate_with_executor 支持配置参数和重试机制
      
      Phase 2: 微前端元素提取增强
      - 优化 extract_interactive_elements 函数,增强元素去重
      - 扩展 Element UI/Vuetify/Ant Design 组件支持
      - 提取更多元素属性(data-*, title, alt, role 等)
      
      Phase 3: 前端配置面板
      - 新增获取定位配置弹窗(支持配置等待时间、重试等参数)
      - 新增预览页面按钮
      - 优化定位结果显示(元素数量、耗时、重试次数)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      46a566f2
    • 陈泽健's avatar
      docs(ui-cases): 更新UI自动化交接文档 + 新增元素定位优化PRD和计划 · 885b901c
      陈泽健 提交于
      - 更新 HANDOFF_UI自动化.md,记录本次会话完成的所有工作
      - 新增元素定位功能优化 PRD 文档(4个用户故事)
      - 新增元素定位功能优化计划执行文档(4个阶段)
      - 记录登录用例 8/8 成功、会议用例 2/7 的测试结果
      - 记录所有踩坑和解决方案
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      885b901c
    • 陈泽健's avatar
      fix(element-locate): 修复批量定位数据库更新问题,延长超时时间 · 82c6f778
      陈泽健 提交于
      - 增加批量定位超时时间从 90s 到 300s(5分钟)
      - 每个 SSH + Claude CLI 调用约需 15-20 秒,8 步骤需 2-3 分钟
      - 修复数据库更新:直接使用 SQLAlchemy update 语句绕过 schema 校验
      - 确保 locatorType/locatorValue/selector 三个字段都正确保存
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      82c6f778
    • 陈泽健's avatar
      fix(element-locate): 始终调用 Claude CLI 进行元素定位,不再依赖置信度判断 · fbb895f8
      陈泽健 提交于
      - 去掉置信度 < 0.6 的条件判断,每次定位都调用宿主机 Claude CLI
      - Claude 返回结果与关键词算法重复时,提升置信度并标记为 Claude 确认
      - 降低 Claude 结果采纳阈值为 0.3,确保有效结果不被丢弃
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      fbb895f8
    • 陈泽健'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
  4. 29 7月, 2026 4 次提交
  5. 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
  6. 27 7月, 2026 6 次提交
  7. 24 7月, 2026 1 次提交
  8. 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
  9. 22 7月, 2026 1 次提交
    • 陈泽健'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