当前位置: 首页 > news >正文

jmeter接口导入方式

curl直接导入

1、操作页面后,F12查看接口,右击接口-copy-copy as cURL
在这里插入图片描述
2、jmeter 工具-import from cURL,粘贴上面复制的curl
在这里插入图片描述

根据接口文档导入

1、接口文档示例如下:

Path: /api/jobs/xps/exec

Method: POST

接口描述:

file 文件类型:   MultipartFile

请求参数

Headers

参数名称参数值是否必须示例备注
Authorizationtokentoken权限认证
access_signxxx访问签名

Body

参数名称参数类型是否必须示例备注
titletext测试标题作业标题
fileSuffixtextdocx文件类型
clientIptext172.1.1.1打印机ip
printProperties.driverNametextxsp虚拟驱动驱动名称
printProperties.portSharedtext0不共享,1共享端口是否共享
printProperties.terminalTypetextWindows终端类型
printProperties.pageCounttext10页数总量
printProperties.copyCounttext1复印数量
printProperties.papertextA4页的大小
printProperties.duplexingtextOneSided(单面)单双面
printProperties.colortextMonochrome(黑白)颜色
printProperties.pageOrientationtextportrait页方向
printProperties.documentNametext测试.docx文档名字
printProperties.isPSDrivertexttrue是否ps驱动
filefile文件文件

2、jmeter创建测试计划-线程组

2-1、线程组下面添加HTTP请求

根据接口文档输入协议、ip、端口、请求类型、接口路径、参数等
在这里插入图片描述
接口中有file类型参数,需要上传文件
在这里插入图片描述

2-2、HTTP请求下添加配置原件-请求头管理器

接口文档中请求头有权限认证的token、签名(签名每次请求都要生成新的)
在这里插入图片描述
在这里插入图片描述
签名如何生成,下方讲解

3、生成签名

3-1、线程组下面添加beanShell Sampler

在这里插入图片描述

3-2、根据签名规则编写脚本

生成访问签名
参数名说明示例值备注
clientId签名ID0ca6eaf66cbf4f2bb1db6902c9c8d915
clientSecret签名秘钥8c0a5f3388154e2c959f2bd44fc2dd66
timestamp时间戳1706859156428当前时间戳
uuid唯一ID12345678唯一值,一个签名只能使用一次
访问签名生成逻辑

1、签名值= 签名ID+“:”+签名秘钥+“:”+时间戳+“:”+唯一ID

2、 生成算法:AES ,签名参数:ECB PKCS7 128bits

3、 AES算法秘钥(aesKey):#iSn##s$olu.@@sm

4、 access_sign生成规则:用AES算法对签名值进行加密

签名脚本
// Import the Base64 class
import org.apache.commons.codec.binary.Base64;// 参数
var clientId = "0ca6eaf66cbf4f2bb1db6902c9c8d915";
var clientSecret = "8c0a5f3388154e2c959f2bd44fc2dd66";
var timestamp = new Date().getTime();
var uuid = new java.util.Random().nextInt(90000000) + 10000000;// 计算签名值
var signValue = clientId + ":" + clientSecret + ":" + timestamp + ":" + uuid;// 加密签名值
var aesKey = "#iSn##s$olu.@@sm";
var cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, new javax.crypto.spec.SecretKeySpec(aesKey.getBytes(), "AES"));
var encryptedSign = cipher.doFinal(signValue.getBytes());// 生成访问签名 (使用 Commons Codec)
var accessSign = new String(Base64.encodeBase64(encryptedSign));// 将访问签名存储到变量中
vars.put("access_sign", accessSign);// 打印访问签名
System.out.println("access_sign: " + accessSign);

无接口文档,不是网页操作无法看到接口,抓包获取接口和参数

fiddler抓包获取

如在word文档中点击打印选择打印机后,调用了驱动打印接口,fiddler抓取到接口。
fiddler导出curl有bug缺少body,手动复制请求头和body。
在这里插入图片描述
复制所有的请求头
在这里插入图片描述
获取传参,name是参数名称,value是参数值
在这里插入图片描述
postman中输入请求方式、ip+接口、将上面复制的请求头粘贴、传参手动输入
在这里插入图片描述
在这里插入图片描述
右侧点击生成curl,将curl导入到jmeter,导入后注意修改参数token、签名、文件等数据。

相关文章:

jmeter接口导入方式

curl直接导入 1、操作页面后,F12查看接口,右击接口-copy-copy as cURL 2、jmeter 工具-import from cURL,粘贴上面复制的curl 根据接口文档导入 1、接口文档示例如下: Path: /api/jobs/xps/exec Method&#xf…...

设计模式(行为型设计模式——状态模式)

设计模式(行为型设计模式——状态模式) 状态模式 基本定义 对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 模式结构 Context(环境类)&…...

【Flutter学习笔记】10.3 组合实例:TurnBox

参考资料:《Flutter实战第二版》 10.3 组合实例:TurnBox 这里尝试实现一个更为复杂的例子,其能够旋转子组件。Flutter中的RotatedBox可以旋转子组件,但是它有两个缺点: 一是只能将其子节点以90度的倍数旋转二是当旋转…...

性能测试入门 —— 什么是性能测试PTS?

