需求
- 需要自动生成接口测试脚本
- 接口文档(swagger/yapi/wiki)很多,我不想一个一个去复制黏贴到jmeter
期望
一键自动生成接口测试脚本,解放双手,降低纯手力劳动占比,进而给自己提供更多的时间去思考、理解产品和设计更多“聪明”的用例
实现效果
将yapi接口文档,生成jmx文件供jmeter使用。按照以下步骤,就可以完成轻轻松松完成接口测试脚本的编写!
- 打开yapi文档切换到数据管理页面
- 数据导出选择swaggerjson
- 数据文件导出成功【数据准备完成】
- 安装依赖
pip install -U swaggerjmx
mac 的安装
sudo pip install -U swaggerjmx
- 展示代码
# -*- coding: utf-8 -*-
from swaggerjmx.convert import conversion
from swaggerjmx.settings import Settings as ST
# swagger_url_json_path
# swaggerApi.json 是从yapi导出的文件
ST.swagger_url_json_path = 'swaggerApi.json'
# report_path
ST.report_path = 'jmx'
# 开始转换
conversion()
- 生成脚本文件
- 脚本就可以通过jmeter打开啦
以上便是 swaggerjmx 的基本用法介绍。
要是以上没有成功,可以下载源码自己跑
仓库地址:
- github: https://github.com/Pactortester/swaggerjmx.git
- pypi:https://pypi.org/project/swaggerjmx
实现如下:
完美搞定
# -*- coding: utf-8 -*-
import os
from swaggerjmx.convert import conversion
from swaggerjmx.settings import Settings as ST
def test_swaggerjmx_json_file():
# swagger or yapi json path
ST.swagger_json = None
ST.swagger_url = None
ST.swagger_url_json_path = os.path.join(str(__file__).replace("test_swaggerAPIjmx_json_file.py", ""), 'data', 'swagger.json')
# report_path
ST.report_path = 'jmx'
# 开始转换
conversion()
assert os.path.exists('./jmx/jmeter-Swagger-Petstore.jmx')
要是运行过程缺少loguru模块,可以通过pip/pip3安装
pip/pip3 install loguru
mac :sudo pip3 install loguru