自动化测试实践题(Python + Selenium/Requests/Pytest/Allure)
约 1448 字
title:练习题-自动化测试
date: 2025-8-06 00:00:00
自动化测试实践题(Python + Selenium/Requests/Pytest/Allure)
✅ 01. 自动化登录功能测试
- 目标:使用 Selenium 自动测试网站的登录功能
- 实践内容:
- 正确用户名密码登录
- 错误用户名或密码登录提示校验
- 登录按钮被禁用(如账号未填写)
- 提升点:元素定位、断言、异常处理
✅ 02. 表单提交与断言
- 目标:自动填写一个注册/留言表单并提交
- 实践内容:
- 自动输入姓名、邮箱、留言内容
- 提交表单后校验提示信息是否正确
- 提升点:表单自动化填充、断言成功提交提示
✅ 03. 测试网页下拉列表与按钮联动
- 目标:选择省份后市区下拉框是否正确加载
- 实践内容:
- 自动选择下拉框
- 获取下拉框加载内容进行断言
- 提升点:动态元素处理、页面等待、断言判断
✅ 04. 批量接口自动化测试
- 目标:对一组 API 接口进行批量自动测试
- 实践内容:
- 使用 Requests + Pytest
- 参数化测试多个接口
- 校验响应码、响应内容字段
- 提升点:接口测试结构设计、断言技巧、pytest 参数化
✅ 05. 接口自动化 + token 登录校验
- 目标:模拟登录接口,拿 token,完成数据拉取
- 实践内容:
- 登录接口获取 token
- 带 token 请求其他接口并校验数据字段
- 提升点:token 动态处理、header 动态设置
✅ 06. 图表数据一致性校验
- 目标:网页展示的图表数据与接口返回数据对比
- 实践内容:
- Selenium 获取网页图表值
- Requests 获取接口数据
- 对比两者数值是否一致
- 提升点:Web 数据抓取、接口数据解析、自动对比算法
✅ 07. 自动下载并校验 Excel 报表
- 目标:点击下载按钮后判断文件下载成功,校验内容
- 实践内容:
- Selenium 模拟点击下载
- 判断文件是否存在
- 使用
openpyxl读取 Excel 内容进行断言
- 提升点:文件操作、数据校验、自动清理
✅ 08. 页面加载时间性能测试
- 目标:记录网页每个页面的加载耗时
- 实践内容:
- Selenium 配合
time.time()记录加载时间 - 记录各页面耗时输出报告
- Selenium 配合
- 提升点:性能数据记录、日志输出、响应时间断言
✅ 09. 数据库校验测试
- 目标:注册用户后自动连接数据库校验数据是否写入
- 实践内容:
- 使用
pymysql或sqlalchemy查询数据库 - 与页面输入数据做比对
- 使用
- 提升点:后端验证、数据库操作、数据一致性校验
✅ 10. 失败截图 + Allure 报告集成
- 目标:测试失败自动截图并集成 Allure 生成图文报告
- 实践内容:
- Pytest + Selenium 中封装截图逻辑
- 把截图插入到 Allure 报告中
- 提升点:Allure 报告美化、失败可视化追踪、增强可读性
以下是20个自动化测试相关的实践题,涵盖 Web UI、接口、性能、数据库、持续集成等多个方向,适合用于入门到进阶阶段的练习:
🧪 一、Web UI 自动化测试(Selenium 或 Playwright)
- 实现登录测试自动化脚本(正/负案例)
- 场景:输入正确用户名密码能登录,错误组合应提示失败
- 技术:Selenium + Python
- 测试购物车商品的添加和删除功能
- 验证:添加成功、数量变化、删除后为空等
- 下拉菜单选择和断言测试
- 例如:国家选择下拉框是否能正确选中对应值
- 批量截图页面不同模块
- 通过页面元素区域截图保存
- 测试表单输入校验
- 如:邮箱格式错误、必填项为空是否触发验证提示
🧪 二、接口自动化测试(Requests + PyTest + Allure)
- 用户注册接口正负测试
- 正确数据应返回 200 和 token,重复手机号返回 400
- 接口响应时间监测
- 设定阈值,例如超过 2 秒视为失败
- 批量接口断言字段完整性
- 使用 jsonschema 或校验返回字段结构是否正确
- Token 过期重登录机制
- 模拟接口 token 失效后,如何自动重新登录并继续请求
- 多接口组合测试
- 示例:登录接口获取 token 后访问用户信息和订单接口
🧪 三、数据库校验与数据驱动测试
- 数据库校验注册成功是否写入用户表
- 使用 pymysql/SQLAlchemy 查询并断言
- 读取 Excel 批量执行接口测试
- 利用 openpyxl + PyTest 实现数据驱动测试
- 订单支付后状态是否变为已支付(接口+DB)
- 多接口串联 + 数据库状态校验
- 动态生成测试数据并写入数据库
- 用于模拟海量用户/订单/评论等场景
🧪 四、性能与稳定性测试(JMeter 或 Locust)
- 模拟 1000 用户并发访问接口
- 使用 Locust 或 JMeter 编写性能测试脚本
- 接口压测结果分析
- 收集 TPS、响应时间、错误率等并出报告
- 接口在高并发下是否数据异常
- 观察是否出现库存为负、数据重复等问题
🧪 五、持续集成 + 报告 + 通知
- 使用 Jenkins 执行 PyTest 自动化脚本
- 自动拉取代码、运行测试、输出报告
- 生成 Allure 报告并集成至 CI 流程中
- 美化测试报告并支持历史趋势查看
- 测试失败通过企业微信/钉钉发送通知
- 针对接口/页面异常第一时间报警