yapi文档转换jmx脚本

需求

  • 需要自动生成接口测试脚本
  • 接口文档(swagger/yapi/wiki)很多,我不想一个一个去复制黏贴到jmeter

期望

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

实现效果

将yapi接口文档,生成jmx文件供jmeter使用。按照以下步骤,就可以完成轻轻松松完成接口测试脚本的编写!

  • 打开yapi文档切换到数据管理页面

  • 数据导出选择swaggerjson

yapi文档转换jmx脚本_第1张图片

  • 数据文件导出成功【数据准备完成】

  • 安装依赖
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

实现如下: 

yapi文档转换jmx脚本_第2张图片

完美搞定

# -*- 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

 

你可能感兴趣的:(python学习收藏,yapi)