jmeter加密接口测试(实例详细)

Janna ·
更新时间:2024-11-10
· 934 次阅读

文章目录一、导出加密、解密方法jar包;二、加密jar包导入到jemter中三、BeanShell PreProcessor加密插件中代码的编写1.加密插件四、把加密数据进行解密。1.解密插件 一、导出加密、解密方法jar包;

使用工具是IntelliJ IDEA,根据开发给的加密解密代码导成jar包,供后面导入jmeter使用。
1.导出jar包方法(导出之前,加密方法要有一个主方法。自己先加密、解密调试成功):
在这里哎哎插入图片描述

在这里插入图片描述
生成完成后,jar包存放路径为项目路径下D:\javauiui\out\artifacts\javauiui_jar
在这里插入图片描述

二、加密jar包导入到jemter中 导入后,记得保存然后重启jmeter。
在这里插入图片描述 三、BeanShell PreProcessor加密插件中代码的编写 1.加密插件

在这里插入图片描述
插件内脚本编写和在java编译器中差不多,把参数经过加密方法,加密后取出来就可以了。
举例:

String enData=AbstractRSACoder.publicKeyEncrypt(publicKey, requestMessageBody); String enDatas = ("\""+enData+"\""); vars.put("messageBody",enDatas); //需要使用该命令,把加密后的参数放到`messageBody`中,供发起请求后使用。 四、把加密数据进行解密。 1.解密插件

在这里插入图片描述
解密插件的使用。就是把返回到的加密数据进行解密。然后对解密出来的数据进行再次使用,作为下次请求的入参。

接收返回的加密数据使用到了正则表达式,截取后存放数据的变量如mb 在解密插件中,使用String mess = vars.get("mb");命令得到mb变量,然后进行解密。 对解密出来的输出进行抛出,供请求使用vars.put("policyNO",mess);

以下是一些随机数的使用。,不需要特定参数时,可以不用参数化方式获得入参,随机数更为快捷。

对于一些参数化的数据,同样使用String mess = vars.get("mb"); vars.get 命令获取到变量值。 String timeStamp =("\""+${__time(/1000,)}+"\""); vars.put("timeStamp",timeStamp); UUID uuid = UUID.randomUUID(); String uuId = ("\""+uuid+"\""); vars.put("uuId",uuId); String phone = "130"+${__Random(10000000,99999999,)}; //手机号 String cardNo = "card"+${__Random(1,99999999,)}; //护照号码
作者:silen0523



jmeter 接口测试 接口 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号