当前位置: 首页 > news >正文

(6)pytest+Selenium自动化测试-测试用例编写

在前几节内容中,我们已经完成了自动化测试的 “地基搭建”—— 从环境配置,到元素定位的核心技巧(ID、XPath、CSS Selector 等方法的灵活运用),大家已经掌握了自动化测试的 “工具” 和 “语法”。但真正的自动化测试,并非单纯的代码编写,而是 “有目标、有逻辑、可复现” 的测试执行过程。而测试用例,正是串联这些基础技能、明确测试目标的 “导航图”—— 它定义了 “测什么、怎么测、预期结果是什么”,是自动化脚本开发的核心依据。本节课,我们将结合实际测试内容,从零讲解自动化测试用例的编写逻辑、标准格式与实战技巧,帮大家完成从 “基础认知” 到 “实战落地” 的关键跨越。

一、自动化测试用例的核心价值与编写原则

在动手编写前,我们需要先理清自动化测试用例与手工测试用例的区别,以及编写时必须遵循的原则,避免走弯路。

自动化测试用例的核心价值

1.脚本开发的 “蓝图”:自动化脚本本质是 “用代码实现测试用例”,清晰的用例能让脚本逻辑更严谨,避免遗漏测试场景;
2.可复用与可维护:标准化的用例便于团队协作,后续脚本优化、场景扩展时,可直接基于用例迭代;
3.回归测试的 “标尺”:自动化的核心场景是回归测试,用例定义了 “回归的范围和标准”,确保迭代后功能稳定。

自动化测试用例编写三大原则

1.独立性:每个用例仅测试一个核心场景,不依赖其他用例的执行结果(例如:“登录成功” 用例不依赖 “注册成功” 用例的前置操作,需自带前置条件,如 “已存在测试账号”);
2.可复现性:用例步骤清晰、输入数据明确,无论谁执行(人或脚本),都能得到一致的结果(例如:避免 “输入任意用户名”,应明确 “输入用户名 test001”);
3.简洁性:剔除冗余步骤,聚焦自动化可执行的核心操作(例如:手工测试中 “观察界面颜色” 的非功能性检查,若无需自动化验证则不写入)。

二、实战项目:百度用户登录模块

本次实战以百度登录模块为测试对象,该模块的核心功能包括:
1. 账号登录:测试 “用户名 + 密码” 登录;
2. 短信登录:测试 “手机号 + 验证码” 登录;
3. 测试包含忘记密码、立即注册等辅助功能;
4. 测试基础的输入校验(如:用户名不能为空、用户名或密码错误、手机号格式错误提示等)。
我们将围绕 “核心登录场景” 和 “输入校验场景”,编写自动化测试用例(仅做示例,详细的用例编写可作为课后练习)。

三、自动化测试用例的标准格式与编写步骤

1. 标准格式

用例编号测试模块测试场景前置条件测试步骤预期结果
Login_Auto_001登录模块用户名 + 密码正确,登录成功1.浏览器可正常访问网络;2. 百度登录地址:https://www.baidu.com/;3.已注册账号1.打开浏览器,访问登录页面;2.输入用户名;3.输入密码;4.勾选用户协议;5.点击 “登录” 按钮1.登录成功,跳转至首页;2.首页显示用户名,如:“test001”

2. 编写步骤(从 “场景拆解” 到 “用例落地”)

步骤 1:拆解测试场景(避免遗漏核心功能)
以登录模块为例,按 “正常场景 + 异常场景” 分类拆解:
1.正常场景:用户名密码正确登录、手机号 + 正确验证码登录、记住密码功能生效;
2.异常场景:用户名为空、密码为空、用户名不存在、密码错误、手机号格式错误、验证码过期等。
步骤 2:明确每个场景的前置条件
前置条件是用例执行的 “前提准备”,必须具体且可实现:
1.错误示例:“有一个测试账号”(不明确账号信息,脚本无法复用);
2.正确示例:“存在测试账号(如:用户名:test001,密码:2A&5d3,手机号:13800138000)”。
步骤 3:编写清晰的测试步骤
步骤需符合 “自动化执行逻辑”,每个步骤对应一个 “可编码操作”:
1.避免模糊表述:如 “输入正确密码”→ 改为 “输入密码 123456”;
2.明确元素操作:如 “点击登录按钮”(需对应前文学习的元素定位,后续脚本将直接映射该操作);
3.步骤顺序不可乱:按用户实际操作流程编写(打开页面→输入数据→点击按钮)。
步骤 4:定义可验证的预期结果
预期结果需 “可量化、可判断”,避免主观描述:
1.错误示例:“登录成功”(脚本无法判断 “成功” 的标准);
2.正确示例:“跳转至首页,且首页顶部右上角显示用户名‘test001’”(脚本可通过定位元素文本判断结果)。

四、实战演示:完整测试用例编写

结合上述格式和步骤,以下是结合百度登录模块核心场景的自动化测试用例示例,可直接作为后续脚本开发的依据:

