博客
关于我
Python+Pytest+Allure+Git+Jenkins接口自动化框架
阅读量:796 次
发布时间:2023-03-07

本文共 1114 字,大约阅读时间需要 3 分钟。

接口测试框架设计与实现

一、接口测试基础

接口测试是系统和组件之间接口的验证,主要关注数据交换、传递控制和逻辑依赖关系。常见的接口协议包括HTTP、RPC、WebService、Dubbo和RESTful等。

项目概述

本框架基于Python+Pytest+Requests+Allure+Jenkins,设计了一套数据驱动的接口自动化测试框架。

技术栈

  • 编程语言:Python
  • 测试框架:Pytest
  • HTTP客户端:Requests
  • 接口测试工具:Pactverity
  • 数据源:Excel、Json
  • 数据库:MySQL
  • 测试报告工具:Allure
  • 日志工具:Logbook
  • CI/CD工具:Jenkins

框架结构

框架通过封装请求基类和数据处理类,支持从Excel或Json维护测试用例,结合Pytest实现单元测试,生成Allure测试报告并集成到Jenkins进行持续部署。

功能概述

  • 数据处理

    • 支持Excel和Json格式测试用例文件
    • 提供单元格读写操作
    • 获取配置文件中的环境变量和敏感信息
  • 接口请求

    • 支持HTTP GET和POST请求
    • 提供全量契约测试(Pact_verification)
    • 定义Allure测试步骤和附件
  • 测试报告

    • 生成JSON格式测试报告
    • 转换为HTML格式展示
    • 支持通过Allure命令查看测试报告
  • 集成部署

    • 配置Jenkins项目和源码管理
    • 设置构建命令和Allure插件
    • 集成测试报告到CI/CD流程
  • 代码设计与功能说明

  • 工具类封装

    • 日志记录:使用Logbook进行日志记录,支持屏幕打印和文件存储
    • 配置文件管理:通过ConfigParser读取INI文件中的配置值
  • 请求基类封装

    • 提供GET和POST请求方法
    • 支持cookie和header参数
    • 实现全量契约测试
  • 数据驱动测试

    • 从Excel或Json文件读取测试用例
    • 支持参数化测试用例
    • 结合Allure生成详细测试报告
  • 测试用例编写

    • 使用Pytest实现单元测试
    • 通过Pact_verification进行全量契约测试
    • 定义断言逻辑并输出测试结果
  • 测试报告生成

    • Allure生成JSON测试报告
    • 将JSON转换为HTML格式
    • 支持通过命令查看和打开测试报告
  • 后期优化

  • 数据依赖优化

    • 提供数据预置功能
    • 支持多个测试用例依赖关系
  • 测试报告邮件发送

    • 集成邮件发送功能
    • 支持定期测试报告发送
  • 感想

    本框架结合了Pytest、Allure和Jenkins,实现了接口自动化测试的全流程。框架设计中还包含了日志记录、配置管理和契约测试等功能。通过实践学习,逐步完善框架功能,为接口测试提供了可靠的工具。框架中仍有优化空间,欢迎大家提出建议和意见。

    转载地址:http://grofk.baihongyu.com/

    你可能感兴趣的文章
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>
    python 关于epoll的学习
    查看>>
    Python 内存管理
    查看>>
    Python 内嵌函数:它们有什么用处?
    查看>>
    Python 内置 sum 函数 vs. for 循环性能
    查看>>
    Python 内置时间模块
    查看>>
    python 内部如何实现命名元组?
    查看>>
    python 写入json数据到数据库
    查看>>
    Python 列表删除相同的元素
    查看>>
    Python 初学者需要知道的四条建议
    查看>>
    Python 判断字符串是否包含子字符串
    查看>>
    python 判断当前时间是否为零点
    查看>>
    python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
    查看>>
    python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    查看>>