admin管理员组

文章数量:1664349

Jmeter 接口测试之MD5加密函数

本文给大家介绍一下如何使用Jmeter自带的函数对常量和变量进行简单的加密处理,废话少说,里面开讲。

  • 使用Jmeter的前提条件:
    1.对应Jmeter版本的最新JDK下载,地址http://www.oracle/technetwork/java/javase/downloads/index.html
    2.下载jdk后,解压安装。(注意记住安装路径
    3.配置环境变量,这里就不多说了,请速看百度教程 https://jingyan.baidu/article/6dad5075d1dc40a123e36ea3.html

nice~你可以开始虐待Jmeter了

下载Jmeter 4.0版本

下载地址:http://jmeter.apache/download_jmeter.cgi

解压下载的jmeter压缩文件,打开文件夹,进入bin目录,找到jmeter.bat文件,双击打开(有时候需要右键以管理员身份运行)

刚刚安装完,你是不是奇怪怎么是英文版的?没关系,下面教你永久汉化。
首先,在Jmeter的安装目录下的bin目录中找到 jmeter.properties这个文件,用文本编辑器打开。
然后在#language=en的下一行增加一段:
language=zh_CN

另外,新版本默认是黑色界面,需要改外观颜色的可以在选项中任意切换

函数助手(函数生成器)
在jmeter界面点击 选项-》函数助手对话框,在弹框上选择MD5 ,可以生成一个函数模板。(常量加密)如图:

开始脚本编写

1.新建一个线程组,然后在线程组添加一个前置处理器BeanShell PreProcessor

输入如下代码,例如:

String sendTime = "${__time(yyyyMMddHHmmssSSS,)}"; //生成时间戳

String random = "${__Random(1,1000,Snum)}"; //生成一个随机数

String str = sendTime+";" + random + ";" + "key=123abc";  //拼接需要加密的字符串

vars.put("sendTime",sendTime.toString());  //把生成的时间戳提供给beanshell外部组件引用

vars.put("random",random);  //把生成的随机数提供给beanshell外部组件引用

vars.put("test",str);  //把拼接的需要加密的字符串提供给beanshell外部组件引用

2.添加一个Debug Sampler,目的为了在beanshell外部完成MD5加密,目前暂没办法在beanshell里面使用MD5函数完成对变量的加密。(其中code为加密后提供引用的变量名)

3.再次添加一个前置处理器BeanShell PreProcessor ,并在里面输入代码:

String getCode = vars.get("code");  //从beanshell外部的Debug Sampler控件获取变量

vars.put("mycode",getCode.toUpperCase()); //把加密后的MD5值转换成32位大写

如图:

3.在线程组添加一个HTTP请求,增加beanshell所有处理的变量作为请求参数。(以百度get请求为例)

4.添加一个监听器,运行脚本,然后查看请求的传参。

好了,介绍完了。这是一种最笨的办法,大神请笑着飘过。除了这种方法之外,另外还可以使用引用外部加密方法或者运用Jmeter自带的DigestUtils等更快捷的方法来实现MD5加密。

本文出自原创,打字辛苦~

本文标签: 函数助手接口测试JMeter