121 lines
3.4 KiB
Markdown
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. 确保网络连接正常 |