01 提效工具之swagger接口生成

2021-08-11 15:17:45 浏览数 (1)

前言

作为一名测试工程师,除去点点点(俗称探索测试)日常面临最多的工作就是测试接口,每个迭代会有很多很多的接口,日积月累不可想象;那么,在编写接口测试脚本的过程中最让你觉得枯燥和乏味事情有哪些?

痛点

  • 每次拿到新接口,我们要手动参照文档在脚本中生成一份接口类,参数越多花费时间越多
  • 需求不同,但健壮性和部分业务用例重复性高
  • 想重构脚本,接口数据和用例这块纯编写的工作量就会让人望而怯步
  • 新接口不断增加,老接口测试脚本越来越多(屎山)不敢轻易整理

需求梳理

  • 我很懒,需要自动生成接口测试脚本
  • 我很笨,我需要简单易用,上手就能操作
  • 我全都要,接口文档(swagger/yapi/wiki)很多,我不想一个一个去复制黏贴

预期目标

一键自动生成接口测试脚本,解放双手,降低纯手力劳动占比,进而给自己提供更多的时间去思考、理解产品和设计更多“聪明”的用例

实现效果

今天我们先将swagger-ui接口文档,生成jmx文件供jmeter使用。只需要简简单单一个url就可以完成接口测试脚本的编写!

  • 需要的url【http://ip:port/v2/api-docs】
  • 安装依赖
代码语言:javascript复制
pip install -U swaggerjmx
  • 展示代码
代码语言:javascript复制
# -*- coding: utf-8 -*-

from swaggerjmx.convert import conversion
from swaggerjmx.settings import Settings as ST
#  swagger_url
ST.swagger_url = 'http://ip:port/v2/api-docs'
#  report_path
ST.report_path = 'jmx'
# 开始转换
conversion()
  • 生成脚本文件
  • 脚本展示

以上便是 swaggerjmx 的基本用法介绍。

如果您有发现错误,或者您对 swaggerjmx 有任何建议,欢迎到 swaggerjmx Issues 发表,非常感谢您的支持。您的反馈和建议非常宝贵,希望您的参与能帮助 swaggerjmx 做得更好。

仓库地址:

  • github: https://github.com/Pactortester/swaggerjmx.git
  • pypi:https://pypi.org/project/swaggerjmx

思考

「大家觉得方便高效有没有质和量的区别?」

  • 用java TestNG编写接口自动化脚本方不方便?也挺方便!
  • 用python pytest编写接口自动化脚本方不方便?也挺方便!
  • 用我们一键生成接口测试脚本的工具方不方便?好像也挺方便!

就经常问人,如果这三种方式能给够同样给你带来方便,也就是说这三种方式你都欣赏过都使用过,你都觉得还不错对吧!

「那你觉得哪种方便更让你方便?」

下集预告

  • 兼容yapi
  • 绕过swagger&yapi接口文档登录权限
  • 可视化部署
  • 更加便捷的使用(赋能)

关注「测试开发囤货」公众号回复「编程」,送你一本全彩 Python 编程电子书。

0 人点赞