博客
关于我
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制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>
    Python到底能做什么?它的优点在哪?
    查看>>
    python利用pytorch库导出图像分割算子
    查看>>
    python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
    查看>>
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>