深入理解jmeter中的json extractor-编程思维

Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中的JSON Extractor就派上了用场。 JSON Extractor是JMeter中的一个Post Processor组件,它可以根据JSON Path表达

jmeter 基于脚本实现代码共享-编程思维

需求描述 需求是这样的:执行某次压测任务时,压测涉及的前端接口,要求携带一个userName请求头,该请求头值为实际用户名经过DES加密后,再采用Base64加密后的值,为此,编写了一段加密代码,发送请求前,对用户名进行加密,并将加密结果存储为变量。最后将代码添加到 JSR233采样器中,如下 DES加密代码 import java.util.Base64; import javax.crypt

jmeter线程组间传递变量-编程思维

做接口测试,上一个线程组(A线程组)提取的变量,需要传递给下一个线程组(B线程组)使用。故需要将A线程组内提取的变量设置为全局变量。实现如下: 1. json提取变量(A线程组)   通过json提取器,将A线程组请求中的billId提取出来,如下: 2. BeanShell 取样器定义变量(A线程组)   添加【BeanShell 取样器】,在【函数助手】调用setProperty函数,“属

jmeter参数化导致反斜杠(\)被转义-编程思维

前情提要:在用jmeter做接口测试时,对请求体进行参数化,执行结果报错。但在不参数化的情况下,执行结果成功,而且参数化后,请求中读取到的参数是正确的(执行失败与执行成功时的参数一致)。 问题排查:参数化后,请求中的两个反斜杠(\)变成了一个反斜杠(\)。 问题原因:参数化的时候,${}把反斜杠给转义了。解决办法:把单反斜杠替换成双反斜杠。 问题发现、排查及解决过程,如下: 1. 请求未参数

jmeter对请求响应结果进行整段内容提取方法-编程思维

通过正则表达式提取器,将上一个请求(A请求)响应数据中的整段内容提取,传给下一个需要该提取数据的请求(B请求)。 1. 请求接口响应结果 2. 添加正则表达式提取器   设置变量名为“tt”,正则表达式如下:(提取从"WORKFLOW_CALLBACK_DATA"到"3526115983220169634"的中间内容) "WORKFLOW_CALLBACK_DATA":."(.*)":"35

jmeter:"an error occurred: can't connect to x11 window server using 'lacalhost:12.0' as the value of the display variable." 解决办法-编程思维

做各种不同项目的性能测试,都需要在项目本地压测服务器配置jmeter,需要时还要调出jmeter图形化界面来调试jmeter脚本。 标题中的问题遇过多次,这次做个记录。 1. 启动jmeter报错   在配置好jmeter环境变量的linux系统执行jmeter命令,报错如下: [root@localhost ~]# jmeter = = = = = = = = = = = = = = = =

jmeter:内存溢出解决办法-编程思维

使用jmeter执行性能测试,报错:java.lang.OutOfMemoryError: Java heap space 需要对jmeter的jvm进行调优。记录如下: 1. 问题记录及分析:   使用jmeter执行性能测试,某场景150并发时,出现报错。日志如下: Creating summariser <summary> Created the tree successf

linux系统启动jmeter可视化界面-编程思维

目的:方便在Linux系统调试jmeter脚本。操作:Linux启动jmeter可视化界面,不能使用root用户,需要创建新用户,切换到新用户启动jmeter。 1. 创建用户   创建一个新的系统用户。 [yyuser@zwzf-cwy-lzy-7-new ~]$ sudo -i [root@zwzf-cwy-lzy-7-new ~]# useradd jmeter [root@zwzf-

混合场景-编程思维

做性能测试,完成所有单个重点场景的性能测试之后(单场景的目的一般是为了发现缺陷、发现瓶颈),还需要做一个混合场景的性能测试(评估系统整体性能)。 1. 场景设计   使用jmeter 做混合场景设计:在一个测试计划下,将每个重点测试场景各创建为一个线程组,同时运行多个线程组。   注:测试计划中的 ① 独立运行每个线程组、② 主线程结束后运行teardown线程组均不勾选,否则不会同时运行多个

