Files
goodbuddy/docs/pr-articles/screenshot-guide.md
T

59 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PR 文章截图步骤
本页规定宣传素材的准备顺序。隔离启动和自动化实现以
[Electron UI 自动化规范](../quality/electron-ui-automation.md#3-当前源码与隔离启动)为准,
不重复维护另一套测试机制。目前仓库没有通用的一键完整 App 截图命令;执行者需要复用或
按规范准备临时驱动,不能将下面的流程描述当作已经实现的自动化脚本。
## 1. 确认版本和素材
从仓库根目录检查 `git rev-parse HEAD`、`git status --short`、`node --version` 和
`node -p "require('electron/package.json').version"`。依赖缺失时按
[开发与构建](../../BUILD.md)准备,不重复安装已满足的依赖。
在本轮 `review.md` 中记录目标提交、实际构建来源、平台、语言、主题、缩放和截图清单。
优先采用 1280×800 内容区、统一主题与中文界面,按演示需要调整,并记录实际尺寸。
每张图先写清要说明的动作和结果。重点 PR 优先连续演示,常规 PR 只拍需要解释的界面变化。
## 2. 准备隔离环境
使用本轮专用临时目录,包含 profile、演示工作区、驱动和原始截图。不要复制整套私人会话。
仅使用公开或明确虚构的演示资料,凭据沿用已授权的安全配置方式,不写入文档、脚本或图片。
使用可确认属于目标版本的产物。`npm start` 只预览已有产物,不自动重建,也不自动隔离数据;
`npm run dev` 同样不能代替隔离启动器。`GOODBUDDY_WORKSPACE` 只指定工作区,不隔离用户数据库。
不存在可直接假定有效的 `GOODBUDDY_TEST_MODE` 或 `GOODBUDDY_USER_DATA` 开关。
开发场景的构建方法见自动化规范;发布准备遵循[发布手册](../development/release-runbook.md),
宣传材料不自动授权本地生产构建、打包或 packaged-app 探测。没有匹配产物时记录缺口,
继续其他材料准备,不能将旧产物截图标成新版本。
## 3. 启动与操作
按自动化规范准备独立 Node supervisor 和 Electron bootstrap:
1. 在 Electron ready 之前设置专用 `userData`、`sessionData` 和日志路径,再动态导入对应产物的
`out/main/index.js`,由生产 Main 创建窗口并加载真实 Preload、Renderer。
2. supervisor 从仓库解析 Electron,清除子进程环境中的 `ELECTRON_RUN_AS_NODE`,设置有限期限。
检查最终用户数据路径仍在临时目录,避免便携模式覆盖隔离配置。
3. 按实际临时驱动路径执行 `node "<本轮临时目录>/run.mjs"`。这是驱动适配完成后的命令模板,
不是仓库现成入口。记录驱动来源、实际命令、入口文件与构建身份。
4. 从正常 UI 创建演示项目、会话和配置。通过 Electron 输入 API 操作,等待目标状态、字体和布局
就绪后使用 `capturePage().toPNG()` 截图。不能注入完成事件或假答案替代真实任务。
现有 `node build/run-browser-tabs-electron-e2e.cjs` 可供参考启动与进程监督方式,
但它是浏览器服务集成测试,不是完整应用截图命令。网页浏览器工具也不能直接当作桌面控制器。
组件 fixture 只能作为明确标注的辅助示意,不作为主功能完成的证据。
## 4. 审阅与归档
逐张打开原图,检查文字可读、菜单没有遮挡关键内容、状态和正文描述一致,以及是否含私人数据。
对原生浏览器视图等复合界面,确认截图实际包含要展示的内容;不能仅凭 PNG 文件存在判定成功。
保存原图,裁切或标注另存;处理不能改变产品含义。
将采用的图片放入本轮 `assets/`,用相对路径写进文章。`review.md` 记录操作步骤、文件名、
实际观察结果、图片审阅情况及模型/服务调用情况。失败时保留阶段和脱敏诊断,列出待补素材。
先归档必要材料,再停止本轮进程、服务并清理临时 profile;不得按进程名批量结束用户应用。
发布前核对最终版本行为是否仍与截图一致;有变化则重拍受影响部分。