jmeter之beanshell使用
beanshell官网:http://www.BeanShell.org/
一.beanshell介绍
- 是一种完全符合Java语法规范的轻量级的脚本语言;
- 相当于一个小巧免费嵌入式的Java源代码解释器,可直接运行源代码,不需要编译,支持对象式的脚本语言特性;
- 执行标准Java语句和表达式,,并且拥有自己的一些语法和方法;
1.常用操作变量
vars:BeanShell脚本使用“ vars ”变量的get()和put()方法存取JMeter 变量
- vars.get("name"):从jmeter定义变量name中获得变量值,get(String key)方法只支持字符串值的变量
- vars.put(String key,String value):获取到的值"value"存到变量"key"中,jmeter参数引用变量key获得值value
- vars.putObject("obj",new Object()):用法同vars.put(String key,String value)方法



log:写入信息到jmeber.log文件,
- log.info(“This is log info!”):用来记录日志文件,写入到jmeber.log文件,可以设置日志等级

prev:获取sample返回的信息,用于断言、关联下个接口
- prev.getResponseDataAsString():获取响应信息
- prev.getResponseCode() :获取响应code

2.beanshell用法
自定义函数
在BeanShell中,可以使用java语言来编写特定的逻辑,结合BeanShell的内置对象进行变量的存取,

引用外部java文件
在beanshel通过source("路径+文件名")方法引入java文件,路径使用两个\\,调用方法同java语法一样

引用外部class文件
用addClassPath("E:\\")方法引入 class文件,添加路径时使用“盘符:\\”即可,会自动搜索到class文件,用import导入包.类名,如下

引用外部Jar包
把jar包放到jmeter目录lib\ext下,或者直接引用jar包,如下图添加,用import导入包.类名


二.beanshell使用
1.定时器:BeanShell Timer
调用sleep()方法

2.前置处理器:BeanShell PreProcessor
可以对接口进行加密处理,如登录密码,加密后的字符串传入后端,后端也要有相应的解密处理

3.采样器:BeanShell Sampler

4.后置处理器:BeanShell PostProcessor
通过prev内置变量获取响应内容
- prev.getResponseDataAsString():获取响应信息
- prev.getResponseCode() :获取响应code

5.断言:BeanShell断言
通过Failure和FailureMessage来设置断言结果
- Failure = false; 表示断言成功
- Failure = true; 表示断言失败
- FailureMessage = "自定义返回断言结果消息";

6.监听器:BeanShell Listener
待续
jmeter之beanshell使用的更多相关文章
- JMeter中BeanShell实现写入文件
1.首先F:\test.txt文件为空
- jmeter之beanshell提取json数据
Jmeter BeanShell PostProcessor提取json数据 假设现有需求: 提取sample返回json数据中所有name字段对应的值,返回的json格式如下: {“body”:{“ ...
- jmeter通过BeanShell 脚本,实现对http请求参数的加密
jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的 ...
- JMeter中BeanShell的实际应用
使用Jmeter的BeanShell断言,把响应数据中的JSON跟数据库中的记录对比 很多时候我们需要把Response Data取到的 Json 字符串跟数据库里的对比,来验证接口的正确性,使用Be ...
- jmeter之beanshell取出需要参数,传递给下个请求
jmeter之beanshell取出需要参数,传递给下个请求 事件背景: 上周同事用jmeter录制脚本,录制成功回放后,并没有达到自己想要的结果. ps:他想从数据库取出某个字段值,然后对数据库做操 ...
- jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密
前提: eclipse.JDK.Jmeter 说明: 本文分为两部分进行配置说明 第一部分:编写JavaMD5加密脚本 第二部分:使用Jmeter的BeanShell进行验证 ************ ...
- 利用JMeter的beanshell进行接口的加密处理
最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进 ...
- Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密
[前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加 ...
- JMeter(5) JMeter之BeanShell使用
BeanShell介绍 BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性.本篇只记录一下基本的使用.有以下五个组件: Beans ...
- jmeter通过BeanShell,实现对接口参数HmacSHA256加密(转)
jmeter通过BeanShell,实现对接口参数HmacSHA256加密2019-04-29 05:10 ps. 最近抓包网站的登陆请求,发现就2个参数,用户名和密码,通过工具去请求这个接口,一直返 ...
随机推荐
- [记录]inotifywait+rsync脚本和sersync2服务检测的脚本
1)inotifywait+rsync脚本: #!/bin/bash src=/data/ # 需要同步的源路径 des=data # 目标服务器上 rsync --daemon 发布的名称,rsyn ...
- 求1到n的质数个数和O(n)
也许更好的阅读体验 \(\mathcal{AIM}\) 我们知道: 对于一个合数\(x\) 有\(x=p^{a_1}_1*p^{a_2}_2*...*p^{a_n}_n\) 现在给出一个\(n\) 求 ...
- fuel 9.0完全离线配置+升级fule 9.1+bootstrap制作
2017-08-23 fuel 完全离线配置 完全离线适用于部署在内网,无Internet的环境当中,且需要升级fuel版本的情况.理论上,我的办法适用所有版本. 以下所有操作全部在fuel节点上. ...
- 完整使用JDBC访问数据库
Connection con = null; PreparedStatement statement = null; ResultSet res = null; List<Student> ...
- 在eclipse中创建Web项目中没有web.xml的解决方法
右键点击项目 → “Java EE Tool” → “Generate Deployment descriptor stub” 即可生成web.xml文件
- httpclient信任所有证书解决SSLException:Unrecognized SSL message,plaintext connection
在使用 HttpClient 工具调用第三方 Http 接口时报错 javax.net.ssl.SSLException:Unrecognized SSL message,plaintext conn ...
- python对数据去重处理
我们在数据处理时,经常需要用到对重复数据进行过滤处理. 对数据去重有两种处理方式,如下: 1.对重复数据去重,并且会自动排序 使用函数 set # 列表去重 list_a = [6, 6, 5, ...
- react项目建立导入包问题总结
1.react和react-dom包 使用react开发网页的话,我们难免会下载两个包,一个是react,一个是react-dom,其中react是react的核心代码.react的核心思想是虚拟Do ...
- Hadoop MapReduce的Shuffle过程
一.概述 理解Hadoop的Shuffle过程是一个大数据工程师必须的,笔者自己将学习笔记记录下来,以便以后方便复习查看. 二. MapReduce确保每个reducer的输入都是按键排序的.系统执行 ...
- JavaSE(一)Java程序的三个基本规则-组织形式,编译运行,命名规则
一.Java程序的组织形式 Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位. J ...