Selenium 自动化测试实验报告
Selenium 自动化测试实验报告
一、实验概述
1.1 实验目的
本次实验旨在通过 Selenium 自动化测试工具验证 "夸克搜-夸克资源搜索引擎" 的核心功能正确性,具体目标包括:
- 验证搜索功能的准确性和响应速度
- 检测页面元素交互的稳定性
- 发现潜在的 UI 布局缺陷
- 提升回归测试效率,减少人工测试成本
1.2 实验环境
| 类别 | 详细信息 |
|---|---|
| 操作系统 | Windows 10 专业版(21H2) |
| 浏览器 | Microsoft Edge 128.0.2739.67(基于 Chromium 内核) |
| 测试工具 | Selenium 4.15.2 + Python 3.10.12 + pytest 7.4.3 |
| 被测应用 | 夸克搜-夸克资源搜索引擎(版本:V2.3.1,部署环境:生产环境) |
二、测试范围
本次测试覆盖以下核心功能模块:
- 搜索功能模块(关键词输入、搜索建议、结果排序)
- 资源过滤模块(文件类型/时间范围筛选)
- 结果展示模块(分页加载、预览功能)
- 用户交互模块(点击行为、滚动加载)
三、测试用例设计
3.1 测试用例设计原则
- 完整性:覆盖主要功能路径和边界条件
- 独立性:每个用例可独立执行,不依赖其他用例
- 可重复性:相同环境下可稳定复现测试结果
- 异常处理:包含非法输入和异常场景验证
3.2 测试用例详情
| 用例编号 | 用例名称 | 测试模块 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
|---|---|---|---|---|---|---|---|
| TC001 | 基础搜索功能验证 | 搜索功能 | 浏览器已打开目标网站 | 1. 输入关键词"英语单词" 2. 点击搜索按钮 3. 验证结果页标题 |
搜索结果包含关键词,结果数量≥10条 | 与预期一致 | ✅ 通过 |
| TC002 | 搜索建议功能测试 | 搜索功能 | 输入框获得焦点 | 1. 输入"Selenium" 2. 等待下拉建议 3. 选择第一条建议 |
搜索结果自动跳转至建议关键词页面 | 与预期一致 | ✅ 通过 |
| TC003 | 文件类型过滤失效 | 资源过滤 | 存在PDF类型搜索结果 | 1. 执行搜索"项目计划书" 2. 选择文件类型过滤为PDF 3. 验证结果类型 |
所有结果均为PDF格式 | 存在非PDF结果 | ❌ 失败 |
| TC004 | 分页加载功能验证 | 结果展示 | 搜索结果超过一页 | 1. 执行搜索"机器学习" 2. 点击第二页按钮 3. 验证URL参数变化 |
成功加载第二页内容,URL包含page=2 | 与预期一致 | ✅ 通过 |
| TC005 | 滚动加载异常检测 | 结果展示 | 搜索结果超过可视区域 | 1. 执行长关键词搜索 2. 快速滚动到底部 3. 观察页面响应 |
无报错提示,内容正常加载 | 页面卡顿3秒 | ❌ 失败 |
四、测试实现
关键代码片段
# 示例:带异常处理的搜索功能测试
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
import pytest
@pytest.mark.parametrize("keyword, expected_count", [
("英语单词", 10),
("Selenium 4", 8)
])
def test_search_function(browser, keyword, expected_count):
driver = browser
try:
driver.get("https://www.kuakeso.com/")
search_box = driver.find_element(By.ID, "searchInput")
search_box.send_keys(keyword)
search_box.submit()
# 显式等待结果加载
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".search-result"))
)
results = driver.find_elements(By.CSS_SELECTOR, ".search-result-item")
assert len(results) >= expected_count, f"实际结果数量{len(results)}不足预期{expected_count}"
except TimeoutException:
pytest.fail("页面加载超时,请检查网络或应用性能")
finally:
driver.save_screenshot("./screenshots/search_test.png")
五、测试执行情况
5.1 执行结果统计
| 指标 | 数值 |
|---|---|
| 测试用例总数 | 23 |
| 通过用例数 | 19 |
| 失败用例数 | 4 |
| 通过率 | 82.6% |
5.2 失败用例分析
| 失败用例 | 失败原因 | 影响范围 | 解决方案 |
|---|---|---|---|
| TC003 | 文件类型过滤逻辑缺陷 | 资源筛选功能 | 修复后端过滤算法,增加类型校验 |
| TC005 | 滚动加载性能不足 | 大数据量展示场景 | 优化前端渲染逻辑,增加虚拟滚动 |
| TC012 | 搜索建议缓存失效 | 输入联想功能 | 重建缓存机制,设置合理过期时间 |
| TC018 | 特殊字符编码异常 | 全站输入验证 | 增加输入过滤,完善编码处理流程 |
六、测试结论
6.1 测试总结
本次测试共发现4个严重缺陷和12个改进建议:
- 核心搜索功能稳定性达标(通过率92%)
- 资源过滤模块存在逻辑缺陷需优先修复
- 前端性能在大数据量场景下需优化
- 输入验证机制需加强特殊字符处理
6.2 测试评价
被测应用质量评价:
- ✅ 优点:核心搜索算法高效,结果相关性优秀
- ❌ 不足:过滤功能可靠性不足,前端性能待优化
- 💡 建议:
- 建立完整的异常处理机制
- 增加自动化监控告警系统
- 定期进行全链路压力测试
- 完善无障碍访问支持
七、附件
-
测试截图:
-![]()



浙公网安备 33010602011771号