性能测试PTS(Performance Testing Service)是一款简单易用,具备强大的分布式压测能力的SaaS压测平台。 PTS可以模拟复杂的业务场景,并快速精准地调度不同规模的流量,同时提供压测过程中多维度的监控指标和日志记录。您…...

【机器学习】基于变色龙算法优化的BP神经网络分类预测(SSA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】变色龙优化算法(CSA)原理及实现 2.设计与实现 数据集: 数据集样本总数2000 多输入多输出:样本特征24&#xff…...

pytorch中tensor类型转换的几个函数

目录 IntTensor转FloatTensor FloatTensor转IntTensor Tensor类型变为python的常规类型 IntTensor转FloatTensor .float函数: FloatTensor转IntTensor .int函数 Tensor类型变为python的常规类型 item函数...

深入理解Elasticsearch高效原理

在当今数据驱动的世界中,能够快速有效地存储、搜索和分析庞大数据集变得至关重要。Elasticsearch是一个强大的开源搜索和分析引擎,专为云计算中心而设计,能够提供快速的搜索功能,并且能够扩展到包含数百个服务器的集群&#xff0c…...

http和socks5代理哪个隐蔽性更强?

HTTP代理和SOCKS5代理各有其优缺点,但就隐蔽性而言,SOCKS5代理通常比HTTP代理更隐蔽。以下是它们的比较: HTTP代理: 透明性较高:HTTP代理在HTTP头中会透露原始客户端的IP地址,这使得它相对不太隐蔽。…...

邮箱的正则表达式

一、 背景 项目中要给用户发送邮件,这时候需要校验用户输入的邮箱的有有效性,这肯定用正则呀。 虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个&a…...

blender插件笔记

目录 文件拖拽导入 smpl导入导出 好像可以导入动画 smpl_blender_addon导入一帧 保存pose 导入导出完整代码 文件拖拽导入 https://github.com/mika-f/blender-drag-and-drop 支持格式: *.abc*.bvh*.dae*.fbx*.glb*.gltf*.obj*.ply*.stl*.svg*.usd*.usda*.…...

解释关系型数据库和非关系型数据库的区别

一、解释关系型数据库和非关系型数据库的区别 关系型数据库和非关系型数据库在多个方面存在显著的区别。 首先,从数据存储方式来看,关系型数据库采用表格形式,数据存储在数据表的行和列中,且数据表之间可以关联存储,…...

YAML-02-yml 配置文件 java 整合使用 yamlbeans + snakeyaml + jackson-dataformat-yaml

java 中处理 yml 的开源组件是什么? 在Java中处理YAML(YAML Aint Markup Language)格式的开源组件有很多,其中一些比较常用的包括: SnakeYAML: SnakeYAML 是一个Java库,用于解析和生成YAML格式…...

【综述+LLMs】国内团队大语言模型综述:A Survey of Large Language Models (截止2023.11.24)

Github主页: https://github.com/RUCAIBox/LLMSurvey 中文版v10:https://github.com/RUCAIBox/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf 英文版v13: https://arxiv.org/abs/2303.18223 解析:大语言模型LLM入门看完你就懂了(一&…...

开始喜欢上了runnergo,JMeter out了?

RunnerGo是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性能测试。和JMeter不一样的是,它采用了B/S架构,更灵活、更方便。而且,除了API测试和性能测试,RunnerGo还加上了UI测试和项目管理等实用功能,让测…...

LLM - 大语言模型的分布式训练 概述

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/136924304 大语言模型的分布式训练是一个复杂的过程,涉及到将大规模的计算任务分散到多个计算节点上。这样做的目的是为了处…...

Spring Cloud Alibaba 整合Seata分布式事务

目录 前言步骤引入相关maven依赖添加相关配置Client端配置注册中心Server端配置注册中心Seata-Server相关配置启动seata-server 使用方法Seata AT 模式整体机制 步骤初始化表结构标记注解GlobalTransactional 总结 前言 在数字化转型的浪潮下,企业业务系统的复杂度…...

unity 多屏幕操作

想了解基础操作请移步:(重点是大佬写的好,这里就不再赘述) Unity 基础 之 使用 Display 简单的实现 多屏幕显示的效果_unity display-CSDN博客 在panel上也可以通过获取 Canvas,来达到切换多屏幕的操作, …...

4、Jenkins持续集成-用户权限和凭证管理

文章目录 一、用户权限管理1、安装用户权限管理插件2、开启权限全局安全配置3、创建角色4、创建用户5、给用户分配角色6、创建项目测试权限二、凭证管理1、安装凭证管理插件2、安装Git插件和工具2.1 用户密码类型2.2 SSH密钥类型一、用户权限管理 利用Role-based Authorizatio…...

K8s-网络原理-中篇

引言 本文是《深入剖析 K8s》的学习笔记,相关图片和案例可从https://github.com/WeiXiao-Hyy/k8s_example中获取,欢迎 ⭐️! 上篇主要介绍了 Flannel 插件为例,讲解了 K8s 里容器网络和 CNI 插件的主要工作原理。还有一种“纯三层”的网络方…...

vue基础——java程序员版(vue路由)

1、引入路由 在控制台执行vue ui,在插件市场里可以找到vue-router并导入。 ​ 一般情况下,vue会自动在main,js中引入vue-router,如下: import Vue from vue import App from ./App.vue import ./plugins/element.js import rou…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...