用例编号测试模块测试场景前置条件测试步骤预期结果
Login_Auto_001账号登录用户名 + 密码正确,登录成功1.浏览器可正常访问网络;2. 百度登录地址:https://www.baidu.com/;3.已注册账号。1.打开浏览器,访问登录页面;2. 输入用户名;3. 输入密码;4.勾选用户协议5.点击“登录”按钮;;6.等待页面跳转1.登录成功,跳转至首页;2.首页显示用户名 如:“test001”
Login_Auto_002账号登录用户名为空,点击登录(校验)1.浏览器可正常访问网络;2. 百度登录地址:https://www.baidu.com/;3.已注册账号。1.打开浏览器,访问登录页面;2.定位“用户名输入框”,不输入任何内容;3.定位“密码输入框”,输入123456;4.勾选用户协议;5.点击“登录”按钮1.页面不跳转;2.显示错误提示:“请您输入手机号/用户名/邮箱”
Login_Auto_003账号登录密码错误,登录失败(校验)1.浏览器可正常访问网络;2. 百度登录地址:https://www.baidu.com/;3.已注册账号。1.打开浏览器,访问登录页面;2.输入用户名;3.输入密码654321(错误密码);4.勾选用户协议;5.点击“登录”按钮1.页面不跳转;2.页面显示错误提示:“用户名或密码有误,请重新输入或找回密码”
Login_Auto_004短信登录手机号格式错误,登录校验1.浏览器可正常访问网络;2. 百度登录地址:https://www.baidu.com/;3.已注册账号。1.打开浏览器,访问登录页面;2.点击“短信登录”切换登录模式;3.输入手机号:12345(格式错误);4.点击“发送验证码”按钮;1.点击“发送验证码”时,显示提示:“手机号码格式不正确”;

五、自动化测试用例编写的关键注意事项

1.聚焦 “自动化可行” 的场景:避免写入脚本无法验证的用例,例如 “登录页面加载时间≤3 秒”(需性能测试工具,自动化脚本难以精准验证);
2.输入数据需 “固定且唯一”:建议使用专用测试账号,避免使用生产数据或动态数据(如随机生成的手机号),确保用例可重复执行;
3.预留 “等待时间” 的思考:用例步骤中若涉及页面跳转、数据加载,需在预期结果中隐含 “等待逻辑”(后续脚本将通过显式等待实现),例如 “等待 3 秒后,页面跳转至首页”;
4.与元素定位关联:测试步骤中的操作对象(如 “用户名输入框”“登录按钮”),需提前确认可通过前文学习的定位方式(ID/XPath 等)找到,避免用例编写后无法编码实现。

总结:测试用例是自动化测试的 “核心骨架”

本节课我们通过百度登录模块的实战案例,讲解了自动化测试用例的编写逻辑、标准格式和关键技巧。核心要点可总结为三点:一是用例需遵循 “独立、可复现、简洁” 原则,为脚本开发提供清晰指引;二是编写时需 “场景拆解→前置条件→步骤→预期结果” 层层递进,确保逻辑完整;三是用例需与自动化执行逻辑匹配,聚焦可编码验证的场景。
下一节课,我们将基于本节课编写的测试用例,手把手教大家将用例转化为自动化脚本 —— 包括元素定位的实际应用、步骤的代码实现、预期结果的断言验证等。大家课后可尝试补充更详细的测试用例,提前熟悉 “用例→脚本” 的映射逻辑,为下一节的实战做好准备。

http://www.cnnetsun.cn/news/132435.html

相关文章:

  • vue+Spring Boot的实验室设备监控管理系统的设计与实现_g6499xa5
  • 如何用AI优化Cloudflare配置,提升网站性能
  • 如何高效集成TDesign Vue Next组件库提升开发效率
  • 信息管理毕设2026选题汇总
  • Kotaemon跨境电商客服:多语言支持全球用户
  • YUM707在实际项目中的应用案例分享
  • 医疗产品超声波焊接技术案例是什么?德诺超声波在医疗行业的应用有什么优势?
  • 如何灵活掌控B站API认证?自定义Cookie功能深度指南
  • 【MWORKS使用技巧80】Sysplorer如何读取外部txt文件(二):组件参数设置
  • 手机号码归属地查询库:5分钟快速上手实战指南
  • SKYNET Steam模拟器:零网络依赖的终极局域网游戏解决方案
  • 淋巴瘤化疗越做越糟?偶遇 “抗癌老乡”,4年活成生活达人!
  • 小白也能懂:PostConstruct注解图解指南
  • 快速搭建NAS导航面板:Sun-Panel终极配置指南
  • QR码修复终极指南:让损坏的二维码重获新生
  • 报警管理升级!这款智能安全系统,让隐患无处可藏
  • 基于SpringBoot前后端分离的宠物服务平台
  • 工业散热风扇 24 V 三相 BLDC 驱动:如何用单 N 沟 40 V SGT 把 Rdson 做到 0.75 mΩ
  • DashPlayer:英语学习者的智能视频伴侣,让语言习得事半功倍
  • 指纹特征提取实战:FingerJetFXOSE从入门到精通
  • PHP自定义函数完全指南
  • 南京大学学位论文LaTeX模板:学术写作的智能助手
  • 突破60帧限制:QtScrcpy高刷投屏性能优化全攻略
  • DataHub数据质量监控实战:从基础配置到企业级应用
  • OpenWrt Docker管理插件:可视化容器部署完整教程
  • labelCloud 终极指南:快速掌握3D点云标注的完整教程
  • 高效管理3D打印丝材:Spoolman开源工具让库存追踪变简单
  • 3分钟掌握Android设备实时控制:py-scrcpy-client完全指南
  • Gitee:本土化项目管理软件的崛起与未来
  • 3分钟上手BiliLocal:让本地视频也能享受B站弹幕乐趣![特殊字符]