Selenium 自动化测试
《Selenium 自动化测试实验报告》
一、实验概述
1.1 实验目的
本次使用 Selenium 进行自动化测试目标:验证 百度 应用特定功能的正确性、提高测试效率、发现潜在的 UI 缺陷等。
1.2 实验环境
- 软件环境:
- 操作系统: Windows 10。
- 浏览器:Microsoft Edge
- 测试工具:说明使用的 Selenium 版本3.141.0、Python 3.8 。
- 被测应用:www.baidu.com
二、测试范围
核心功能验证,模块交互验证,界面一致性,交互响应,用户场景模拟
三、测试用例设计
3.1 测试用例设计原则
-
-
覆盖性原则
- 确保覆盖所有功能点、边界条件及异常场景,避免关键路径遗漏(如输入框取值范围、接口调用限制等)
- 包含等价类划分、边界值分析等数据驱动方法,提升测试覆盖率35
-
可判定性与明确性
- 每个用例必须有清晰的预期结果,便于执行后明确判断通过/失败状态
- 避免模糊描述(如“响应较快”),改用可量化指标(如“响应时间≤2秒”)
-
独立性与可复用性
- 用例之间无依赖关系,支持单独执行或任意顺序组合
- 封装公共操作(如登录流程)为可复用模块,降低维护成本
-
场景化与真实性
- 贴近真实用户操作路径(如端到端流程验证)
- 覆盖高频使用场景及隐性需求(如接口超时处理)
-
3.2 测试用例详情(5条)
|
用例编号 |
用例名称 |
测试模块 |
前置条件 |
测试步骤 |
预期结果 |
实际结果 |
是否过通 |
|
1 |
关键词搜索有效性 |
搜索功能 |
1. 网络连接正常 |
1. 在搜索框输入"小瑞" |
1. 返回包含"小瑞"相关的结果页 |
与预期结果相同 |
通过 |
| 2 | 空关键词搜索 | 搜索功能 | 同上 | 1. 保持搜索框为空 2. 触发搜索动作 |
提示"请输入搜索内容" | 与预期结果相同 | 通过 |
|
3 |
特殊字符搜索 |
搜索功能 |
同上 |
1. 输入"@#$%" |
返回无结果或友好提示 |
与预期结果相同 |
通过 |
|
4 |
搜索按钮交互 |
UI交互 |
同上 |
1. 输入关键词后鼠标悬停搜索按钮 |
按钮呈现高亮/悬停效果 |
与预期结果相同 |
通过 |
| 5 | 搜索结果分页 |
搜索功能
|
同上 | 1. 执行关键词搜索 2. 点击第2页按钮 |
正确加载第2页结果 | 与预期结果相同 | 通过 |
四、测试实现
关键代码片段
展示一些重要的代码片段,并对其进行详细的注释和解释,如元素定位方法、操作步骤、断言语句等。
例:
python
# 示例Python代码from selenium import webdriverfrom selenium.webdriver.common.by import By
# 初始化浏览器驱动
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 定位元素并进行操作
element = driver.find_element(By.ID, "username")
element.send_keys("testuser")
# 断言验证assert "Welcome" in driver.page_source
# 关闭浏览器
driver.quit()
五、测试执行情况
5.1 执行结果统计
|
测试用例总数 |
通过用例数 |
失败用例数 |
通过率 |
|
5 |
5 |
0 |
100% |
5.2 失败用例分析
无
六、测试结论
6.1 测试总结
总结 Selenium 自动化测试
核心功能验证
搜索功能:成功模拟用户输入关键词(如“py”)并触发搜索,验证结果页返回相关性内容。
页面跳转:测试百度首页导航栏(如“设置”菜单)的交互逻辑,确认下拉选项可正常展开与操作。
元素定位与操作
使用find_element(By.ID, "kw")精准定位搜索框,通过send_keys()实现输入,结合Keys.RETURN模拟回车搜索。
处理动态元素时,采用隐式等待(implicitly_wait)或显式等待(WebDriverWait)确保稳定性。
兼容性与异常处理
多浏览器测试:验证Chrome、Firefox驱动下功能一致性,需配置对应浏览器驱动路径45。
常见异常:如元素未找到(NoSuchElementException),通过检查框架嵌套(iframe)、元素属性变动或添加等待时间解决。
6.2 测试评价
百度网页在技术性能和生态整合上具有显著优势,但需改善商业利益与用户体验的平衡,通过算法透明化、内容精细化运营提升长期竞争力
七、附件
- 测试截图
![]()



浙公网安备 33010602011771号