一、在测试过程中经常会遇到一些业务逻辑处理需要,单纯的线程设置不能满足,这时候就要使用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. mysql数据库之linux版本

    http://repo.mysql.com/yum/mysql-5.6-community/ 安装                                                    ...

  2. H3C 无线覆盖原则-蜂窝式覆盖

  3. 54个提高PHP程序运行效率的方法

    1.在可以用file_get_contents替代file.fopen.feof.fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_ge ...

  4. avalon2 第一个demo

    <!DOCTYPE html> <html> <head> <title>TODO supply a title</title> <m ...

  5. 【Activiti工作流引擎】官方快速入门demo

    Activiti官方快速入门demo 地址: https://www.activiti.org/quick-start 0. 版本 activiti 5.22.0 JDK 1.8 1. 介绍 这个快速 ...

  6. 【CSS3】精美横向滚动菜单按钮

    废话不多说,直接上图: 然后是代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  7. c语言中的字节数关系、

    转载自:传送门 16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int:  2个字节 unsigned int : 2个字节 float: ...

  8. js(三) ajax异步局部刷新技术底层代码实现

    ajax 异步 javaScript and xml 开发五步骤: 1. 创建对象 XMLHttpRequest(chrome,firefox) ie... jquery 2. 找到连接, http的 ...

  9. 给websocket加入心跳包防止自动断开连接

    var userId=$("#userId").val(); var lockReconnect = false; //避免ws重复连接 var ws = null; // 判断当 ...

  10. H3C Network命令详解