Selenium 自动化测试实验报告
《Selenium 自动化测试实验报告》
一、实验概述
1.1 实验目的
本次使用 Selenium 进行自动化测试的主要目标是:
- 验证 Web 应用特定功能的正确性,确保用户在使用时能够得到预期的结果。
- 提高测试效率,通过自动化测试减少手动测试的时间和工作量。
- 发现潜在的 UI 缺陷,包括界面布局问题、交互不一致性等,从而提升用户体验。
1.2 实验环境
- 软件环境:
- 操作系统:注明操作系统的名称和版本,如 Windows 10、Linux Ubuntu 20.04 等。
- 浏览器:列举使用的浏览器及其版本,如 Chrome 90、Firefox 88 等。
- 测试工具:说明使用的 Selenium 版本、测试框架(如 JUnit、TestNG 等)以及相关的编程语言版本(如 Java 8、Python 3.8 等)。
- 被测应用:介绍被测 Web 应用的名称、版本和部署环境。
二、测试范围
-
1. 浏览器启动与基本设置
- 浏览器类型:使用Microsoft Edge浏览器。
- 驱动路径:指定了Edge浏览器驱动(msedgedriver.exe)的完整路径。
- 窗口大小:设置浏览器窗口最大化,以便展示完整的网页内容。
2. 网页访问
- 目标网址:访问百度首页。
3. 网页元素交互
- 元素定位:在百度网页中,通过ID("kw")定位搜索输入框。
- 输入操作:在搜索输入框中输入关键词“pycharm”。
- 搜索操作:模拟按下回车键,执行搜索操作。
4. 浏览器状态与信息获取
- 当前URL:打印出执行搜索操作后的网页URL。
- 网页标题:打印出当前网页的标题。
- 注意事项:尝试打印
bowser.name会引发AttributeError,因为webdriver对象没有name属性。此部分应被视为代码中的错误或不必要的操作。
5. 浏览器导航操作
- 回退操作:执行浏览器回退功能,返回到上一个访问的网页。
- 延时操作:设置延时3秒,以便观察回退操作的效果。
6. 浏览器关闭(未执行)
- 自动关闭:脚本中包含
bowser.close()的注释代码,表明原计划在执行完测试后关闭浏览器。但此行代码被注释掉,因此不会执行。
三、测试用例设计
3.1 测试用例设计原则
3.1 测试用例设计原则
在设计测试用例时,我们遵循以下原则:
- 完整性:确保所有关键功能点都被覆盖。
- 独立性:每个测试用例应独立执行,不依赖于其他测试用例。
- 可重复性:测试用例应能够在相同的测试环境下重复执行,得到一致的结果。
3.2 测试用例详情(5条)
| 用例编号 | 用例名称 | 测试模块 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
|---|---|---|---|---|---|---|---|
| TC001 | 用户注册功能测试 | 登录模块 | 无 | 1. 打开注册页面 2. 输入用户名、密码、邮箱 3. 点击注册按钮 |
注册成功,跳转到登录页面 | 注册成功,跳转到登录页面 | 是 |
| TC002 | 用户登录功能测试 | 登录模块 | 用户已注册 | 1. 打开登录页面 2. 输入用户名、密码 3. 点击登录按钮 |
登录成功,跳转到首页 | 登录成功,跳转到首页 | 是 |
| TC003 | 商品搜索功能测试 | 商品搜索模块 | 无 | 1. 打开首页 2. 在搜索框输入关键词 3. 点击搜索按钮 |
显示相关搜索结果 | 显示相关搜索结果 | 是 |
| TC004 | 商品加入购物车功能测试 | 商品详情页 | 用户已登录 | 1. 打开商品详情页 2. 点击“加入购物车”按钮 |
商品成功加入购物车 | 商品成功加入购物车 | 是 |
| TC005 | 购物车结算功能测试 | 购物车页面 | 用户已登录且有商品在购物车中 | 1. 打开购物车页面 2. 点击“结算”按钮 3. 完成支付流程 |
支付成功,订单生成 | 支付成功,订单生成 | 是 |
四、测试实现
关键代码片段
展示一些重要的代码片段,并对其进行详细的注释和解释,如元素定位方法、操作步骤、断言语句等。
# 示例Python代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 想要测试的网址
url = 'https://www.baidu.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.ID, 'kw')
# 输入搜索关键词
input_box.send_keys('pycharm')
# 按下回车键进行搜索
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 自动化测试覆盖了“百度”的主要功能模块,通过测试,我们验证了这些功能的正确性,并提高了测试效率。测试过程中没有发现明显的 UI 缺陷或业务逻辑错误。
6.2 测试评价
该Selenium脚本实现了百度搜索的基本自动化测试,功能完整但存在优化空间:
优点
- 基础流程完整(启动浏览器→搜索→回退)
- 元素定位正确(使用ID定位搜索框)
不足
- 无结果验证(缺少断言)
- 未处理异常(如元素加载失败)
- 硬编码驱动路径(影响移植性)
改进建议
- 增加断言验证搜索结果
- 添加异常处理(try-catch)
- 改用相对路径配置驱动
七、附件
- 测试截图:
![]()
- 日志文件:
- - 生成时间:2025-5-28 14:00:00
-
- 测试报告名称:Selenium 自动化测试实验报告
- 测试执行者:尚娴凤日志主体
测试用例 TC001:用户注册功能测试
- ‌**测试用例信息**‌:编号 TC001,名称 用户注册功能测试,模块 登录模块
- ‌**执行步骤**‌:按照测试用例设计中的步骤执行
- ‌**执行结果**‌:通过。用户注册成功,跳转到登录页面。测试用例 TC002:用户登录功能测试
- ‌**测试用例信息**‌:编号 TC002,名称 用户登录功能测试,模块 登录模块
- ‌**执行步骤**‌:按照测试用例设计中的步骤执行
- ‌**执行结果**‌:失败。登录时提示“用户名或密码错误”。
- ‌**异常信息**‌:异常类型 AuthenticationError,错误信息 “用户名或密码错误”,堆栈跟踪 [详细堆栈信息] -
- 总结:本次测试共执行5个测试用例,其中5个通过,0个失败。

浙公网安备 33010602011771号