jmeter+ant+jenkins接口自动化测试平台-编程思维

  一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。 Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。 1. 环境依赖 JDK环境配置 Jmeter安装 Ant安装环境变量配置 Jenkins安装 2. 环境准备 2.1 jdk环境配置   参考:http

通过jmeter上传/导入文件-编程思维

系统性能测试,需要模拟生产环境搭建应用服务和建造环境数据,最大限度的还原生产环境,使系统性能测试的指标更加合乎实际,真实、准确。 如某项目财务系统中的薪资管理模块做工资计算的压测,需要在系统内造179家单位、每家单位500个用户(400人在职、100人退休)...,最终要分别为每家单位的500个用户导入各项工资数据(用于计算)。 造数据过程中,每家单位切换分别导入在职、退休人员的工资数据,会非常

oracle:ora-00911: invalid character解决办法-编程思维

问题记录:用jmeter执行sql语句,报错:ORA-00911: invalid character。 解决方法:sql语句末尾“;”导致,去掉即可解决。 过程记录: 使用jmeter执行如下sql语句,响应结果:ORA-00911: invalid character update ma_emp set EMP_CODE='${uname}',EMP_NAME='${uname}',AS

jmeter——json提取器(从上一个请求的响应结果提取参数传给下一个请求)-编程思维

记录一个参数提取过程,可供后续参考。 1. 查看响应报文的结构   将上一个请求的响应报文复制到Notepad++编辑器 JSON Viewer是Notepad++的JSON插件, Notepad++的Plugins Admin可以安装管理插件, 它不仅可以格式化JSON字符串, 还可以打开JSON查看器查看结构化的JSON。   使用插件JSON Viewer的Format JSON功能

javax.script.scriptexception: cannot find engine named: 'nashorn', ensure you set language field in jsr223 test element: jsr223 预处理程序-编程思维

jmeter运行脚本报错,跟java版本有关,做个记录。 1. 问题记录: 执行登录接口测试,登录失败。点击jmeter右上角【黄色!】,查看错误日志。显示如下: 2022-09-23 10:29:53,642 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, JSR223 预处理程序 javax.script.Script

jmeter时间戳-编程思维

时间戳这东西,在jmeter中会经常用到,自己又总是记不住,做个记录。 jmeter自带的时间戳函数:   ①  ${__time(yyyy-MM-dd,)}  ,对应时间示例:2022-09-24   ②  ${__time(yyyy-MM-dd HH:mm:ss,time)}  ,对应时间示例: 2022-09-24 21:32:10   ③  ${__time(yyyy-MM-dd HH

配置jmeter环境变量-编程思维

好记性不如烂笔头。 本文采用jmeter5.4.1版本。  1. Linux系统 1.1 将jmeter上传到安装目录并解压   jmeter5.4.1链接: https://pan.baidu.com/s/1G8mmfus828nojVwjKcyqig 提取码: k4g9    安装目录: /opt cd /opt   unzip apache-jmeter-5.4.1.zip  1.

介绍一个jmeter录制脚本谷歌插件 —— metersphere-chrome-plugin-编程思维

该插件可将用户在浏览器操作时的 HTTP 请求记录下来并生成 JMX 文件(JMeter 脚本文件)。 1. 插件解压   插件下载链接: https://pan.baidu.com/s/1Alh_Z7CKCemXYNWUtnUlTA     提取码:33oi   将该插件解压  2. 插件安装   ① 谷歌浏览器输入chrome://extensions/ 进入扩展程序安装界面,打开【开发

javax.script.scriptexception: referenceerror: "window" is not defined in security.js at line number 10-编程思维

使用jmeter执行加密登录接口的测试遇到的问题。 问题记录: 今天使用jmeter执行加密登录接口的测试,因为测试环境的应用包是以前的老版本(可能有两年了),所以需要替换加密文件:security.js //jmeter JSR223 预处理程序 load("security.js"); //pwd1 = vars.get("passwd"); function RSA(){ va