docs/testing/ai-automation/test-scenarios/error-handling/network-failures.md
测试应用在各种网络故障情况下的错误处理能力,发现网络异常处理相关的bug。
测试目的: 发现API超时处理的bug
AI执行指导:
// 准备测试数据
browser_type(element="原始提示词输入框", ref="e54", text="网络超时测试内容");
// 开始优化(可能会超时)
browser_click(element="开始优化按钮", ref="e78");
// 等待较长时间观察超时处理
browser_wait_for(time=60); // 等待1分钟
// 检查错误处理
browser_snapshot();
// 测试重试功能
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=30);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现网络中断时的处理问题
AI执行指导:
// 开始优化操作
browser_type(element="原始提示词输入框", ref="e54", text="网络中断测试");
browser_click(element="开始优化按钮", ref="e78");
// 等待请求发送后模拟网络中断
browser_wait_for(time=2);
// 检查网络中断时的状态
browser_snapshot();
// 等待网络错误处理
browser_wait_for(time=30);
browser_snapshot();
// 模拟网络恢复,测试重连
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=10);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现API认证错误的处理问题
AI执行指导:
// 先打开模型管理
browser_click(element="模型管理按钮", ref="e21");
browser_wait_for(time=2);
// 输入无效的API密钥(如果可以修改)
// 这里需要根据实际界面调整
browser_type(element="API密钥输入框", ref="api_key_input", text="invalid_api_key_test");
// 保存配置
browser_click(element="保存按钮", ref="save_button");
browser_wait_for(time=2);
// 关闭模型管理
browser_press_key("Escape");
// 尝试进行优化
browser_type(element="原始提示词输入框", ref="e54", text="API密钥无效测试");
browser_click(element="开始优化按钮", ref="e78");
// 等待错误处理
browser_wait_for(time=10);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现服务器错误处理的问题
AI执行指导:
// 准备测试数据
browser_type(element="原始提示词输入框", ref="e54", text="服务器错误测试内容");
// 开始优化
browser_click(element="开始优化按钮", ref="e78");
// 等待可能的服务器错误
browser_wait_for(time=20);
browser_snapshot();
// 检查错误处理后的状态
browser_wait_for(time=10);
browser_snapshot();
// 测试错误恢复
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=15);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现部分网络功能异常时的处理问题
AI执行指导:
// 测试在网络不稳定情况下的多功能操作
browser_type(element="原始提示词输入框", ref="e54", text="部分网络故障测试");
// 同时尝试多个网络操作
browser_click(element="开始优化按钮", ref="e78");
browser_click(element="历史记录按钮", ref="e18");
browser_click(element="模板管理按钮", ref="e15");
// 等待各种网络请求的处理
browser_wait_for(time=15);
browser_snapshot();
// 检查各功能的状态
browser_press_key("Escape"); // 关闭可能的弹窗
browser_press_key("Escape");
browser_snapshot();
// 测试功能恢复
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=10);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现慢速网络下的用户体验问题
AI执行指导:
// 在慢速网络下测试用户体验
browser_type(element="原始提示词输入框", ref="e54", text="慢速网络测试内容");
// 开始优化
browser_click(element="开始优化按钮", ref="e78");
// 在等待过程中测试用户交互
browser_wait_for(time=5);
// 尝试取消操作
browser_press_key("Escape");
browser_snapshot();
// 尝试其他操作
browser_click(element="历史记录按钮", ref="e18");
browser_snapshot();
// 等待原始请求完成
browser_wait_for(time=30);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现网络错误恢复机制的问题
AI执行指导:
// 模拟网络错误后的恢复流程
browser_type(element="原始提示词输入框", ref="e54", text="网络恢复测试");
// 第一次尝试(可能失败)
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=10);
browser_snapshot();
// 等待错误处理
browser_wait_for(time=5);
// 第二次尝试(测试重试)
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=10);
browser_snapshot();
// 第三次尝试(测试持续恢复)
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=15);
browser_snapshot();
// 检查最终状态
browser_wait_for(time=5);
browser_snapshot();
预期发现的问题:
验证点:
# 网络错误处理Bug报告
## Bug信息
- **发现时间:** [时间]
- **网络场景:** [具体网络故障类型]
- **严重程度:** 高/中/低
- **Bug类型:** 错误检测/错误处理/状态管理/用户体验
## 网络故障描述
[详细描述网络故障的类型和条件]
## 复现步骤
1. [模拟网络故障]
2. [执行操作]
3. [观察错误处理]
## 预期行为
[网络错误应该如何正确处理]
## 实际行为
[实际的错误处理表现]
## 用户影响
- **操作中断:** [是否影响用户操作]
- **数据丢失:** [是否有数据丢失风险]
- **体验影响:** [对用户体验的影响]
## 改进建议
- **错误检测:** [检测机制改进]
- **错误处理:** [处理逻辑改进]
- **用户提示:** [提示信息改进]
- **恢复机制:** [恢复策略改进]
注意: 网络故障测试需要在受控环境中进行,可能需要网络模拟工具来创建各种故障场景。