Selenium 自动化测试实验报告
《Selenium 自动化测试实验报告》
一、实验概述
1.1 实验目的
本次使用 Selenium 进行自动化测试的主要计划是:
- 搜索功能的有效性:验证用户能否在百度搜索框中输入关键词
pycharm
并成功搜索到相关结果 - 页面跳转的正确性:确认输入关键词并搜索后,浏览器能够正确跳转到搜索结果页面。
- 浏览器回退功能的可靠性:验证浏览器回退按钮能否将页面正确回退到之前的状态(本例中为百度首页)。
1.2 实验环境
- 操作系统: Windows 10。
- 浏览器:edge浏览器。
- 测试工具: Selenium,edge浏览器驱动,pycharm。
- 被测网站:
https://www.baidu.com/
,即百度搜索引擎的首页.
二、测试范围
本次 Selenium 自动化测试所覆盖的 Web 应用功能模块和页面包括:
- Web应用的基本交互功能:通过Selenium自动化测试框架,模拟用户与Web应用(本例中为百度搜索引擎)的交互过程。
- 特定功能模块的验证:针对百度搜索引擎的搜索框功能进行测试,包括搜索关键词的输入、搜索操作的执行以及搜索结果页面的跳转。
- 测试浏览器(Edge)能否通过指定的驱动路径正确初始化。
- 测试浏览器窗口能否被最大化显示。
- 测试浏览器能否成功访问指定的URL(本例中为百度首页)
- 测试能否通过Selenium的
find_element
方法正确定位到百度搜索框(ID为'kw')。 - 测试能否在搜索框中输入指定的关键词(本例中为'pycharm')。
- 测试能否通过模拟按下回车键来执行搜索操作。
- 测试输入关键词并搜索后,浏览器能否正确跳转到搜索结果页面。
- 通过打印当前页面的URL和标题来验证搜索结果页面的正确性。
- 测试浏览器的回退按钮能否将页面正确回退到之前的状态(本例中为百度首页)
三、测试用例设计
3.1 测试用例设计原则
在设计测试用例时,我们遵循以下原则:
- 完整性:确保所有关键功能点都被覆盖。
- 独立性:每个测试用例应独立执行,不依赖于其他测试用例。
- 可重复性:测试用例应能够在相同的测试环境下重复执行,得到一致的结果。
3.2 测试用例详情
用例编号 | 用例名称 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
---|---|---|---|---|---|
TC001 | 百度首页访问测试 | 1. 初始化Edge浏览器 2. 设置浏览器全屏 3. 访问百度首页 |
浏览器成功打开并最大化显示,成功加载百度首页 | 浏览器成功打开并最大化显示,成功加载百度首页 | 是 |
TC002 | 搜索框定位测试 | 1. 在百度首页中定位搜索框(ID为'kw') | 成功定位到搜索框元素 | 成功定位到搜索框元素 | 是 |
TC003 | 关键词搜索功能测试 | 1. 在搜索框中输入"pycharm" 2. 按下回车键进行搜索 |
浏览器跳转到搜索结果页面,URL包含搜索关键词"pycharm",标题显示相关搜索结果 | 成功跳转 | 是 |
TC004 | 当前页面信息验证测试 | 1. 打印当前页面的URL和标题 | 打印的URL和标题与搜索结果页面一致 | 打印正常 | 是 |
TC005 | 属性访问测试 | 1. 尝试访问bowser.name 属性 |
预期会打印浏览器名称 | 打印正常 | 是 |
TC006 | 浏览器回退功能测试 | 1. 执行浏览器回退操作 2. 等待3秒观察效果 |
浏览器成功回退到之前的页面(百度首页) | 成功跳转 | 是 |
TC007 | 浏览器关闭测试 | 1. 关闭浏览器 | 浏览器窗口关闭,测试结束 | 成功 | 是 |
四、测试实现
测试代码:
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/'
# 定义浏览器驱动路径
driver_path = r'C:\Users\Administrator\PycharmProjects\pythonProject\msedgedriver.exe'
# 初始化Edge浏览器
bowser = webdriver.Edge(executable_path=driver_path)
# 设置浏览器全屏
bowser.maximize_window()
# 访问网页
bowser.get(url)
# 定位百度搜索框(ID为'kw')
input_box = bowser.find_element(By.ID, 'kw')
# 输入搜索关键词并按下回车键进行搜索
input_box.send_keys('pycharm')
input_box.send_keys(Keys.ENTER)
# 打印当前URL和页面标题
print(bowser.current_url)
print(bowser.title)
print(bowser.name) # 这行代码应该被注释掉或删除,因为bowser.name不是有效属性
# 执行回退操作
bowser.back()
# 等待3秒以便观察回退效果
time.sleep(3)
# 设置自动关闭浏览器(通常在测试结束时执行,这里可以根据需要选择是否注释掉)
# bowser.close()
五、测试执行情况
5.1 执行结果统计
测试用例总数 |
通过用例数 |
失败用例数 |
通过率 |
7 |
7 |
0 |
100% |
5.2 失败用例分析
本次测试中没有失败的测试用例。所有测试用例均按照预期步骤执行,并得到了预期的结果。
六、测试结论
6.1 测试总结
本次 Selenium 自动化测试覆盖了电商网站“百度”的主要功能模块,包括页面最大化、内容搜索、页面回退等。通过测试,我们验证了这些功能的正确性,并提高了测试效率。测试过程中没有发现明显的 UI 缺陷或业务逻辑错误。
6.2 测试评价
被测 Web 网站“https://www.baidu.com”在功能和体验方面表现良好。搜索,定位元素,功能均能正常工作,页面布局合理,交互流畅。
七、附件
- 测试截图: