前言
作为一名测试工程师,除去点点点(俗称探索测试)日常面临最多的工作就是测试接口,每个迭代会有很多很多的接口,日积月累不可想象;那么,在编写接口测试脚本的过程中最让你觉得枯燥和乏味事情有哪些?
痛点
- 每次拿到新接口,我们要手动参照文档在脚本中生成一份接口类,参数越多花费时间越多
- 需求不同,但健壮性和部分业务用例重复性高
- 想重构脚本,接口数据和用例这块纯编写的工作量就会让人望而怯步
- 新接口不断增加,老接口测试脚本越来越多(屎山)不敢轻易整理
需求梳理
- 我很懒,需要自动生成接口测试脚本
- 我很笨,我需要简单易用,上手就能操作
- 我全都要,接口文档(swagger/yapi/wiki)很多,我不想一个一个去复制黏贴
预期目标
一键自动生成接口测试脚本,解放双手,降低纯手力劳动占比,进而给自己提供更多的时间去思考、理解产品和设计更多“聪明”的用例
实现效果
今天我们先将swagger-ui接口文档,生成jmx文件供jmeter使用。只需要简简单单一个url就可以完成接口测试脚本的编写!
- 需要的url【http://ip:port/v2/api-docs】
- 安装依赖
pip install -U swaggerjmx
- 展示代码
# -*- 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 编程电子书。