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使用的更多相关文章

  1. JMeter中BeanShell实现写入文件

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

  2. jmeter之beanshell提取json数据

    Jmeter BeanShell PostProcessor提取json数据 假设现有需求: 提取sample返回json数据中所有name字段对应的值,返回的json格式如下: {“body”:{“ ...

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

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

  4. JMeter中BeanShell的实际应用

    使用Jmeter的BeanShell断言,把响应数据中的JSON跟数据库中的记录对比 很多时候我们需要把Response Data取到的 Json 字符串跟数据库里的对比,来验证接口的正确性,使用Be ...

  5. jmeter之beanshell取出需要参数,传递给下个请求

    jmeter之beanshell取出需要参数,传递给下个请求 事件背景: 上周同事用jmeter录制脚本,录制成功回放后,并没有达到自己想要的结果. ps:他想从数据库取出某个字段值,然后对数据库做操 ...

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

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

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

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

  8. Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密

    [前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加 ...

  9. JMeter(5) JMeter之BeanShell使用

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

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

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

随机推荐

  1. Spring Cloud Alibaba | Sentinel: 服务限流高级篇

    目录 Spring Cloud Alibaba | Sentinel: 服务限流高级篇 1. 熔断降级 1.1 降级策略 2. 热点参数限流 2.1 项目依赖 2.2 热点参数规则 3. 系统自适应限 ...

  2. Mask-RCNN:教你如何制作自己的数据集进行像素级的目标检测

    概述 Mask-RCNN,是一个处于像素级别的目标检测手段.目标检测的发展主要历程大概是:RCNN,Fast-RCNN,Fster-RCNN,Darknet,YOLO,YOLOv2,YOLO3(参考目 ...

  3. 深入学习SpringMVC

    1.什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC框架.MVC框架,它解决WEB开发中常见的问题(参数接收.文件 ...

  4. 洛谷P3905 道路重建

    题目:https://www.luogu.org/problemnew/show/P3905 分析: 此题是显然的最短路算法,只是看到一起删掉的一堆边感到十分棘手,而且还要求出的是最短添加边的总长度 ...

  5. C#3.0新增功能09 LINQ 标准查询运算符 03 按执行方式的分类

    连载目录    [已更新最新开发文章,点击查看详细] 标准查询运算符方法的 LINQ to Objects 实现主要通过两种方法之一执行:立即执行和延迟执行.使用延迟执行的查询运算符可以进一步分为两种 ...

  6. HTML--网页练习--(360导航首页的一部分)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. .NET开发框架(八)-服务器集群之网络负载平衡演示(视频)

    (有声视频-服务器集群之负载平衡-NLB演示) 观看NLB视频的童鞋,都会继续观看IIS的负载平衡教程,点击>> 本文以[图文+视频],讲解Windows服务器集群的网络负载平衡NLB的作 ...

  8. git rebase 理解

    摘录自:https://blog.csdn.net/wangnan9279/article/details/79287631

  9. thymeleaf介绍

    作者:纯洁的微笑出处:http://www.ityouknow.com/  增加了一小部分内容 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完 ...

  10. 消费端如何保证消息队列MQ的有序消费

    消息无序产生的原因 消息队列,既然是队列就能保证消息在进入队列,以及出队列的时候保证消息的有序性,显然这是在消息的生产端(Producer),但是往往在生产环境中有多个消息的消费端(Consumer) ...