Back to Prompt Optimizer

UI显示故障Bug发现测试

docs/testing/ai-automation/bug-hunting/ui-glitches.md

2.10.210.4 KB
Original Source

UI显示故障Bug发现测试

📖 测试概述

专门用于发现UI显示相关的bug,包括布局问题、样式异常、响应式问题等视觉和交互缺陷。

🎯 测试目标

  • 发现UI布局和显示bug
  • 测试响应式设计问题
  • 验证主题和样式一致性
  • 发现交互反馈问题

🔍 Bug发现重点

  • 元素重叠和错位
  • 文本溢出和截断
  • 样式不一致
  • 响应式布局问题
  • 动画和过渡异常

🧪 Bug发现场景

场景1:极端窗口尺寸测试

测试目的: 发现极端窗口尺寸下的UI布局bug

AI执行指导:

javascript
// 测试极小窗口
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();

预期发现的问题:

  • 元素重叠或错位
  • 按钮被截断或隐藏
  • 文本溢出容器
  • 滚动条异常
  • 布局完全破坏

验证点:

  • 所有元素可见且可访问
  • 文本正确换行或截断
  • 按钮功能正常
  • 滚动行为正确
  • 布局保持合理

场景2:长文本显示测试

测试目的: 发现长文本处理的UI显示问题

AI执行指导:

javascript
// 测试超长单词
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();

预期发现的问题:

  • 长单词不换行导致溢出
  • 文本截断位置不当
  • 滚动条显示异常
  • 容器高度计算错误
  • 文本选择问题

验证点:

  • 长文本正确换行
  • 容器尺寸自适应
  • 滚动功能正常
  • 文本选择正常
  • 显示性能良好

场景3:主题切换一致性测试

测试目的: 发现主题切换时的样式不一致问题

AI执行指导:

javascript
// 在日间模式下操作
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();

预期发现的问题:

  • 部分元素主题不切换
  • 颜色对比度不足
  • 主题切换动画异常
  • 某些组件样式残留
  • 文本可读性问题

验证点:

  • 所有元素主题一致
  • 颜色对比度充足
  • 切换动画流畅
  • 无样式残留
  • 文本清晰可读

场景4:动态内容加载显示测试

测试目的: 发现动态内容加载时的UI显示问题

AI执行指导:

javascript
// 测试优化过程中的动态显示
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();

预期发现的问题:

  • 加载状态显示不一致
  • 内容闪烁或跳动
  • 占位符样式异常
  • 动态高度计算错误
  • 滚动位置丢失

验证点:

  • 加载状态清晰一致
  • 内容平滑过渡
  • 占位符样式正确
  • 高度计算准确
  • 滚动位置保持

场景5:交互状态反馈测试

测试目的: 发现交互反馈的UI显示问题

AI执行指导:

javascript
// 测试悬停状态
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();
}

预期发现的问题:

  • 悬停效果不明显
  • 点击反馈缺失
  • 焦点指示不清晰
  • 状态切换不流畅
  • 可访问性问题

验证点:

  • 悬停效果明显
  • 点击反馈及时
  • 焦点指示清晰
  • 状态切换流畅
  • 可访问性良好

场景6:多语言显示测试

测试目的: 发现多语言切换的UI显示问题

AI执行指导:

javascript
// 在中文模式下操作
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();
}

预期发现的问题:

  • 文本溢出或截断
  • 字体显示异常
  • 布局适应不当
  • 翻译不完整
  • 语言切换延迟

验证点:

  • 文本正确显示
  • 字体渲染正常
  • 布局自适应良好
  • 翻译完整准确
  • 切换响应及时

场景7:边界元素显示测试

测试目的: 发现边界和边缘元素的显示问题

AI执行指导:

javascript
// 测试页面边缘元素
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

  • 元素重叠或错位
  • 响应式布局失效
  • 容器尺寸计算错误
  • 滚动行为异常

样式相关Bug

  • 主题不一致
  • 颜色对比度不足
  • 字体渲染问题
  • 动画效果异常

交互相关Bug

  • 悬停效果缺失
  • 焦点指示不清
  • 点击反馈延迟
  • 状态切换异常

内容显示Bug

  • 文本溢出或截断
  • 长内容处理不当
  • 多语言显示问题
  • 特殊字符异常

📊 UI Bug报告模板

markdown
# UI显示Bug报告

## Bug信息
- **发现时间:** [时间]
- **UI场景:** [具体UI场景]
- **严重程度:** 高/中/低
- **Bug类型:** 布局/样式/交互/内容显示

## 环境信息
- **浏览器:** [浏览器版本]
- **屏幕分辨率:** [分辨率]
- **窗口尺寸:** [窗口大小]
- **缩放比例:** [缩放设置]

## Bug描述
[详细描述UI显示问题]

## 复现步骤
1. [具体操作步骤]
2. [触发条件]
3. [观察结果]

## 预期显示
[UI应该如何正确显示]

## 实际显示
[实际的显示效果]

## 视觉证据
- **截图:** [bug截图文件]
- **对比图:** [正确显示的对比]
- **录屏:** [动态bug的录屏]

## 影响评估
- **用户体验:** [对用户体验的影响]
- **功能影响:** [是否影响功能使用]
- **兼容性:** [是否影响多平台兼容]

## 修复建议
- **CSS修复:** [样式修复建议]
- **布局调整:** [布局改进建议]
- **响应式优化:** [响应式改进]