跳至主要內容

自动化测试实践题(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() 记录加载时间
    • 记录各页面耗时输出报告
  • 提升点:性能数据记录、日志输出、响应时间断言

✅ 09. 数据库校验测试

  • 目标:注册用户后自动连接数据库校验数据是否写入
  • 实践内容
    • 使用 pymysqlsqlalchemy 查询数据库
    • 与页面输入数据做比对
  • 提升点:后端验证、数据库操作、数据一致性校验

✅ 10. 失败截图 + Allure 报告集成

  • 目标:测试失败自动截图并集成 Allure 生成图文报告
  • 实践内容
    • Pytest + Selenium 中封装截图逻辑
    • 把截图插入到 Allure 报告中
  • 提升点:Allure 报告美化、失败可视化追踪、增强可读性

以下是20个自动化测试相关的实践题,涵盖 Web UI、接口、性能、数据库、持续集成等多个方向,适合用于入门到进阶阶段的练习:


🧪 一、Web UI 自动化测试(Selenium 或 Playwright)

  1. 实现登录测试自动化脚本(正/负案例)
    • 场景:输入正确用户名密码能登录,错误组合应提示失败
    • 技术:Selenium + Python
  2. 测试购物车商品的添加和删除功能
    • 验证:添加成功、数量变化、删除后为空等
  3. 下拉菜单选择和断言测试
    • 例如:国家选择下拉框是否能正确选中对应值
  4. 批量截图页面不同模块
    • 通过页面元素区域截图保存
  5. 测试表单输入校验
    • 如:邮箱格式错误、必填项为空是否触发验证提示

🧪 二、接口自动化测试(Requests + PyTest + Allure)

  1. 用户注册接口正负测试
    • 正确数据应返回 200 和 token,重复手机号返回 400
  2. 接口响应时间监测
    • 设定阈值,例如超过 2 秒视为失败
  3. 批量接口断言字段完整性
    • 使用 jsonschema 或校验返回字段结构是否正确
  4. Token 过期重登录机制
    • 模拟接口 token 失效后,如何自动重新登录并继续请求
  5. 多接口组合测试
    • 示例:登录接口获取 token 后访问用户信息和订单接口

🧪 三、数据库校验与数据驱动测试

  1. 数据库校验注册成功是否写入用户表
  • 使用 pymysql/SQLAlchemy 查询并断言
  1. 读取 Excel 批量执行接口测试
  • 利用 openpyxl + PyTest 实现数据驱动测试
  1. 订单支付后状态是否变为已支付(接口+DB)
  • 多接口串联 + 数据库状态校验
  1. 动态生成测试数据并写入数据库
  • 用于模拟海量用户/订单/评论等场景

🧪 四、性能与稳定性测试(JMeter 或 Locust)

  1. 模拟 1000 用户并发访问接口
  • 使用 Locust 或 JMeter 编写性能测试脚本
  1. 接口压测结果分析
  • 收集 TPS、响应时间、错误率等并出报告
  1. 接口在高并发下是否数据异常
  • 观察是否出现库存为负、数据重复等问题

🧪 五、持续集成 + 报告 + 通知

  1. 使用 Jenkins 执行 PyTest 自动化脚本
  • 自动拉取代码、运行测试、输出报告
  1. 生成 Allure 报告并集成至 CI 流程中
  • 美化测试报告并支持历史趋势查看
  1. 测试失败通过企业微信/钉钉发送通知
  • 针对接口/页面异常第一时间报警