yapi文档转换jmx脚本

news2024/11/17 5:47:21

需求

  • 需要自动生成接口测试脚本
  • 接口文档(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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第九章:单调栈与单调队列

单调栈与单调队列一、单调栈1、什么是单调栈?2、单调栈的模板(1)问题:(2)分析:二、单调队列1、什么是单调队列2、单调队列模板(1)问题(2)分析一、…

深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」

Https反向代理 之前的内容中我们主要针对于一些对安全性要求比较高的站点,可能会使用HTTPS(一种使用SSL通信标准的安全HTTP协议),针对于HTTP 协议和SSL标准相信大家都知道了,在这里我就不为大家进行介绍了&#xff0c…

共建“医疗合规科技实验室”,美创科技实力护航医疗数据安全

11月15日-17日,由工业和信息化部、深圳市人民政府主办,中国互联网协会、广东省通信管理局、深圳市工业和信息化局等单位承办的2022中国互联网大会隆重召开。 在互联网医疗健康合规发展论坛上,医疗合规科技实验室合作伙伴计划正式启动&#xf…

scau Java综合性实验之Java源程序分析程序

1. 编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源…

ADB调试--详细教程(附华为手机无法显示设备解决方法)

终端打开开发者模式,用数据线连接电脑,然后按照下面的步骤操作 1、开启开发者选项: 设置->关于设备->版本号(连续点击5次) 2、打开USB调试 在开发者选项中,找到USB调试,将此打开。 3、…

作为资深程序民工怎么能被性能优化难倒!原理与实战齐飞,源自大厂自然更专业!

性能优化是一个很复杂的工作,且充满了不确定性。它不像Java业务代码,可以一次编写到处运行(write once, run anywhere),往往一些我们可能并不能察觉的变化,就会带来惊喜/惊吓。能够全面的了解并评估我们所负责应用的性能&#xff…

全渠道商城授权管控经销商,渠道商管理系统助力医药企业快速扩大渠道规模

随着医改的稳步推进,医药行业传统的以销售为主的扩张模式难以为继,国内药企面临创新转型。如何探寻医药数字化营销方法论,如何把握政策机遇和用户需求,利用数字化推动医药创新渠道破局,已成业内关注的重点。 后疫情时…

如何在win11中用双硬盘或移动硬盘装Ubuntu 20.04 双系统

首先明确一下思路,这个多硬盘的安装方式与单硬盘的方式没什么本质区别 下面介绍具体的方法: 1.下载Ubuntu系统镜像、制作系统盘 1.1 下载镜像 ubuntu20.04镜像下载:ubuntu20.04官网,点击进入下载 现在最新版是 Ubuntu 22.04.1…

ZX297520V3T:Codec NAU88C22驱动调试

一、音频驱动框架 ALSA(Advanced Linux Sound Architecture)是目前linux的主流音频体系结构。ALSA不仅在内核设备驱动层提供了alsa-driver,同时在应用层为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。为了方便调试,ALSA也提…

Spring~五种存储Bean对象的类注解、方法注解(@Bean)以及Bean对象的获取

目录 五种存储Bean对象的类注解 ​Controller Service Repository Component Configuration 方法注解Bean 使用Bean注解的常见问题 当一个类型有多个实例对象,使用类型获取就会报错 在容器中找不到Bean,不论通过什么方式来获取Bean对象都会报…

建设一个互联网医院系统要花多少钱?

建设一个互联网医院系统要花多少钱?很多人在筹备调研互联网医院建设后,仍然有很多问题答案不清楚,今天就给大家来聊一聊。 其实互联网医院看似简单,实则是一个较为复杂的过程,要想合法合规的开展线上诊疗业务&#x…

雷电模拟器dnconsole命令汇总

雷电模拟器之文件操作 删除相册中的文件 ldconsole adb --index 0 --command "shell rm /sdcard/DCIM/1.png" 雷电模拟器应用操作 假设启动名为test1的模拟器, 以抖音为例 : 判断应用是否安装: ldconsole adb --name test1 --co…

姿态识别+校准|视觉技术新突破

技术实现路径及优势 概述:通过2D图像序列加2D图像景深序列,利用复杂的3D重建算法与人体骨架模型的拟合还原姿态节点信息,进而对各种姿态进行准确的数学分析,达到准确高效识别姿态的效果;摆脱人脸3D训练样本真值依赖&am…

【输出重定向】Windows下 cmd 、powershell输出重定向

目录一、cmd和powershell二、什么是输入输出重定向三、语法及示例一、cmd和powershell 大家如果只用过Windows,可能cmd接触的相对多一点。按win r 输入cmd即可打开。我一般用的是powershell。 cmd:     cmd是command的缩写,即命令提示符。是提示命…

怎么手写转文字?借助这3款工具轻松实现

许多小伙伴在日常中会遇到需要把手写文字转换为电子版的情况,例如领导给一份手稿让你整理,亦或是平时自己随笔记录的一些内容想把它分享到平台上等等。但是手动逐字敲键盘输出太费时费神啦,所以今天要传授给大家一个好方法,那就是…

HTML5期末考核大作业,网站——青岛民俗 7页。 美丽家乡 学生旅行 游玩 主题住宿网页

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

LeetCode-808-分汤

1、动态规划法 我们可以利用二维数组dp[i][j]dp[i][j]dp[i][j]来记录当汤A的体积为i,汤B的体积为j时的概率。由于体积均为25的倍数,为了方便计算我们可以将所有体积都除以25。由于误差范围为10−510^{-5}10−5,我们可以计算得出当$n\ge179时…

Day08--自定义组件的插槽

1.什么是插槽 **************************************************************************************************************************************************************************************************************************** 2.单个插槽 我的操作&am…

一个小台灯 之 微信小程序开发日志

微信小程序开发日志 小程序只能使用https和后台服务器进行post请求和get请求,使用https的连接需要的微信小程序的后台对域名进行备份。 在备份的时候也只能通过域名,不能通过公网IP备份。 一、基础 微信小程序的一个界面主要分为四个文件 index.json…

剖析一下“抢茅台“脚本底层逻辑

本文作者:梁冬冬 前言: 今天你撸茅台了么👇? 撸茅台已经成为社会现象🙌,茶余饭后讨论的最佳实践😇 2022年双十一大促已经完美收官,兄弟姐妹克服种种困难与挑战… 备战的会议室忙碌…