最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进度的需要,选择的做法是:让开发写个加密处理生成请求报文的代码,然后每次测试发送一次请求都用eclipse跑一遍该代码,测试数据的修改也是在代码中变更.这样跑一轮测试下来,测试同事都反映太累了. jmeter中的BeanShell,可以用来调用我们的工具类对数据进行处理,然后再进行相关的请求.自己刚好…
首先,来看一下接口签名加密规则 1.需要参于签名的参数: a. 在请求参数列表中,除去 cliSign 参数外,其他需要使用到的参数皆是要签名的参数. 2.生成签名字符串 a. 没有值的参数无需传递,也无需包含到待签名数据中 b. 签名数据应该是原生值而不是 encoding 之后的值 c. 若遇参数值为数组时,请以char=7对应字符进行分割此参数的多个值 d. 按签名参数 a 到 z 的顺序排序("&"是分割开出多个参数) 签名参数字符串如下: params = chann…
https://www.jianshu.com/p/6ab73a95d53e https://yq.aliyun.com/articles/664329…
转载自 http://www.cnblogs.com/yangxia-test 背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码的jar包,commons-codec-1.10.jar(网上很多),下载后,放到“apache-jmeter-3.2\lib\ext”目录下,一劳永逸. 2.打开jmeter,新建线程组,新建http请求: 3.然后再添加一个BeanShell: 4.根据接口实际情况编辑http请求: 5.Bea…
jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的自动化接口测试框架.它的好还在于它是纯JAVA开发的,因此,它可以更好的跟JAVA对接,通过引入自己封装的jar文件,可以方便的实现对jmeter各种个性化需求的功能的拓展,下面以一个实际例子来说明jmeter怎么引入自己开发的java工具类来实现对http请求参数的加密处理. 在此之前,我们假设有…
[前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密. [正文] 1.我们首先在Eclipse里面写好MD5的加密文件,用Eclipse执行一遍,确保程序调用不会报错. Eclipse展示图: Str2MD5.java 代码: package com.md5; import java.security.MessageDigest; import j…
一.JMeter介绍 Apache JMeter是一款优秀的开源性能测试工具,在国外无论是在性能测试还是接口测试领域都有着非常高的使用率,但由于本身没有完善的中文文档以及典型开源工具特点(界面不美观)所以在国内应用并不广泛.先说说为什么要选择JMeter作为接口测试工具,选择它我主要基于以下几个原因: 一.成本低并且对编码要求相对不高.相较针对公司产品特性自主开发一套接口测试自动化框架,用JMeter实现接口测试无需具备非常专业的编码能力(对于像我这样的码渣而言是极好的),并且成本也要低的多,很…
jmeter通过BeanShell,实现对接口参数HmacSHA256加密2019-04-29 05:10 ps. 最近抓包网站的登陆请求,发现就2个参数,用户名和密码,通过工具去请求这个接口,一直返回参数错误. 原因大概有两个吧:1.未指定连接类型  2.参数不正确(密码未经过加密传输) 抓包可以看出来服务器接收的是json格式的传输. 在jmeter里添加http头部管理器中添加连接类型 Content-Type application/json 接下来说下对http请求中的参数加密问题,该…
前提: eclipse.JDK.Jmeter 说明: 本文分为两部分进行配置说明 第一部分:编写JavaMD5加密脚本 第二部分:使用Jmeter的BeanShell进行验证 **************************************************************************************** 第一部分:编写JavaMD5加密脚本: 第一步:打开eclipse,创建一个MD5Test包,如下图: 输入创建的包的名称,点击Finish 完成…
beanshell是什么 BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型.命令.闭包等通用脚本来对其进行拓展.BeanShell不仅仅可以通过运行其内部的脚本来处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码.因为BeanShell是用java写的,运行在同一个虚拟机的应用程序,因此可以自由地引用对象脚本并返回结果.(摘抄自网络) 下载及运行…