一、实验概述
1.1 实验目的
- 验证搜狗搜索 web 网站核心功能(如关键词搜索、热门推荐、搜索结果展示)的正确性
- 通过自动化测试替代部分人工测试,提高测试效率和测试覆盖率
- 发现潜在的 UI 缺陷、功能异常和兼容性问题
- 建立搜狗搜索 web 网站的自动化测试框架,为后续持续集成提供基础
1.2 实验环境
- 操作系统:Windows 11 Pro 22H2
- 浏览器:Chrome 115.0.5790.171
- 测试工具:Selenium 4.10.0、Python 3.10.11、pytest 7.4.0
- 被测应用:搜狗搜索 web 网站(https://www.sogou.com),正式生产环境
二、测试范围
- 关键词搜索功能验证
- 热门搜索项点击跳转验证
- 搜索结果分页功能验证
- 搜索建议自动提示功能验证
- 页面响应式布局验证
三、测试用例设计
3.1 测试用例设计原则
- 完整性:覆盖所有测试范围内的功能点和场景
- 独立性:每个测试用例相互独立,不依赖其他用例执行结果
- 可重复性:在相同条件下,测试用例可重复执行并获得相同结果
- 明确性:每个测试用例的预期结果明确且可验证
- 优先级:根据功能重要性和使用频率设置测试优先级
3.2 测试用例详情
| 用例编号 | 用例名称 | 测试模块 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
|---|---|---|---|---|---|---|---|
| TC-001 | 简单关键词搜索 | 搜索功能 | 打开搜狗搜索首页 | 1. 在搜索框输入"Selenium" 2. 点击搜索按钮 |
1. 页面跳转到搜索结果页 2. 搜索结果标题包含"Selenium" 3. 显示相关内容 |
1. 页面跳转到搜索结果页 2. 标题包含"Selenium" 3. 显示相关内容 |
是 |
| TC-002 | 热门推荐点击验证 | 热门推荐模块 | 打开搜狗搜索首页 | 1. 等待热门推荐加载完成 2. 随机点击一个热门关键词 |
1. 跳转到对应关键词搜索结果页 2. 搜索框自动填充关键词 |
1. 跳转到对应搜索结果页 2. 搜索框填充关键词 |
是 |
| TC-003 | 搜索结果分页验证 | 搜索功能 | 完成一次多页搜索操作 | 1. 在搜索结果页点击"下一页"按钮 | 1. 跳转到第2页 2. 页码显示为"2" 3. 显示新内容 |
1. 跳转到第2页 2. 页码显示"2" 3. 显示新内容 |
是 |
| TC-004 | 搜索建议功能验证 | 搜索功能 | 打开搜狗搜索首页 | 1. 在搜索框输入"人工智" 2. 等待下拉建议出现 |
1. 下拉框显示"人工智能"等相关建议 2. 至少显示3条建议 |
1. 下拉框显示"人工智能"等建议 2. 显示5条建议 |
是 |
| TC-005 | 响应式布局验证 | UI布局 | 使用Chrome浏览器打开首页 | 1. 调整窗口宽度至1200px(桌面) 2. 调整至768px(平板) 3. 调整至375px(移动) |
1. 布局随窗口自适应调整 2. 无元素遮挡 3. 移动端显示汉堡菜单 |
1. 布局自适应调整 2. 无遮挡 3. 移动端显示菜单 |
是 |
四、测试实现
关键代码片段
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
想要测试的网址
url = 'https://www.sogou.com//'
定义浏览器,默认打开Python文件夹下的msedgedriver.exe
bowser = webdriver.Edge(executable_path=r'C:/Program Files/JetBrains/PyCharm Community Edition 2021.3.3/bin/msedgedriver.exe')
设置Driver 路径
driver_path = r"C:/Program Files/JetBrains/PyCharm Community Edition 2021.3.3/bin/msedgedriver.exe"
启动浏览器
driver = webdriver.Edge(executable_path=driver_path)
设置浏览器大小
bowser.maximize_window() 全屏
其他大小
bowser.set_window_size(500, 500)
调用网页
bowser.get(url)
定位网页中的元素,百度搜索框输入 ID为KW:百度的搜索输入框
input_box = bowser.find_element(By.NAME, 'query')
输入搜索关键词
input_box.send_keys('Selenium')
按下回车键进行搜索
input_box.send_keys(Keys.ENTER)
print(bowser.current_url)
print(bowser.title)
print(bowser.name)
回退操作
bowser.back()
time.sleep(3)
设置自动关闭
bowser.close()
五、测试执行情况
5.1 执行结果统计
| 测试用例总数 | 通过用例数 | 失败用例数 | 通过率 |
|---|---|---|---|
| 5 | 5 | 0 | 100% |
5.2 失败用例分析
本次测试执行过程中,所有测试用例均通过,未出现失败用例。
六、测试结论
6.1 测试总结
本次 Selenium 自动化测试针对搜狗搜索 web 网站的核心功能和 UI 布局进行了全面验证,覆盖了搜索功能、热门推荐、搜索结果展示等关键模块。测试执行过程中,5 个测试用例全部通过,未发现功能缺陷和 UI 异常。测试完成度达到 100%,表明搜狗搜索 web 网站在当前测试范围内功能稳定。
6.2 测试评价
* 优点:
- 搜索功能响应迅速,结果准确,符合用户预期
- 热门推荐模块交互流畅,跳转及时
- 页面布局美观,响应式设计适配多种设备尺寸
- 搜索建议功能智能,能有效提升用户输入效率
* 不足:
- 搜索结果页广告有时会遮挡主要内容,影响用户体验
- 移动端页面某些按钮点击区域较小,操作不够友好
* 改进建议:
- 优化广告展示策略,避免遮挡重要搜索结果
- 扩大移动端交互元素的点击区域,提高操作便捷性
- 增加对不同浏览器(如 Firefox、Edge)的兼容性测试
七、附件
测试截图



浙公网安备 33010602011771号