主要更改: - 重写前端 extension.js,完全自己控制图像渲染 - 去掉 nodes.py 的 image_upload,避免双图像问题 - 实现选区框绘制(橙色)+ 遮罩区域显示(红色) - 实现选区框拖动功能 - 修复 onMouseDown 参数格式: (e, pos, canvas) - 更新文档和开发日志
186 lines
5.5 KiB
Markdown
186 lines
5.5 KiB
Markdown
# InpaintRegionEditor 测试清单
|
||
|
||
> 版本:1.0 | 日期:2026-03-02
|
||
|
||
---
|
||
|
||
## 一、后端测试
|
||
|
||
### 1.1 蒙版提取测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 上传带 Alpha 的 PNG | 正确提取 MASK | ⬜ 待测试 |
|
||
| 上传不带 Alpha 的 PNG | 抛出 ValueError | ⬜ 待测试 |
|
||
| Alpha = 0(全透明) | MASK = 1.0(全遮罩) | ⬜ 待测试 |
|
||
| Alpha = 255(全不透明) | MASK = 0.0(无遮罩) | ⬜ 待测试 |
|
||
|
||
### 1.2 选区计算测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| padding = 64 | 选区 = 遮罩边界 + 64px | ⬜ 待测试 |
|
||
| padding = 0 | 选区 = 遮罩边界 | ⬜ 待测试 |
|
||
| 选区超出图像边界 | 自动裁剪到边界内 | ⬜ 待测试 |
|
||
| 用户拖动选区 | 使用前端坐标 | ⬜ 待测试 |
|
||
|
||
### 1.3 输出测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| IMAGE 输出 | RGB tensor [1, H, W, 3] | ⬜ 待测试 |
|
||
| MASK 输出 | Float tensor [1, H, W] | ⬜ 待测试 |
|
||
| region_top/left/width/height | 正确的 INT 值 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 二、前端测试
|
||
|
||
### 2.1 节点创建测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 添加节点到画布 | 节点显示正确 | ⬜ 待测试 |
|
||
| 图像选择 widget | 下拉列表显示文件 | ⬜ 待测试 |
|
||
| padding widget | 默认值 64,范围 0-512 | ⬜ 待测试 |
|
||
| 选区框 Canvas | 显示遮罩 + 选区框 | ⬜ 待测试 |
|
||
|
||
### 2.2 选区框交互测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 遮罩显示 | 半透明红色区域 | ⬜ 待测试 |
|
||
| 选区框显示 | 橙色虚线边框 | ⬜ 待测试 |
|
||
| 拖动选区框 | 坐标实时更新 | ⬜ 待测试 |
|
||
| 尺寸标签 | 显示 W×H | ⬜ 待测试 |
|
||
| 拖动后同步 widget | region_coords 更新 | ⬜ 待测试 |
|
||
|
||
### 2.3 右键菜单测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 右键节点 | 显示"打开 Photopea 编辑"选项 | ⬜ 待测试 |
|
||
| 未选择图像时点击 | alert("请先选择一张图像") | ⬜ 待测试 |
|
||
| 选择图像后点击 | 打开 Photopea 模态框 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 三、Photopea 集成测试
|
||
|
||
### 3.1 模态框测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 模态框显示 | 全屏黑色背景 | ⬜ 待测试 |
|
||
| Photopea iframe 加载 | 显示 Photopea 界面 | ⬜ 待测试 |
|
||
| 状态栏显示 | "正在加载图像..." | ⬜ 待测试 |
|
||
| 取消按钮 | 关闭模态框 | ⬜ 待测试 |
|
||
|
||
### 3.2 图像加载测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 图像加载到 Photopea | 显示在画布中 | ⬜ 待测试 |
|
||
| 加载 RGB(无 Alpha) | 纯 RGB 图像 | ⬜ 待测试 |
|
||
| 加载失败处理 | 状态栏显示错误 | ⬜ 待测试 |
|
||
|
||
### 3.3 图像保存测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 保存按钮点击 | "正在导出图像..." | ⬜ 待测试 |
|
||
| 图像导出 | PNG 格式 | ⬜ 待测试 |
|
||
| 上传到 ComfyUI | 文件保存到 input 目录 | ⬜ 待测试 |
|
||
| 节点 widget 更新 | image widget 显示新文件名 | ⬜ 待测试 |
|
||
| 保存失败处理 | 状态栏显示错误 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 四、集成工作流测试
|
||
|
||
### 4.1 完整流程测试
|
||
|
||
```
|
||
步骤 1: 上传带 Alpha 的 PNG
|
||
步骤 2: 验证节点显示遮罩 + 选区框
|
||
步骤 3: 调整 padding 值
|
||
步骤 4: 拖动选区框位置
|
||
步骤 5: 右键 → 打开 Photopea 编辑
|
||
步骤 6: 在 Photopea 中编辑图像
|
||
步骤 7: 保存返回节点
|
||
步骤 8: 执行工作流
|
||
步骤 9: 验证输出
|
||
```
|
||
|
||
| 步骤 | 预期结果 | 状态 |
|
||
|------|---------|------|
|
||
| 1 | 文件出现在下拉列表 | ⬜ 待测试 |
|
||
| 2 | Canvas 显示遮罩和选区 | ⬜ 待测试 |
|
||
| 3 | 选区自动重算 | ⬜ 待测试 |
|
||
| 4 | region_coords 更新 | ⬜ 待测试 |
|
||
| 5 | Photopea 模态框打开 | ⬜ 待测试 |
|
||
| 6 | 可以编辑图像 | ⬜ 待测试 |
|
||
| 7 | 新图像更新到节点 | ⬜ 待测试 |
|
||
| 8 | 工作流执行成功 | ⬜ 待测试 |
|
||
| 9 | IMAGE/MASK/region_* 输出正确 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 五、错误处理测试
|
||
|
||
### 5.1 后端错误
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 无蒙版图像执行 | ValueError + 友好提示 | ⬜ 待测试 |
|
||
| 选区小于遮罩 | ValueError + 尺寸提示 | ⬜ 待测试 |
|
||
| 图像文件不存在 | 错误处理 | ⬜ 待测试 |
|
||
|
||
### 5.2 前端错误
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| Photopea 加载超时 | 超时错误提示 | ⬜ 待测试 |
|
||
| 图像上传失败 | 错误提示 | ⬜ 待测试 |
|
||
| 网络断开 | 错误处理 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 六、性能测试
|
||
|
||
| 测试项 | 预期结果 | 状态 |
|
||
|--------|---------|------|
|
||
| 1024×1024 图像加载 | < 2 秒 | ⬜ 待测试 |
|
||
| 选区框拖动流畅度 | 60fps | ⬜ 待测试 |
|
||
| Photopea 首次加载 | < 10 秒 | ⬜ 待测试 |
|
||
| Photopea 缓存后加载 | < 3 秒 | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 七、浏览器兼容性测试
|
||
|
||
| 浏览器 | 状态 |
|
||
|--------|------|
|
||
| Chrome (最新版) | ⬜ 待测试 |
|
||
| Firefox (最新版) | ⬜ 待测试 |
|
||
| Edge (最新版) | ⬜ 待测试 |
|
||
| Safari (macOS) | ⬜ 待测试 |
|
||
|
||
---
|
||
|
||
## 八、测试结果汇总
|
||
|
||
| 类别 | 通过 | 失败 | 待测试 |
|
||
|------|------|------|--------|
|
||
| 后端测试 | 0 | 0 | 14 |
|
||
| 前端测试 | 0 | 0 | 16 |
|
||
| Photopea 集成 | 0 | 0 | 11 |
|
||
| 集成工作流 | 0 | 0 | 9 |
|
||
| 错误处理 | 0 | 0 | 6 |
|
||
| 性能测试 | 0 | 0 | 4 |
|
||
| 浏览器兼容 | 0 | 0 | 4 |
|
||
|
||
---
|
||
|
||
*文档创建时间:2026-03-02*
|