- 07 9月, 2026 1 次提交
-
-
由 陈泽健 提交于
同步远程 HEAD(03ee164c,并行会话 performance 提交叠加其后) Co-Authored-By:
Claude <noreply@anthropic.com>
-
- 02 9月, 2026 3 次提交
-
-
由 陈泽健 提交于
- 新增 backend/scripts/check_exec_report_0902.py:验证 5.44/5.202 定时任务执行状态、报告文件与 next_run_at 推进 - .gitignore 中 backend/scripts/check_*.py 增加例外,允许 check_exec_report_0902.py 纳入版本控制 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
sut-explore 全量盘点首页 24 入口 + 抽屉 38 入口,唯一可落地缺口=视讯设备 (旧 drawer+click 用例 headless 下历史执行全部中断/失败)。已升级为 meetingV3 TerminalMaintenance navigate 直达 3 用例(页面访问/表格/树形 筛选),DOM 特征:列头带腾讯后缀、树选中节点 .is-current、当前无数据 行=0 用 element_count_min expected=0 兼容。探测脚本 7 个沉淀。 「会议运维 6 + 待办巡检 2 + 视讯设备 3」11 用例回归 100% 通过,已同步 三台服务器(5.44/5.202→410、5.60→412,无重启)。 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 01 9月, 2026 9 次提交
-
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 后端 HttpClient 新增 login_with_credentials(username,password) 与 _extract_token 静态方法 - 复用 captcha uuid + SHA256 加密 + 签名;不写入 _tokens 缓存(token 由 executor 管理) - 执行引擎 per-VU 状态:_vu_tokens Dict[int,str] + _vu_tokens_lock + _vu_login_failed - _ensure_vu_token 异步幂等(run_in_executor 包裹同步登录),失败记入 _vu_login_failed - _resolve_csv_credentials 按 global_thread_idx 分配 CSV 行(idx % len 循环复用) - _mix_worker 启动各自登录;登录接口进随机池命中后替换该 VU 自己的 token - _send_request 新增 bearer_token 可选参 + 返回 Optional[str](登录 2xx 提取新 token) - _build_headers bearer_token 优先于 self._token;登录目标 bearer_token="" 签名且无 Authorization - _is_login_target 支持 url_override(识别随机池中的登录接口) - _run_mix 校验:CSV 未启用/缺 username/password 列/账号数 < 并发数 → 拒绝执行 - execute() per_vu_login 时跳过共享预登录 - Model/Schema 增加 per_vu_login 字段(默认 False)+ _ensure_columns 自动迁移 - 前端 types perVuLogin + TaskList.vue「每虚拟用户独立登录」开关(仅 mix 显示) - 单测 TestPerVuLogin 13 条(各自token/重登替换/失败处理/CSV校验/共享回归) - 已部署 5.60(含 performance_tasks.per_vu_login 自动迁移);端到端由用户手动验证 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 删除会话47~36历史章节、时间线表格、关键约束/配置/启动运维/文档索引、老待办清单 - 保留会话48双档(sut-explore缺口补齐 + 定时任务看门狗修复)核心记录 Co-Authored-By:Claude Fable 5 <noreply@anthropic.com>
-
由 陈泽健 提交于
- 执行引擎新增 _run_mix/_mix_worker:concurrency 个 worker 协程 每次迭代按权重 random.choices 选接口发请求,前置登录复用 token - ScenarioApiConfig 新增 weight 字段(默认 1,weight=0 不参与随机), scenario_type 支持 mix;权重归一化边界健壮(sum<=0 回退均匀) - 前端 TaskList 新增「混合场景(Mix)」下拉 + 权重编辑列 + 序列化回填; ReportPanel mix 蓝色标签 + 接口明细表 - 修复执行时长膨胀(实测 120s→285.7s 约 2.4×):目标机 SSH 同步采样 阻塞事件循环,改 loop.run_in_executor 丢线程池;TARGET_MONITOR_ENABLED 默认改 false。复验 durationActual=123.96s,请求比例≈权重(34/23/43%)零 4xx - 新增 mix 单测 11 条(权重归一化/冒烟) Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增 _PRD_混合场景压测.md 需求文档与 _PRD_混合场景压测_计划执行.md (含 6.1 短时长端到端验证 PASS、6.2 执行时长膨胀根因修复复验、6.3 前端部署验证); HANDOFF_性能测试.md 更新至 2026-09-01 会话进度。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 盘点确认 7 个缺口功能,生成 8 个可执行 UI 用例写入 SQLite(generate_gap_cases.py 幂等) - 会议运维 6 用例 navigate 直达 + Tab 切换断言一次全绿 - 待办巡检 2 用例:monitor 直达 URL 内层路由竞态定位(整页加载后固定落设备列表页、 外层 monitor= hash/navPayload 均无法切 Checklist、_ensure_micro_app_loaded 误判就绪) → 改走首页「巡检报表」入口点击 [id="data_list.inspect_report"] 绕过,100% 稳定 - 探测脚本沉淀:probe_gap_modules(_v2~v4)/probe_gap_meeting_tabs/probe_monitor_checklist_rerun /probe_sut_home_entries/probe_overview_modules/probe_funcenter - HANDOFF_UI自动化.md 记录会话48 全流程 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
A 修复(看门狗失败执行也生成报告): - scheduler_service.py 新增 _has_any_case_results 辅助函数 - UI/安全两条路径报告条件 run_ok -> run_ok or _has_any_case_results - 解决 5.44 每日任务连续 4 次看门狗失败、报告目录无一文件 B 修复(定位并消除卡死点): - B1: case_results 写入 start_time(由实际耗时回推),支持定位卡死用例 - B2: 用例级硬超时兜底(_case_start_mono + case_remaining_seconds, 步骤/等待/微应用轮询均受用例剩余时间约束,防单用例无限挂起) - B3: Chromium 崩溃自动恢复(崩溃标记检测 + 重建页面复用 context 保留登录态,失败步骤起重试,每用例最多恢复一次) 部署配套: - deploy/docker-compose.yml: app 容器日志轮转 50m x 5 - deploy_fix_560.py: 增加 scheduler_service.py / execution_service.py 上传 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 31 8月, 2026 8 次提交
-
-
由 陈泽健 提交于
记录『自然语言指明用例步骤 → 完整顺利执行』目标的现状、根因(执行器能力不对等 / keyword_matcher 不穿透 micro-app)与已尝试的优化(Phase 1-5) Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
更新 HANDOFF_UI自动化.md 顶部会话 47:记录性能测试模块目标机监控 增强(Batch A 多 PID 服务级聚合 + MySQL 趋势)与修复(Batch B JSTAT 瞬时 CPU 采样,实测与 top 300%+ 一致)、5.60 部署、测试与推送状态; 独立交接详见 HANDOFF_性能测试.md Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
更新 HANDOFF_性能测试.md:记录 Batch B(JSTAT 瞬时 CPU 采样修复)背景、 修复方案、验证结果、5.60 部署与交接待办;更新最近提交/会话窗口/状态头 (指向 ad4163bb 已推送 origin/platform-auto-test) Co-Authored-By:
Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- target_resource_monitor.py: 新增 /proc/<pid>/stat 两次采样(JSTAT1/JSTAT2,间隔 0.2s) 以 utime+stime tick 差值计算 top 口径瞬时 CPU%(100% = 单核,可超 100%), 按目标机核数上限截断,采样缺失时回退 ps %cpu(修复压测中途重启 JVM 被 ps 生命周期平均严重低估的问题,实测匹配 top 的 300%+ 数值) - _JAVA_PROCESS_KEYWORDS 新增 ubains-gateway/auth/modules-system/message-scheduling/mqtt - performance_executor.py: 多 PID 服务级聚合(按采样点求和、不补 0)+ pidCount/pids 非破坏性字段 + mysql.series 趋势序列;schema 透传无需改动 - 前端: types/performance.ts 类型扩展;ReportPanel.vue 实例 PID 列 + 两张 MySQL 趋势图 - 测试: test_target_resource_monitor.py(JSTAT 瞬时 CPU 15 例)+ test_target_resource_summary.py(聚合 7 例)全通过 - 文档: 新增 PRD 需求文档 + 计划执行文档(Java 服务多实例与 MySQL 容器趋势监控) 已验证并部署 5.60:py_compile/pytest/前端真实页面冒烟通过,5.44 实测 8 核 clk=100 解析正确 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
10 条 UI 用例(含 7 条失败)执行耗时 24.8 分钟,根因 step_retry_count=2 × 多策略超时叠加(单条失败用例 ~210s)。三层优化: - P0: step_retry_count 默认 2→1(execution_service + playwright_executor + recorder) - P1: has-text 前置等待 25s→10s、表格行轮询 150s→30s、checkbox 轮询 40s→20s、 iframe 点击 5s→3s - P2: _selector_exists_fast 快速失败探测(主页面/iframe/micro-app ≤500ms), _do_click/_do_fill/_do_check 入口元素不在 DOM 即跳过策略链 单测 9 项 + 全量 352 passed 无回归;deploy_timeout_opt.py 部署三台; 5.44 同一 10 用例定时任务实测 24.8min→10.2min(-59%),通过率 30% 无回归 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 记录 HANDOFF 文档提交 df34c1c8 - 记录 Vue placeholder 转义提交 11e1dd85 - 更新性能测试模块当前状态与遗留事项 Co-Authored-By:
Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
背景:5.44 出现执行线程死亡但进程存活的「僵尸执行」——DB 记录卡 running 29 小时,内存锁已释放但 DB 层 running 守卫(scheduler_service.py)永久挡死 调度,定时任务 6 小时触发全部被跳过。启动期 recover_interrupted_executions 只兜进程重启,无法兜线程死亡。 实现(execution_service.py + main.py): - 新增常驻 watchdog_loop,每 60s 扫描 UI running/pending 执行 - 双活信号:内存心跳(每用例完成后 touch)+ DB 结果数跨扫描增长 (非绝对数量,存量结果不算存活) - 30 分钟无活信号判僵尸,标记 failed + 释放内存锁(set_running_execution) - 安全测试执行不纳入看门狗;5 分钟启动缓冲避免误杀 验证: - 新增 tests/test_watchdog_stale_execution.py(9 例,全绿) - 5.202/5.60 已部署并清理各自 1 个僵尸执行(330/0 条结果),自动触发新回归 - 5.44 等待当前 332 用例回归跑完后部署 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 29 8月, 2026 4 次提交
-
-
由 陈泽健 提交于
- DeviceList.vue: 运行时参数 JSON 示例占位符转义 - ApiCaseList.vue: 请求体 JSON 示例占位符转义 - ApiPresetDialog.vue: headers/body/bodyTemplate 示例占位符转义 - TaskList.vue: 请求头/CSV 映射/步骤占位符 JSON 示例统一转义 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- playwright_executor 新增 execute_action 统一动作分发层(navigate/click/fill/select/ hover/wait/scroll/press/check/uncheck/assert/screenshot/api_call),供 SmartLocateService 复用,保证智能定位路径与正式执行路径行为一致 - micro-app evaluator 重写:递归穿透嵌套 micro-app 与 shadowRoot,支持 :has-text/ :visible/:nth-match;新增 check/uncheck 状态确认防假通过;fill 返回值确认 - smart_locate_service 统一执行路径(execute_action + verify_step),字段透传 - router /verify-step 真实验证:非法动作 400、业务失败返回 success=False - 前端 Cases.vue/elementLocate.ts 步骤转换增加字段透传(verify/expected/semantic) - 新增 test_micro_app_adapter / test_verify_step 单元与契约测试 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- execution_service 新增 recover_interrupted_executions:启动把超龄 running/pending UI 执行标 failed,同步其 pending/running 用例结果 - scheduler_service run_task_once 新增 DB 级兜底:内存锁为空但 DB 仍有 running/pending UI 执行时跳过触发并推进 next_run_at - main lifespan 启动调用恢复,打印清理日志 - 新增 test_scheduler_recovery 5 项测试 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 27 8月, 2026 2 次提交
-
-
由 陈泽健 提交于
HANDOFF_UI自动化.md 更新:会话43 薄弱模块 R7 执行器修复(commit a63d090c) 按安全流程部署 5.44/5.202/5.60,三台容器内 SHA 一致、健康检查通过; 会话时间线新增 43;待办勾选 R7 三台部署完成并新增 P1/P2 待部署。 Co-Authored-By:
Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 资源使用分析扩展为四维度:执行机整体 / 目标机整体 / Java 进程 / MySQL - 新增 _extract_java_process_stats / _extract_mysql_stats / _fmt_num 辅助方法 - Chapter 四重写为 4 小节,瓶颈表新增 Java 进程与 MySQL 条目,建议表同步 - 更新 LLM Prompt 第四章要求四维度分析,资源表头改 [资源,指标,值,状态] - 修复 _rule_based_analysis 中 exec_cpu_avg / exec_cpu_max 未定义问题(上一轮遗留) - 测试新增 4 个资源维度用例,共 20 passed,全量 295 passed Co-Authored-By:Claude <noreply@anthropic.com>
-
- 26 8月, 2026 6 次提交
-
-
由 陈泽健 提交于
读取嵌套 stats 中的 CPU/内存平均值与峰值,并兼容旧版平铺字段;补充资源章节展示及峰值瓶颈识别。 Co-Authored-By:Claude Fable 5 <noreply@anthropic.com>
-
由 陈泽健 提交于
从项目管理进入的性能任务点击"执行"后,读取返回的 executionId 立即跳转到 监控界面并携带 executionId 实时展示执行进度,与任务列表页行为保持一致。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
汇总设备模拟、文档管理、功能测试、部署运维及性能测试相关的当前工作区变更。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 正式文档排版: AI Word 导出增加安全封面页、静态目录页、正文标题去重、 章节分页、表格斑马纹、页眉页脚/页码及 Word 兼容样式(exportReport.ts) - A 方案: 下载发起后 ElMessageBox 确认提示, 展示实际文件名 - B 方案: 新增 downloadArtifact store, 右下角浮动卡片支持再次下载/关闭, ObjectURL 在替换/关闭/卸载时释放并可惰性重建 - 安全边界: 封面仅含任务名/分析类型/来源/生成时间, 不写入任何凭据 - lint: 新增 ESLint 9 flat config + vue/ts 解析器, 0 errors - 验证: 前端 build/lint 通过, 后端 16 passed, 部署 5.60 容器 healthy Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- FR-1 图表尺寸控制:图表 img width=700 解决 Word 溢出,保留 pixelRatio:2 高清 - FR-2 指标卡片 Word 兼容:flexbox 改 table 网格布局(核心/执行机/目标机/MySQL) - FR-3 表格列宽比例:5 张表全部 colgroup 控制列宽 - FR-4 专业排版:h1 21pt 主题色底边线 / h2 分隔线 / 表头隔行变色 / mso-* Word 兼容 - FR-5 分页控制:page-break-inside/after avoid + 快照表前强制分页 - FR-6 合并报告同步:ProjectReport 同步全部排版优化 - 导出文件名:单任务用任务名、合并报告用项目名(sanitizeFilename 清洗非法字符) - 新增 PRD 文档:报告导出排版质量优化需求文档 + 计划执行文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 25 8月, 2026 7 次提交
-
-
由 陈泽健 提交于
- buildReportHtml() 补全6个缺失模块(执行机资源/目标机资源/Java进程/MySQL/事务步骤/接口统计) - buildReportHtml() 补全5个缺失图表(网络趋势/目标机资源/Java进程CPU/瀑布图) - exportPdf() 图片加载动态等待(5s超时兜底),避免PDF空白图片 - buildExportHtml() 新增Word兼容mso-样式 + 打印分页控制 - ProjectReport 导出补全 min/max RT + 收发字节指标 - 接口名展示:后端 _strip_url_prefix() + 前端 displayApiName() 兜底去前缀 - 新增 PRD 文档:报告导出质量优化需求文档 + 计划执行文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
冲突处理(backend/data/test_platform.db): - 以远程库为基础:保留 performance_executions 新表、performance_tasks/ snapshots 新列 schema、device_report_logs 数据 - test_cases/executions/case_results 三表整表覆盖为本地版本 (远程相对 base 零改动;本地含 315 用例 + 14 条薄弱模块断言对齐 + R7 执行记录 exec_111da393 31/31 passed) - 合并后 integrity_check ok,关键数据抽检通过 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- _navigate_to_target_page 弃用裸 goto,改走 _do_navigate 完整路径 (跨微应用 warm-up + _goto_full_page + _ensure_micro_app_loaded + _verify_micro_app_stable) - _ensure_micro_app_loaded 新增阶段4 reload 兜底:body 为 NO-BODY 时 page.reload()(探测证明 localStorage 方案 A/B/C 全部失败,reload 唯一有效) - 14 个薄弱模块用例步骤断言对齐(monitor 9 + 消息通知 3 + 信息窗 1 + 通讯录 1) - 沉淀 5 个探测/复刻脚本至 backend/scripts/ - R7 执行 exec_111da3930d734bc7a4a2ea009336558f:31/31 通过 100%,799.7s - 同步更新 HANDOFF_UI自动化.md(会话 39/38 记录) Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增「请求详情接口名显示修复 + URL 去前缀需求」最新会话更新章节,记录 api_name 字段映射排查结论、用户 URL 去前缀需求及实现建议、E2E 验证结果与待办交接 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 新增 PRD _PRD_请求详情查看与报告导出优化 及计划执行文档 - 新增问题处理/执行计划文档:监控无数据、报告 MySQL 缺失、请求详情无数据的排查修复记录(含 5.60 端到端自测结果) - HANDOFF 更新本次会话进度与提交记录(feat 59cc11a1) Co-Authored-By:
Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 新增 PerformanceRequestDetail 表与任务/执行级采集开关(off/on/errors_only),执行器按模式采集请求报文,超限自动截断 - 新增请求明细两段式查询 API(列表 + 详情),规避 MySQL sort buffer 爆内存 - 报告页新增「请求详情」Tab:筛选(状态码簇/成败/关键字/耗时区间)+ 分页表格 + 70% 详情抽屉(完整请求/响应报文、复制按钮) - 项目报告页任务明细新增「查看请求详情」入口(深度链接 activeTab=details) - 「导出 JSON」升级为「导出 Word / PDF / JSON」下拉(exportReport.ts,ECharts base64 嵌入) - 修复 run_task_async() 创建执行记录缺失 request_detail_enabled 导致采集标志恒为 off 的 bug - 新增端到端自测脚本 probe_e2e_rerun.py(5.60 实测:200 条明细 + MySQL 快照 + 报告汇总全部通过) Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- target_resource_monitor.py: 通过 docker exec 采集 umysql 容器指标(连接数/线程/慢查询/Buffer Pool 命中率/流量),与系统资源并行采集,失败不影响系统指标 - performance_executor.py: 报告构建时汇总 MySQL 指标到 target_resource_summary - performance.ts: 新增 TargetResourceData.mysql 类型定义 - MonitorPanel.vue: 新增 MySQL 指标卡片 + 实时趋势图(连接数/活跃线程) - performance_service.py: 报告摘要填充任务关联字段(target_url/method/mode/scenario_type) Co-Authored-By:Claude <noreply@anthropic.com>
-