docs/testing/ai-automation/bug-hunting/ui-glitches.md
专门用于发现UI显示相关的bug,包括布局问题、样式异常、响应式问题等视觉和交互缺陷。
测试目的: 发现极端窗口尺寸下的UI布局bug
AI执行指导:
// 测试极小窗口
browser_resize(320, 240); // 极小尺寸
browser_snapshot();
// 输入内容测试布局
browser_type(element="原始提示词输入框", ref="e54", text="极小窗口测试内容");
browser_snapshot();
// 打开各种弹窗测试
browser_click(element="模型管理按钮", ref="e21");
browser_snapshot();
browser_press_key("Escape");
// 测试极大窗口
browser_resize(3840, 2160); // 4K尺寸
browser_snapshot();
// 测试极窄窗口
browser_resize(200, 800); // 极窄
browser_snapshot();
// 测试极宽窗口
browser_resize(2000, 400); // 极宽
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现长文本处理的UI显示问题
AI执行指导:
// 测试超长单词
const longWord = "a".repeat(100);
browser_type(element="原始提示词输入框", ref="e54", text=longWord);
browser_snapshot();
// 测试超长句子
const longSentence = "这是一个非常长的句子,用来测试文本换行和显示效果。".repeat(20);
browser_type(element="原始提示词输入框", ref="e54", text=longSentence);
browser_snapshot();
// 测试混合长文本
const mixedText = `
标题:${longWord}
内容:${longSentence}
结尾:${"测试".repeat(50)}
`;
browser_type(element="原始提示词输入框", ref="e54", text=mixedText);
browser_snapshot();
// 开始优化看结果显示
browser_click(element="开始优化按钮", ref="e78");
browser_wait_for(time=10);
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现主题切换时的样式不一致问题
AI执行指导:
// 在日间模式下操作
browser_click(element="主题切换按钮", ref="e10");
browser_snapshot();
// 打开各种界面元素
browser_click(element="模型管理按钮", ref="e21");
browser_snapshot();
browser_press_key("Escape");
browser_click(element="模板管理按钮", ref="e15");
browser_snapshot();
browser_press_key("Escape");
// 切换到夜间模式
browser_click(element="主题切换按钮", ref="e10");
browser_snapshot();
// 重新打开界面元素检查一致性
browser_click(element="模型管理按钮", ref="e21");
browser_snapshot();
browser_press_key("Escape");
browser_click(element="模板管理按钮", ref="e15");
browser_snapshot();
browser_press_key("Escape");
// 快速切换主题
for (let i = 0; i < 5; i++) {
browser_click(element="主题切换按钮", ref="e10");
browser_wait_for(time=0.5);
}
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现动态内容加载时的UI显示问题
AI执行指导:
// 测试优化过程中的动态显示
browser_type(element="原始提示词输入框", ref="e54", text="动态内容测试");
browser_click(element="开始优化按钮", ref="e78");
// 在加载过程中快速截图
for (let i = 0; i < 10; i++) {
browser_wait_for(time=1);
browser_snapshot();
}
// 测试历史记录动态加载
browser_click(element="历史记录按钮", ref="e18");
browser_snapshot();
// 在历史记录中快速操作
browser_click(element="重用按钮", ref="reuse_button"); // 假设的重用按钮
browser_snapshot();
browser_press_key("Escape");
// 测试模板管理动态内容
browser_click(element="模板管理按钮", ref="e15");
browser_snapshot();
// 添加新模板测试动态更新
browser_click(element="添加模板按钮", ref="add_template_button");
browser_snapshot();
预期发现的问题:
验证点:
测试目的: 发现交互反馈的UI显示问题
AI执行指导:
// 测试悬停状态
const buttons = [
"e78", // 开始优化按钮
"e21", // 模型管理按钮
"e15", // 模板管理按钮
"e18", // 历史记录按钮
];
for (const buttonRef of buttons) {
browser_hover(element="按钮", ref=buttonRef);
browser_snapshot();
browser_wait_for(time=1);
}
// 测试点击状态
for (const buttonRef of buttons) {
browser_click(element="按钮", ref=buttonRef);
browser_snapshot();
browser_press_key("Escape"); // 关闭可能的弹窗
}
// 测试焦点状态
browser_click(element="原始提示词输入框", ref="e54");
browser_snapshot();
// Tab键导航测试
for (let i = 0; i < 10; i++) {
browser_press_key("Tab");
browser_snapshot();
}
预期发现的问题:
验证点:
测试目的: 发现多语言切换的UI显示问题
AI执行指导:
// 在中文模式下操作
browser_type(element="原始提示词输入框", ref="e54", text="中文测试内容,包含各种标点符号!@#¥%……&*()");
browser_snapshot();
// 打开各种弹窗
browser_click(element="模型管理按钮", ref="e21");
browser_snapshot();
browser_press_key("Escape");
// 切换到英文
browser_click(element="语言切换按钮", ref="e30");
browser_snapshot();
// 检查英文模式下的显示
browser_click(element="模型管理按钮", ref="e21");
browser_snapshot();
browser_press_key("Escape");
// 输入英文内容
browser_type(element="原始提示词输入框", ref="e54", text="English test content with various symbols !@#$%^&*()");
browser_snapshot();
// 快速切换语言
for (let i = 0; i < 3; i++) {
browser_click(element="语言切换按钮", ref="e30");
browser_wait_for(time=1);
browser_snapshot();
}
预期发现的问题:
验证点:
测试目的: 发现边界和边缘元素的显示问题
AI执行指导:
// 测试页面边缘元素
browser_resize(1200, 800);
// 滚动到页面各个边缘
browser_press_key("Home"); // 页面顶部
browser_snapshot();
browser_press_key("End"); // 页面底部
browser_snapshot();
// 测试水平滚动(如果有)
browser_press_key("Ctrl+Home");
browser_press_key("ArrowLeft");
browser_snapshot();
browser_press_key("ArrowRight");
browser_snapshot();
// 测试元素边界
browser_click(element="原始提示词输入框", ref="e54");
browser_type(element="原始提示词输入框", ref="e54", text="边界测试" + "\n".repeat(20));
browser_snapshot();
// 测试弹窗边界
browser_click(element="模板管理按钮", ref="e15");
browser_snapshot();
// 在弹窗中滚动
browser_press_key("PageDown");
browser_snapshot();
browser_press_key("PageUp");
browser_snapshot();
预期发现的问题:
验证点:
# UI显示Bug报告
## Bug信息
- **发现时间:** [时间]
- **UI场景:** [具体UI场景]
- **严重程度:** 高/中/低
- **Bug类型:** 布局/样式/交互/内容显示
## 环境信息
- **浏览器:** [浏览器版本]
- **屏幕分辨率:** [分辨率]
- **窗口尺寸:** [窗口大小]
- **缩放比例:** [缩放设置]
## Bug描述
[详细描述UI显示问题]
## 复现步骤
1. [具体操作步骤]
2. [触发条件]
3. [观察结果]
## 预期显示
[UI应该如何正确显示]
## 实际显示
[实际的显示效果]
## 视觉证据
- **截图:** [bug截图文件]
- **对比图:** [正确显示的对比]
- **录屏:** [动态bug的录屏]
## 影响评估
- **用户体验:** [对用户体验的影响]
- **功能影响:** [是否影响功能使用]
- **兼容性:** [是否影响多平台兼容]
## 修复建议
- **CSS修复:** [样式修复建议]
- **布局调整:** [布局改进建议]
- **响应式优化:** [响应式改进]