一、在测试过程中经常会遇到一些业务逻辑处理需要,单纯的线程设置不能满足,这时候就要使用BeanShell编写一定的脚本

前置处理器:BeanShell PreProcessor,主要接口请求前做一些参数化及逻辑处理

后置处理器:BeanShell PostProcessor ,自己写脚本提取参数,或者使用正则表达式

本人主要由于接口加密,从而需要使用BeanShell做一些接口参数化

二、接口加密需要开发提供的Jar包,放到/Users/wuxi/Documents/apache-jmeter-3.2/lib/ext里面

从而可以在BeanShell使用该加密方法进行逻辑处理

三、参数的使用,BeanShell里面参数变量引用来源

1、测试计划内变量,以后变量可以直接使用${url},${domain},可以在很多组件中直接使用

2、CSV Data Set Config中取值,一样使用${mobile}去使用,多个参数可以使用,分开

3、正则表达提取的变量,也可以直接使用${token},${id}去使用

正则提取跟LR的关联差不多,主要是左右边界获取中间所要提取的值

正则表达式:一般是用(.+?)全部获取

模版:$1$ 获取第一个匹配的,如果确认接口就返回一个该字段 $1$.匹配数字1,即可

如果返回很对该字段,则$-1$ ,匹配数字-1 来获取,${XXXX_matchNr}来获取整个获取字段个数

变量提取最好使用Debug Sampler 来确认下变量名是否提取的是自己所要的

4、BeanShell 变量的使用,将需要引用的变量写在parameters中

${id}可以直接写入string内部,jmeter会优先识别该变量,"${id}"也能获取到变量

也可以String token = vars.get("token");把jmeter参数转化为 java 变量,再进行字符串拼接

vars.put("user",user); //Bean shell的变量存到jmeter中,勾选编码

对于非法字符进行编码:在chrome中可以调试,encodeURIComponent(),dencodeURIComponent()

Jmeter之BeanShell变量使用讲解的更多相关文章

  1. jmeter beanshell 变量传递

    如果写成这样会报错: ${__BeanShell(${__threadNum}*2,ToatlAmount)}; ${__BeanShell(${__Random(1,99999,)},DayNum) ...

  2. JMeter中BeanShell实现写入文件

    1.首先F:\test.txt文件为空

  3. jmeter通过BeanShell 脚本,实现对http请求参数的加密

    jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的 ...

  4. jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密

    前提: eclipse.JDK.Jmeter 说明: 本文分为两部分进行配置说明 第一部分:编写JavaMD5加密脚本 第二部分:使用Jmeter的BeanShell进行验证 ************ ...

  5. 利用JMeter的beanshell进行接口的加密处理

    最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进 ...

  6. 详解JMeter函数和变量(转载)

    详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...

  7. JMeter(5) JMeter之BeanShell使用

    BeanShell介绍 BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性.本篇只记录一下基本的使用.有以下五个组件: Beans ...

  8. jmeter之beanshell使用

    beanshell官网:http://www.BeanShell.org/ 一.beanshell介绍 是一种完全符合Java语法规范的轻量级的脚本语言: 相当于一个小巧免费嵌入式的Java源代码解释 ...

  9. jmeter通过BeanShell,实现对接口参数HmacSHA256加密(转)

    jmeter通过BeanShell,实现对接口参数HmacSHA256加密2019-04-29 05:10 ps. 最近抓包网站的登陆请求,发现就2个参数,用户名和密码,通过工具去请求这个接口,一直返 ...

随机推荐

  1. 详解TableStore模糊查询——以订单场景为例

    背景 订单系统在各行各业中广泛应用,为消费者.商家后台.促销系统等第三方提供用户.产品.订单等多维度的管理和查询服务.为了挖掘出海量订单数据的潜能,丰富高效的查询必不可少.然而很多时候并不能给出完整准 ...

  2. CSDN-Java培训 - 看看这次会有多少人跟风...

    2019年5月8日,闲来无事(最近答辩还没事......),存个档. 看看这一波风口,记录互联网+教育.

  3. Vue点击事件失效

    在做项目时给button添加click事件,发现没反应,但另外写了一个button添加同样的事件,却能触发.原因是使用了better-scroll,默认它会阻止touch事件.所以在配置中需要加上cl ...

  4. oracle 识别’低效执行’的SQL语句

    用下列SQL工具找出低效SQL: SELECT EXECUTIONS , DISK_READS, BUFFER_GETS, ROUND((BUFFER_GETS-DISK_READS)/BUFFER_ ...

  5. H3C 对等通信

  6. HDU 1568

    - - 我自己开始以为是数值范围是1到100000000.... 搞了半天才发现是斐波那契数列的项数1到100000000 坑爹.!! 不会,只能看网上大牛的题解. 具体解释请看:http://www ...

  7. codeforces 609C

    #include<bits/stdc++.h> using namespace std; ],c[]; int main() { int n,i; while(cin >> n ...

  8. H3C 配置基本ACL

  9. 【t085】Sramoc问题

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] Sramoc(K,M)表示用数字0,1,2,...,K-1组成的自然数中能被M整除的最小数.给定K,M ...

  10. H5 多媒体标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...