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个参数,用户名和密码,通过工具去请求这个接口,一直返 ...
随机推荐
- xfs 文件系统修复
pvcreate /dev/sdb1 pvcreate /dev/sdc1 pvcreate /dev/sdd1 vgcreate vg_bricks /dev/sdb1 vgcreate vg_br ...
- 洛谷P2299 Mzc和体委的争夺战 题解
题目 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过前三弹的都知道).但如此之多的男家丁吸引来了我们的体委(矮胖小伙),他要来与mzc争夺男家丁. mzc很生气,决定与其决斗,但cat的体 ...
- 个人永久性免费-Excel催化剂功能第38波-比Vlookup更好用的查找引用函数
谈起Excel的函数,有一个函数生来自带明星光环,在表哥表姐群体中无人不知,介绍它的教程更是铺天盖地,此乃VLOOKUP函数也.今天Excel催化剂在这里冒着被火喷的风险,大胆地宣布一个比VLOOKU ...
- 个人永久性免费-Excel催化剂功能第33波-报表形式数据结构转标准数据源
一般来说,如果有标准的数据源结构,对后续的分析工作将会带来极大的方便.但现实中,许多的原始数据并不预期那样,一个主题的数据已经干净地存放在一个工作表中.今天Excel催化剂再次送上批量化操作,将不规则 ...
- rest-frameword框架的基本组件
序列化 1.models部分 from django.db import models # Create your models here. class Book(models.Model): tit ...
- sqlserver2014创建数据库时,错误提示如下:尝试打开或创建物理‘c:\数据库\db.mdf’时,Create File遇到操作系统错误5(拒绝访问)
CREATE DATABASE test1 ON PRIMARY ( NAME =test1, FILENAME='C:\Program Files\test1.mdf',SIZE=10240K ...
- 小白学python-day06-
今天是day06,以下是学习内容总结: 但行努力,莫问前程. --------------------------------------------------------------------- ...
- centOS7启动apache,报错Caused by: java.net.UnknownHostException: wshCentOS:
测试方法: ping 127.0.0.1 ping localhost 解决方案: vi /etc/hosts 把127.0.0.1和wshCentOS绑定就好 按 i 进入修改模式,按 esc 退出 ...
- 初始Spring 文档 完整版
初始Spring 1.Spring官网 spring.io 01. IOC(Inverse of Control)控制反转 02. AOP(Aspect Oritend Programming)面向切 ...
- 第二章: Java总结
第二章笔记 什么是变量:变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样.#在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据.说白了,变量就是代表程序运行时存放 ...