Files
18xchat/assets/Scripts/chat18x/test/README.md
T
2025-09-20 20:37:31 +08:00

121 lines
3.4 KiB
Markdown

# ChatAI 批量测试工具
本工具用于批量测试 ChatAIService 的 sendMessage 功能,测试角色ID 10001-10030 的可用性。
## 文件说明
### 1. ChatAIServiceBatchTest.ts
- **类型**: Cocos Creator 组件
- **用途**: 带UI界面的测试工具
- **特点**: 需要挂载到节点上,有可视化界面
### 2. ChatAIBatchTestRunner.ts
- **类型**: 纯TypeScript脚本
- **用途**: 无UI的批量测试工具
- **特点**: 可以直接在代码中调用
## 使用方法
### 方法一:使用UI组件版本
1. 在Cocos Creator中创建一个测试场景
2. 创建一个节点并挂载 `ChatAIServiceBatchTest` 组件
3. 配置UI元素:
- `startTestButton`: 开始测试按钮
- `statusLabel`: 状态显示标签
- `resultLabel`: 结果显示标签
4. 运行场景,点击按钮开始测试
### 方法二:使用纯脚本版本(推荐)
在任何TypeScript文件中导入并调用:
```typescript
import { runChatAIBatchTest } from 'db://assets/Scripts/chat18x/test/ChatAIBatchTestRunner';
// 直接运行测试
runChatAIBatchTest();
```
或者使用类实例:
```typescript
import { ChatAIBatchTestRunner } from 'db://assets/Scripts/chat18x/test/ChatAIBatchTestRunner';
const testRunner = new ChatAIBatchTestRunner();
await testRunner.runBatchTest();
```
## 测试流程
1. 依次测试角色ID 10001 到 10030
2. 对每个ID发送消息 "hello"
3. 每次调用后等待10秒(最后一个测试不等待)
4. 记录成功和失败的角色ID
5. 输出详细的测试报告
## 测试报告内容
- 总测试数量
- 成功/失败数量和比例
- 成功的角色ID列表
- 失败的角色ID列表及错误原因
- 每个测试的耗时统计
- 总耗时和平均耗时
## 示例输出
```
==============================================================
ChatAI 批量测试报告
==============================================================
测试时间: 2024/3/15 14:30:25
总测试数: 30
成功数量: 25
失败数量: 5
成功率: 83.33%
总耗时: 315.68秒
平均耗时: 10.52秒/测试
------------------------------ 成功的角色ID ------------------------------
10001-10015, 10017-10025, 10028
------------------------------ 失败的角色ID ------------------------------
10016, 10026, 10027, 10029, 10030
------------------------- 失败详情 -------------------------
角色 10016: API调用超时
角色 10026: 返回空响应
角色 10027: 网络连接失败
角色 10029: API密钥无效
角色 10030: 角色配置不存在
==============================================================
简洁结果:
成功(25): 10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10017,10018,10019,10020,10021,10022,10023,10024,10025,10028
失败(5): 10016,10026,10027,10029,10030
```
## 注意事项
1. 确保 ChatAIService 已正确初始化
2. 测试过程中不要关闭应用,总耗时约5-6分钟
3. 测试结果会输出到控制台,注意查看
4. 建议在开发环境下运行测试
5. 如需中断测试,重启应用即可
## 技术细节
- 使用 Promise 和 async/await 处理异步操作
- 通过 setTimeout 实现精确的10秒延时
- 自动错误捕获和分类
- 智能的ID列表格式化显示
- 详细的执行时间统计
## 故障排除
如果测试无法启动:
1. 检查 ChatAIService 是否正确导入
2. 确认 AI API 配置是否有效
3. 查看控制台错误信息
4. 确保网络连接正常