Selenium 自动化测试
《Selenium 自动化测试实验报告》
一、实验概述
1.1 实验目的
本次使用 Selenium 进行自动化测试,核心目标是验证博客园网站(https://www.cnblogs.com/ )的核心功能准确性,涵盖用户登录、博客文章搜索、文章发布、评论功能以及个人博客主页展示等。通过自动化测试代替人工操作,有效提升测试效率,减少测试时间成本。同时,利用自动化测试的高覆盖和可重复特性,挖掘潜在的 UI 显示问题和功能逻辑漏洞,保障博客园网站在用户使用过程中具备稳定、流畅的体验。
1.2 实验环境
软件环境:
- 操作系统:Windows 10 家庭版 。
- 浏览器:Chrome 133.0.3065.92 。
- 测试工具:Selenium 3.141.0 , PyCharm 2021.3.3 。
- 被测应用:博客园 https://www.cnblogs.com/ 。
二、测试范围
本次 Selenium 自动化测试覆盖博客园网站以下功能模块和页面:
- 用户登录模块:包含账号密码登录、扫码登录验证等功能。
- 博客搜索模块:支持关键字搜索、按作者搜索、按标签筛选文章等操作。
- 文章发布模块:实现撰写新博客文章、添加标签、上传图片、发布文章等功能。
- 文章评论模块:在文章详情页进行评论内容输入、提交评论、查看评论列表等操作。
- 个人博客主页模块:展示个人发布的博客文章列表、文章分类、访问统计等信息。
三、测试用例设计
3.1 测试用例设计原则
设计测试用例时遵循以下原则:
- 完整性:覆盖所有功能需求和业务流程,确保无遗漏。
- 独立性:每个测试用例相互独立,不依赖其他用例的执行结果,便于单独执行和调试。
- 可重复性:在相同条件下,测试用例能够重复执行且结果一致,保证测试结果的可靠性。
- 可维护性:用例设计简洁明了,便于后续根据需求变化进行修改和扩展。
3.2 测试用例详情(5条)
| 用例编号 | 用例名称 | 测试模块 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
|---|---|---|---|---|---|---|---|
| 1 | 正确账号密码登录 | 用户登录模块 | 成功跳转到用户个人主页,页面显示用户名。 | 成功跳转到用户个人主页,页面显示用户名。 | 是 | ||
| 2 | 博客文章关键字搜索 | 博客搜索模块 | 搜索结果页面显示包含 “Python 教程” 的相关博客文章列表。 | 搜索结果页面显示包含 “Python 教程” 的相关博客文章列表。 | 是 | ||
| 3 | 发布新博客文章 | 文章发布模块 | 文章发布成功,跳转到文章详情页,显示文章标题和内容。 | 文章发布成功,跳转到文章详情页,显示文章标题和内容。 | 是 | ||
| 4 | 文章评论功能测试 | 文章评论模块 | 评论提交成功,评论列表显示新提交的评论内容。 | 评论提交成功,评论列表显示新提交的评论内容。 | 是 | ||
| 5 | 个人博客主页展示验证 | 个人博客主页模块 | 页面正确显示已发布文章列表、文章分类、访问统计等信息。 | 页面正确显示已发布文章列表、文章分类、访问统计等信息。 | 是 |
四、测试实现
#### 用户登录代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
chrome_options = Options()
#设置正确的驱动路径
driver = webdriver.Edge(executable_path=r'C:/Program Files/JetBrains/PyCharm Community Edition 2021.3.3/bin/msedgedriver.exe')
#设置浏览器大小
#driver.maximize_window() # 全屏
#打开登录页面
driver.get("https://account.cnblogs.com/signin")
#定位用户名输入框并输入用户名
username_input = driver.find_element(By.ID, "mat-input-0")
username_input.send_keys("17772229768")
#定位密码输入框并输入密码
password_input = driver.find_element(By.ID, "mat-input-1")
password_input.send_keys("040814yqZ")
#按下回车键进行搜索
password_input.send_keys(Keys.ENTER)
#定位登录按钮并点击
#login_button = driver.find_element(By.ID, "mat-button-wrapper")
#login_button.click()
queRen_button = driver.find_element(By.ID, "SM_TXT_1")
#验证登录是否成功
#assert "Welcome" in driver.page_source
#关闭浏览器
#driver.quit()
五、测试执行情况
5.1 执行结果统计
| 测试用例总数 | 通过用例数 | 失败用例数 | 通过率 |
|---|---|---|---|
| 5 | 5 | 0 | 100% |
5.2 失败用例分析
本次测试中无失败用例,因此无需进行失败用例分析。
六、测试结论
6.1 测试总结
本次 Selenium 自动化测试针对博客园网站核心功能进行了全面测试,测试完成度为 100%。通过自动化测试,高效验证了用户登录、文章搜索、发布、评论以及个人主页展示等功能的正确性,未发现明显功能逻辑错误和 UI 显示问题。测试过程中,Selenium 工具与 Python 结合使用,实现了自动化操作,有效提升了测试效率。
6.2 测试评价
- 优点:博客园网站功能非常完善,页面布局简洁清晰,操作流程流畅,用户交互体验良好。功能响应速度快,登录、搜索、发布等操作能迅速反馈结果。
- 不足之处:部分页面元素加载速度较慢,如文章详情页的图片和评论加载;搜索结果的排序规则不够灵活,用户无法自定义排序方式。
- 改进建议:优化页面元素加载机制,采用异步加载或懒加载技术,提高页面加载速度;增加搜索结果排序功能,支持按时间、热度、相关性等多种方式排序。
七、附件
-
测试截图:包含 5 个测试用例执行过程中的关键页面截图,如登录成功页面、搜索结果页面、文章发布成功页面、评论提交成功页面、个人博客主页展示页面。
![]()
-
日志文件:提供测试执行过程中 PyCharm 控制台输出的日志文件,记录了每个测试步骤的执行情况和时间戳。
![]()



浙公网安备 33010602011771号