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 自动化测试覆盖博客园网站以下功能模块和页面:
  1. 用户登录模块:包含账号密码登录、扫码登录验证等功能。
  2. 博客搜索模块:支持关键字搜索、按作者搜索、按标签筛选文章等操作。
  3. 文章发布模块:实现撰写新博客文章、添加标签、上传图片、发布文章等功能。
  4. 文章评论模块:在文章详情页进行评论内容输入、提交评论、查看评论列表等操作。
  5. 个人博客主页模块:展示个人发布的博客文章列表、文章分类、访问统计等信息。

三、测试用例设计

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 控制台输出的日志文件,记录了每个测试步骤的执行情况和时间戳。

posted @ 2025-05-28 13:42  安安周  阅读(30)  评论(0)    收藏  举报