df2a183dbf
Plain overlay (33 items, same-source lineage, zero patch replay). Theme suites 35/35; full run 453 passed + 10 known Windows env fails (suspect-module rerun confirms identical failure set). Live: container 8.34.1-dev.1; hesupipe home leftover industrial-preset blocks cleared via studio draft+publish flow — home now renders pure trade-pro template (sf-section/Chinese blocks = 0). Co-Authored-By: Claude Code <noreply@anthropic.com>
1 line
6.4 KiB
HTML
1 line
6.4 KiB
HTML
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>V8.34.1 功能与安全回归报告</title><style>body{margin:0;font:15px/1.7 system-ui,-apple-system,"Microsoft YaHei",sans-serif;background:#f5f7fb;color:#192b45}.wrap{max-width:1120px;margin:auto;padding:40px 24px}h1{font-size:34px;line-height:1.25;letter-spacing:-.04em}h2{margin-top:36px;font-size:22px}.muted{color:#65748a}.eyebrow{color:#e66826;font-size:12px;font-weight:700;letter-spacing:.14em}.metrics{display:flex;gap:12px;flex-wrap:wrap}.metric{border:1px solid #dce4eb;border-radius:12px;background:white;padding:20px;flex:1;min-width:160px}.metric strong{font-size:31px;display:block;color:#176947}.surface{background:white;padding:24px;border-radius:12px;border:1px solid #e0e5eb}.shots{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start}.shots img{width:100%;height:auto;border-radius:9px;border:1px solid #dce4eb}table{border-collapse:collapse;width:100%;background:white}th,td{border-bottom:1px solid #e5eaf0;text-align:left;padding:11px 14px}th{background:#eff3f8}a{color:#245ca5}code{background:#f1f4f9;padding:2px 6px;border-radius:4px}@media(max-width:720px){.shots{grid-template-columns:1fr}.wrap{padding:20px 16px}}</style></head><body><main class="wrap"><p class="eyebrow">SITEFORGE ENTERPRISE · V8.34.1</p><h1>多图 Banner 与参数可视化编辑<br>集成验收报告</h1><p class="muted">验收范围:V8.34 基线 + 轮播 Banner + 人工参数补充;系统为开发集成版,不包含正式公网部署验收。</p><section class="metrics"><div class="metric"><strong>464</strong>Python 用例通过</div><div class="metric"><strong>40</strong>JavaScript 用例通过</div><div class="metric"><strong>20/20</strong>隔离批次通过</div><div class="metric"><strong>6</strong>浏览器设备宽度验证</div></section><h2>实际渲染效果</h2><section class="shots"><a href="v8341-desktop.png"><img src="v8341-desktop.png" alt="电脑端 Banner 和参数表"></a><a href="v8341-mobile.png"><img src="v8341-mobile.png" alt="手机端 Banner 和参数表"></a></section><h2>已实现功能</h2><div class="surface"><p><strong>Banner:</strong>六张以内、逐张编辑文字及图片、可从素材库选择/上传、排序/删除、切换按钮、手机左右滑动、无自动播放、首页首图优先加载。删除所有幻灯片恢复旧单图。</p><p><strong>产品参数:</strong>自动读取产品数据、纯手动、自动数据 + 补充三种模式;每项只需填写名称和数值;保留原内容数据。</p><p><strong>安全与兼容:</strong>输入白名单与 HTML 输出转义,禁止危险图片/链接协议;旧 Hero/参数表默认渲染不变。五套主题及历史版本回归保留。</p><p><strong>SEO:</strong>多图 Banner 仅第一张使用 H1,其余使用 H2。</p></div><h2>真实链路与测试边界</h2><div class="surface"><p>HTTP + Worker:登录/CSRF → 建站/建页 → 入队 → 异步构建 → ZIP 下载 → 预览,已通过。</p><p>Chromium:使用与实际构建同源的 <code>render_blocks()</code>、<code>blocks.css</code>、<code>site-runtime.js</code> 构建独立演示,在 1440 / 1024 / 820 / 430 / 390 / 375px 宽度下实际点击上一张、下一张,0 页面脚本错误,0 水平溢出。</p><p><strong>尚未覆盖:</strong>真实登录后的完整编辑器浏览器 E2E、五主题全部真实页面视觉基线、Art Design Pro 官方源工程的完整集成编译、正式 PostgreSQL/Redis 多 Worker、生产发布和灾难恢复演练。新增控件专项浏览器验证的是最终静态页面,不应误认为完整编辑器 E2E。</p></div><h2>全部隔离回归批次</h2><table><thead><tr><th>测试模块</th><th>状态</th><th>耗时</th></tr></thead><tbody><tr><td>test_commercial_v5.py, test_connectors_v84.py, test_connectors_v85.py</td><td>passed</td><td>5.55 s</td></tr><tr><td>test_console_v819.py, test_core_v4.py, test_deep_nested_v824.py</td><td>passed</td><td>5.57 s</td></tr><tr><td>test_editor_easy_v8212.py, test_editor_ux_v8211.py, test_enterprise.py</td><td>passed</td><td>4.26 s</td></tr><tr><td>test_enterprise_v7.py, test_factory.py, test_factory_v2.py</td><td>passed</td><td>7.39 s</td></tr><tr><td>test_hesupipe_layout_v8331.py, test_mobile_tabs_v8213.py, test_multilingual_v815.py</td><td>passed</td><td>6.67 s</td></tr><tr><td>test_nested_v823.py, test_p0_71.py, test_p0_backup.py</td><td>passed</td><td>3.84 s</td></tr><tr><td>test_p0_p4_completion_v88.py, test_p0_p4_completion_v89.py, test_p1_platform.py</td><td>passed</td><td>8.79 s</td></tr><tr><td>test_production_v816.py, test_professional_ui_v811.py, test_regression_runner_v817.py</td><td>passed</td><td>5.32 s</td></tr><tr><td>test_release_native_v814.py, test_release_reviews_v7.py, test_release_v813.py</td><td>passed</td><td>4.39 s</td></tr><tr><td>test_site_design_v87.py, test_siteforge_v817_audit.py, test_studio_v86.py</td><td>passed</td><td>7.29 s</td></tr><tr><td>test_theme_pro_v3.py, test_theme_registry.py, test_v818_pg_recovery.py</td><td>passed</td><td>13.83 s</td></tr><tr><td>test_v818_sqlite_pg_transfer.py, test_v821_editor_history_and_mapping.py, test_v822_canvas.py</td><td>passed</td><td>4.02 s</td></tr><tr><td>test_v825_shared_components.py, test_v826_global_design.py, test_v827_guided_workspace.py</td><td>passed</td><td>5.25 s</td></tr><tr><td>test_v828_launch_center.py, test_v829_theme_studio.py, test_v830_real_pages.py</td><td>passed</td><td>10.79 s</td></tr><tr><td>test_v8311_performance_icons.py, test_v831_automotive_ref.py, test_v832_preview_easy_editor.py</td><td>passed</td><td>6.62 s</td></tr><tr><td>test_v833_theme_integration.py, test_v8341_slide_specs.py, test_v834_visual_presets.py</td><td>passed</td><td>4.56 s</td></tr><tr><td>test_v8_art_installer.py, test_v8_workflows.py, test_wordpress_baseline.py</td><td>passed</td><td>3.79 s</td></tr><tr><td>test_worker_queue_v6.py, test_workspace_v810.py, test_workspace_v812.py</td><td>passed</td><td>7.92 s</td></tr><tr><td>test_wp_complex_v820.py, test_wp_migration_v81.py, test_wp_migration_v82.py</td><td>passed</td><td>6.69 s</td></tr><tr><td>test_wp_migration_v83.py</td><td>passed</td><td>3.64 s</td></tr></tbody></table><p class="muted">原始日志保存在 <code>reports/v8341-regression/batch-*.log</code>,汇总在 <code>result.json</code>,浏览器结果在 <code>browser_result.json</code>。按独立批次执行,防止测试长流程互相阻塞。</p></main></body></html> |