网站开发如何学习,怎么做网站推广平台,线上推广方案ppt,响应式网站的好处前言
JSR223预处理器是Apache JMeter中的一个组件#xff0c;它允许用户使用任何支持Java Scripting API (JSR 223) 的脚本语言来执行预处理任务。这个功能非常强大#xff0c;因为它让测试人员能够利用如Groovy、JavaScript#xff08;Nashorn引擎#xff09;、BeanShell…前言
JSR223预处理器是Apache JMeter中的一个组件它允许用户使用任何支持Java Scripting API (JSR 223) 的脚本语言来执行预处理任务。这个功能非常强大因为它让测试人员能够利用如Groovy、JavaScriptNashorn引擎、BeanShell等脚本来增强JMeter测试计划的能力。
一、JSR223的使用场景
● 动态生成数据比如在性能测试中需要动态生成请求参数。 ● 复杂逻辑处理当内置的JMeter元件无法满足需求时可以通过编写脚本来实现更复杂的逻辑。 ● 外部系统集成通过脚本与数据库或其他外部系统交互获取或更新数据。
二、如何配置JSR223预处理器
打开JMeter测试计划并找到想要添加预处理器的地方一般在Sampler之前。右键点击所选位置 - Add - Pre Processors - JSR223 PreProcessor。在打开的JSR223预处理器界面中您可以设置如下选项 ○ Name: 给预处理器命名。 ○ Script Language: 选择希望使用的脚本语言默认为groovy。 ○ Parameters: 如果脚本需要接受参数的话可以在这里定义。 ○ Script: 这里输入实际要运行的脚本代码。编写脚本。例如如果想用Groovy来设置一个变量你可以这样写
// 设置名为myVar的JMeter变量
vars.put(myVar, 这是一段使用Groovy script写的脚本)确保保存了更改后就可以像平常一样运行测试计划了。
三、实际使用
我在测试过程中的实际使用场景为在某省级发改委项目中我需要让每一次提交的数据的ID都保持不同防止插入数据时由于主键重复发生报错于是借助JSR223预处理器的能力实现每一次请求过程中动态更换json中的ID信息。具体脚本内容如下
import groovy.json.JsonSlurper
import groovy.json.JsonOutput// 读取原始的Body Data
def jsonStr
{formId:5d649dcfcb670b4d9619094e21a8f479,catalog_id:,id:6717674560b21ae3c1691e04,projectName:xxxName,projectType:10,projectLevel:xxx测试项目,projectAddress:xxx测试项目,projectQymc:xxx测试企业20241012,projectTitle:xxx测试项目,
}
// 解析JSON
def json new JsonSlurper().parseText(jsonStr)// 获取当前时间毫秒
def currentTimeMillis System.currentTimeMillis()// 生成6位随机数
def randomNum (Math.random() * 900000 100000) as int// 拼接字符串
def suffix ${currentTimeMillis}${randomNum}// 遍历所有字段并替换“formId”
json.each { key, value -if (value instanceof String value.contains(6717674560b21ae3c1691e04)) {json[key] value.replaceAll(6717674560b21ae3c1691e04, 6717674560b21ae3c1691e04${suffix})}
}// 将修改后的JSON转换回字符串
def updatedJsonStr JsonOutput.toJson(json)// 设置新的Body Data
sampler.getArguments().removeArgument(0)
sampler.addNonEncodedArgument(, updatedJsonStr, )通过这种方式可以尽可能保障每一次调用过程中json中的formId内容是不同的防止出现由于主键重复而导致的报错。脚本的具体摆放位置如下 测试开发工程师一只也在不断的学习阶段平时的小经验不定期分享。
希望看我写的文字的人可以少走弯路 祝工作学习顺利。
博主经验有限若有不足欢迎交流共同改进~
愿与同在CSDN的你共同进步。作者 | 千川