Pactortester/swaggerjmx
GitHub: Pactortester/swaggerjmx
swaggerjmx 是一款将 Swagger/YApi 接口文档自动转换为 JMeter jmx 测试脚本的 Python 工具,解决接口测试用例手工编写耗时且维护成本高的问题。
Stars: 115 | Forks: 40
# swaggerjmx
[](https://codecov.io/gh/Pactortester/swaggerjmx)    [](https://pepy.tech/project/swaggerjmx)  
**[英文文档](./README_en.md)**
## Logo

## 安装
```
pip install -U swaggerjmx
```
## 仓库地址
- github:https://github.com/Pactortester/swaggerjmx.git
- pypi:https://pypi.org/project/swaggerjmx
## 适用场景
1. 由于接口测试脚本编写耗时,而且需要持续维护,耗时耗力,使用此工具可以一键生成接口测试脚本。
2. swagger-ui接口文档一键生成jmx文件供jmeter使用。
3. yapi接口文档一键生成jmx文件供jmeter使用。
## 功能
1. 将swagger-ui文档转换为jmx文件。
2. 将yapi文档转换为jmx文件。
## 代码方式
### Demo_1
- 可以直接访问 swagger_url (http://ip:port/v2/api-doc) 不需要登录的,使用Demo_1方式转换
```
# -*- 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()
```
### Demo_2
- 需要登录才能访问的,可以复制swagger_url页面上的json信息,保存json文件,使用Demo_2方式转换
```
# -*- coding: utf-8 -*-
from swaggerjmx.convert import conversion
from swaggerjmx.settings import Settings as ST
# swagger_url_json_path
ST.swagger_url_json_path = 'test.json'
# report_path
ST.report_path = 'jmx'
# 开始转换
conversion()
```
## 命令行方式
### 预置参数
```
(venv) lijiawei@bogon swaggerjmx % swaggerjmx -h
usage: swaggerjmx [-h] -i INPUT [-o OUTPUT]
Swagger or YApi convert jmx tool! Created: Lijiawei. Version 1.1.0
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
The input swagger json file or swagger url.
-o OUTPUT, --output OUTPUT
The output jmx file path(default jmx). If it exists, new endpoints will be overwrite.
```
### 使用方式
```
swaggerjmx -i -o
```
### swagger json 示例
```
swaggerjmx -i tests/data/swagger.json -o jmx
```
### swagger url 示例
```
swaggerjmx -i https://ip:port/v2/api-docs -o jmx
```
## 截图:
1. 传入红框中的swagger-ui 地址

2. 生成的jmx文件

3. jmeter中显示

## 趋势图
[](https://starchart.cc/Pactortester/swaggerjmx)
## 贡献
```
git clone git@github.com:Pactortester/swaggerjmx.git
cd swaggerjmx
pip install -e .
```
##
以上便是 swaggerjmx 的基本用法介绍。
如果您有发现错误,或者您对 swaggerjmx 有任何建议,欢迎到 [swaggerjmx Issues](https://github.com/Pactortester/swaggerjmx/issues) 发表,非常感谢您的支持。您的反馈和建议非常宝贵,希望您的参与能帮助 swaggerjmx 做得更好。
标签:JMeter, Python, Swagger, YApi, 接口测试, 无后门, 测试工具, 逆向工具