jmeter 引用第三方jar包进行业务操作

在进行性能测试时,针对需要签名验签的接口,本文介绍了如何在JMeter中引入第三方jar包,使用Beanshell前置处理器来实现签名逻辑。首先将jar包放入lib/ext目录或修改配置,然后在Beanshell中编写Java代码进行参数处理,包括获取时间戳、创建JSONObject、调用签名方法,并将签名结果保存,最后进行HTTP请求。
摘要由CSDN通过智能技术生成

业务场景

最近在做性能测试时,遇到一系列接口需要做签名、验签处理。这些接口属于接入系统对外接入数据接口,是提供给外部系统给内部业务系统传递数据的,出于安全的考虑,对入参进行了签名,将签名参数和入参一并传入,由业务系统对签名参数进行验证。这种情况和普通接口需要传入token不一样,token可以由登陆接口获取,而签名只能使用函数方法得到。所以使用jmeter的前置处理程序,引入jar包签名然后再进行http请求。

实现方法

jar包引入

jmeter 引入jar包有2种方法,推荐使用第二种。

  • ui界面引入
    在这里插入图片描述
  • jar包放入指定目录下
    在这里插入图片描述
    将jar包放到jmeter安装目录下的lib/ext目录下即可,如果不生效则修改jmeter.properties配置文件中的plugin_dependency_paths参数,参数值为jar包所在目录
plugin_dependency_paths=../lib;../lib/ext;

新增beanshell前置处理

beanshell 前置处理中可以写我们的处理逻辑,其中的处理会在接口请求前执行。
在这里插入图片描述

业务方法处理

在这里插入图片描述
beanshell里面就是使用java代码写业务操作,图中内容比较简单。
首先import引入包,这里引入的fastjson和业务包都输入第三方jar。
使用vars.put()方法将入参作为变量添加到jmeter中,如果添加的变量类型不是string,则需要使用vars.putObject()方法。
接口入参需要时间戳,且在3分钟内。代码里获取了当前时间戳并保存变量。
新增一个jsonObject对象,从jmeter中取得变量并给jsonObject对象赋值。
将jsonObject对象转为字符串后调用业务jar中的签名方法对入参进行签名。
将签名结果保存。

请求调用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值