Jmeter 接口测试之MD5加密函数(函数助手篇)
转自:https://blog.csdn.net/hhyangel372/article/details/81571058
本文给大家介绍一下如何使用Jmeter自带的函数对常量和变量进行简单的加密处理,废话少说,里面开讲。
使用Jmeter的前提条件:
1.对应Jmeter版本的最新JDK下载,地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.下载jdk后,解压安装。(注意记住安装路径)
3.配置环境变量,这里就不多说了,请速看百度教程 https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
nice~你可以开始虐待Jmeter了
下载Jmeter 4.0版本
下载地址:http://jmeter.apache.org/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外部组件引用
1
2
3
4
5
6
7
8
9
10
11
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位大写
1
2
3
4
如图:
3.在线程组添加一个HTTP请求,增加beanshell所有处理的变量作为请求参数。(以百度get请求为例)
4.添加一个监听器,运行脚本,然后查看请求的传参。
好了,介绍完了。这是一种最笨的办法,大神请笑着飘过。除了这种方法之外,另外还可以使用引用外部加密方法或者运用Jmeter自带的DigestUtils等更快捷的方法来实现MD5加密。
---------------------
作者:hhyangel372
来源:CSDN
原文:https://blog.csdn.net/hhyangel372/article/details/81571058
版权声明:本文为博主原创文章,转载请附上博文链接!
Jmeter 接口测试之MD5加密函数(函数助手篇)的更多相关文章
- Flutter 接口签名MD5加密
第一步 更新pubspec.yaml crypto: ^+ 第二步 先引入头文件: import 'dart:convert'; import 'package:convert/convert.dar ...
- Jmeter接口测试之案例实战
Jmeter是apacheg公司基于Java开发的一款开源的压力测试工具,安装Jmeter之前先安装Jdk,具体JDK安装和环境变量配置自行百度.这里不概述. 1.添加线程组 测试计划->添加- ...
- jmeter接口测试之登录测试
注册登录_登陆接口文档 1.登录 请求地址: POST xxxxxx/Home/Login 请求参数: args={ LoginName:"mtest", // 登录名,可以为 ...
- Jmeter接口测试之Get请求
[一] 在测试计划下面添加一个线程组---------->在线程组下面分别添加HTTP请求.响应断言.BeanShellPreProcessor.察看结果树.聚合报告等内容. [二] 将使用的协 ...
- Jmeter接口测试之用例数据分离
之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...
- Jmeter接口测试之参数传递(十三)
在接口自动化测试中,经常会遇到的一种场景就是参数的场景,比如在用户列表中获取所有的用户列表,然后获取到某一个用户的ID,查看该用户的详细信息.首先在这里理清思路,它的流程是,首先获取到数据,然后在Jm ...
- Jmeter接口测试之案例实战(十一)
在前面的知识体系中详细的介绍了Jmeter测试工具在接口自动化测试中的基础知识,那么今天更新的文章主要是对昨晚的上课内容做个总结. 首先来看Jmeter测试工具在图片上传中的案例应用.首先结合互联网产 ...
- Jmeter接口测试之参数化(十)
在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模拟不同的账号,这里就需 ...
- Jmeter接口测试之用户自定义变量(九)
在使用Jmeter做接口自动化测试中,经常会使用到公共的数据,那么就需要对这些公共的数据分离出来,不管是基于测试框架的思想,还是使用工具来进行做自动化测试,公共数据的分离首先是需要思考的.这里就以获取 ...
随机推荐
- 羊村的OI题解
目录 喜羊羊与灰太狼--仓库管理 喜羊羊与灰太狼--破译密码 喜羊羊与灰太狼--烦恼的礼物 喜羊羊与灰太狼--仓库管理 传送门 水的一批,还让开o2了 就不写了 #include<iostrea ...
- HTML之微信全屏播放视频
不废话,上代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- BASE64使用场景
BASE64使用场景 Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64编码是从二进制到字符的过程. 在项目中,将报文进行压缩.加密后,最后一步必然是使用base64编码, ...
- java.net.MalformedURLException: unknown protocol: 异常
开门见山的说,第一个参数u,赋的值是 "D://123.txt",于是乎,报错了,java.net.MalformedURLException: unknown protocol: ...
- IDS,IPS,IPD
什么是IDP - 百度文库https://wenku.baidu.com/view/c500cf35eefdc8d376ee3220.html
- Android adb临时关闭Selinux
在eng/userdebug版本中 使用getenforce 命令查询当前权限状态,如:adb shell getenforce 使用setenforce 命令进行设置:adb shell seten ...
- python初级(302) 2 easygui简单使用
一.复习之前的两个练习,巩固计数循环和条件循环 1.系统生成一个随机数1到5,然后让用户的猜测,若猜对了,提示恭喜你,猜对了,否则提示,对不起,你猜错了(提示,1到5的随机数为:secret = ra ...
- python:封装连接数据库方法
config.py # 数据库测试环境 name = '***' password = '******' host_port_sid = '10.**.*.**:1521/bidbuat' Oracl ...
- UE4 ios环境搭建备忘
1.windows.mac安装证书 2.安装xcode .app -- 路径可以拖入 sudo gem install xcodeproj 3.错误处理 Setting up Mono Running ...
- .Net Core使用 MiniProfiler 进行性能分析
官方文档: https://miniprofiler.com/dotnet/AspDotNetCore 1.添加包 MiniProfiler.AspNetCore.Mvc 和 MiniPro ...