【答疑】jsonpath和beanshell配合使用案例

问题

提升群小伙伴问了这样一个问题:

接口返回如下(list元素个数不确定),需要提取所有的iautoid,然后用逗号拼接起来,如果是如下返回,需要得到的结果是1687283717749342208,1679392630364184576,后续请求需要使用

{
	"data": {
		"firstPage": true,
		"lastPage": false,
		"list": [{
			"cwhname": "采购一部",
			"iautoid": "1687283717749342208"
		}, {
			"cwhname": "采购二部",
			"iautoid": "1679392630364184576"
		}],
		"pageNumber": 1,
		"pageSize": 15,
		"totalPage": 6,
		"totalRow": 86
	},
	"state": "ok"
}

解决方案:jsonpath+beanshell

因为返回的是json,所以使用jsonpath提取iautoid

调试取样器结果:iautoid变量是一个数组

添加beanshell后置处理程序

vars.get获取到的值是字符串,所以可以调用字符串的方法对字符串进行处理,去掉[、]、“

最后把处理后的字符串保存到变量中

调试取样器结果:下面可以看到上面beanshell添加的的变量iautoid2

日志结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一款功能强大的负载测试工具,而Beanshell则是JMeter中一个非常重要的组成部分。Beanshell是一个基于Java语言的脚本语言,它允许你在JMeter中使用Java代码来进行各种操作,包括读取文件、发送邮件、执行数据库操作等等。 以下是JMeter Beanshell的安装使用步骤: 1. 下载Beanshell 在官网下载最新的Beanshell版本,解压到任意目录。 2. 将Beanshell添加到JMeter的classpath中 打开JMeter的bin目录下的jmeter.bat(Windows)或jmeter.sh(Linux),找到如下代码: set CLASSPATH=%CLASSPATH%;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar 将其修改为: set CLASSPATH=%CLASSPATH%;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%BEANSHELL_HOME%\bsh-2.0b4.jar 其中,BEANSHELL_HOME为Beanshell的安装目录。 3. 在JMeter中使用Beanshell 在JMeter中使用Beanshell非常简单。只需要添加一个Beanshell Sampler,然后在Sampler中编写Beanshell脚本即可。 例如,以下是一个简单的Beanshell脚本,用于输出当前时间: import java.text.SimpleDateFormat; import java.util.Date; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = format.format(new Date()); log.info("Current time is " + currentTime); 在Sampler中选择Beanshell Sampler,然后将以上脚本复制到Script框中即可。运行测试计划后,可以在JMeter的日志中看到输出的当前时间。 总结 JMeter Beanshell是JMeter中非常重要的组成部分,它可以让你在测试中使用Java代码来进行各种操作。安装和使用Beanshell非常简单,只需要下载Beanshell,将其添加到JMeter的classpath中,然后在Sampler中编写Beanshell脚本即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值