# 小红书发布功能验证脚本
这是一个基于 CLI 的小红书发布功能验证脚本,用于测试发布、验证、删除功能的完整性,并生成详细的 HTML 格式报告。
## 功能特性
- ✅ **发布内容测试**: 自动发布测试内容到小红书
- ✅ **发布验证**: 验证内容是否成功发布
- ✅ **删除内容测试**: 删除刚发布的内容
- ✅ **删除验证**: 验证内容是否成功删除
- ✅ **HTML 报告**: 生成美观的 HTML 格式测试报告
- ✅ **JSON 报告**: 生成机器可读的 JSON 格式报告
- ✅ **实时日志**: 显示测试进度和结果
## 快速开始
### 运行验证测试
```bash
# 运行验证测试
npm run validate
# 或直接运行
node scripts/cli-validation.js
```
### 查看测试报告
测试完成后,会在 `reports/` 目录下生成两个文件:
- `cli-validation-test-{timestamp}.html` - HTML 格式报告(推荐查看)
- `cli-validation-test-{timestamp}.json` - JSON 格式报告
## 测试流程
脚本会按以下顺序执行测试:
1. **📝 发布内容测试**
- 使用测试图片发布一篇笔记
- 标题格式: `验证测试-{时间戳}`
- 内容: 自动化验证测试内容
- 标签: 测试,验证,自动化
2. **🔍 发布验证测试**
- 获取用户笔记列表
- 验证刚发布的笔记是否存在
- 确认笔记标题和内容正确
3. **🗑️ 删除内容测试**
- 删除刚发布的笔记
- 确认删除操作成功
4. **🔍 删除验证测试**
- 再次获取用户笔记列表
- 验证笔记已从列表中移除
5. **📊 生成报告**
- 生成 HTML 格式的详细报告
- 生成 JSON 格式的数据报告
## HTML 报告特性
生成的 HTML 报告包含:
- **📊 测试统计**: 总测试数、通过数、失败数、成功率
- **📋 测试步骤详情**: 每个测试步骤的详细信息和耗时
- **📊 功能验证摘要**: 各功能模块的状态
- **🎯 整体状态**: 测试的整体结果
- **📱 响应式设计**: 支持移动端查看
- **🎨 美观界面**: 现代化的 UI 设计
## 输出示例
### 控制台输出
```
🚀 开始小红书发布功能验证测试...
📝 开始测试发布内容...
✅ 发布成功 - Note ID: 68f97f1000000000050314d6
🔍 开始验证发布成功...
✅ 验证发布成功 - 找到笔记: 验证测试-2025-10-23T01-03-51
🗑️ 开始测试删除内容...
✅ 删除成功 - Note ID: 68f97f1000000000050314d6
🔍 开始验证删除成功...
✅ 验证删除成功 - 笔记已从列表中移除
✅ 验证测试完成,总耗时: 64952ms
📊 JSON 报告已保存到: reports/cli-validation-test-2025-10-23T01-04-56.json
📊 HTML 报告已保存到: reports/cli-validation-test-2025-10-23T01-04-56.html
```
### HTML 报告预览
HTML 报告包含:
- 美观的卡片式布局
- 测试统计信息
- 详细的测试步骤
- 功能验证摘要
- 整体状态显示
## 配置要求
### 前置条件
1. **测试图片**: 确保 `examples/images/` 目录下有可用的测试图片
- `circle.png`
- `geometric.png`
- `wave.png`
- 或其他支持的图片格式
2. **登录状态**: 确保已经登录小红书账号
3. **网络连接**: 确保网络连接稳定
### 环境要求
- Node.js >= 18.0.0
- Chrome 或 Chromium 浏览器
- 稳定的网络连接
## 故障排除
### 常见问题
1. **找不到测试图片**
```
❌ 未找到测试图片
```
**解决方案**: 检查 `examples/images/` 目录,确保有至少一个图片文件
2. **登录状态问题**
```
❌ 用户未登录
```
**解决方案**: 确保已登录小红书账号,检查浏览器 cookies 是否有效
3. **网络连接问题**
```
❌ 网络连接失败
```
**解决方案**: 检查网络连接,确保可以访问小红书网站
### 调试模式
如果需要更详细的调试信息,可以设置环境变量:
```bash
DEBUG=true npm run validate
```
## 退出码
- `0`: 所有测试通过
- `1`: 存在测试失败或脚本执行错误
## 安全注意事项
1. **测试环境**: 建议在测试环境中运行,避免影响正式内容
2. **测试账号**: 使用专门的测试账号,避免影响正式账号
3. **内容清理**: 脚本会自动清理测试内容,但建议定期检查
4. **权限控制**: 确保测试账号有发布和删除权限
## 文件结构
```
scripts/
├── cli-validation.js # 主验证脚本
└── README.md # 使用说明
reports/ # 测试报告目录
├── cli-validation-test-*.html # HTML 格式报告
└── cli-validation-test-*.json # JSON 格式报告
```
## 扩展功能
### 自定义配置
可以通过修改脚本中的参数来自定义测试:
```javascript
// 自定义测试内容
const title = `自定义测试-${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}`;
const content = '自定义测试内容';
const tags = '自定义,测试,标签';
```
### 定时测试
可以设置定时任务来定期运行验证:
```bash
# 每天运行一次验证
0 9 * * * cd /path/to/project && npm run validate
```
## 最佳实践
1. **定期运行**: 建议每天运行一次验证测试
2. **监控报告**: 及时查看测试报告,发现问题及时处理
3. **环境隔离**: 使用独立的测试环境
4. **数据备份**: 定期备份测试报告
5. **版本控制**: 将测试脚本纳入版本控制
## 技术支持
如果遇到问题,请:
1. 查看控制台错误信息
2. 检查测试报告文件
3. 确认环境配置正确
4. 联系技术支持团队
## 更新日志
- **v1.0.0**: 初始版本,支持基本的发布和删除验证
- **v1.1.0**: 添加了详细的测试报告功能
- **v1.2.0**: 支持自定义测试内容和配置
- **v1.3.0**: 添加了 HTML 格式报告生成功能
- **v2.0.0**: 简化为只保留 CLI 版本,优化 HTML 报告
---
*本指南最后更新时间:2025-10-23*