jmeter的BeanShell Sampler,可以直接引用java代码,有下面3种方式:

1、直接输入java代码

2、导入java文件

3、导入class文件

BeanShell脚本访问变量主要通过vars和props去访问,常用主要方法如下:

vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量;

vars.put(变量名,变量值):生成新的变量或修改已存在的变量;

props.get(变量名):获取jmeter.properties中定义变量对应值;

1、直接输入Java代码

1、在testplan中添加变量值

添加BeanShell Sampler,注意在BeanShell 前后必须加一个Debug Sampler,这要方便调试看结果,添加的Debug Sampler不需要任何操作。

运行查看执行的结果

2、在jmeter中使用调用方法

查看结果

2、在BeanShell中引入Java文件

写一个Java文件保存到桌面

在BeanShell中引入该Java文件

查看执行的结果

3、在BeanShell文件中引入class文件

查看生成的结果

BeanShell实现加密解密功能

一、在IDEA中写好加密的脚本

二、然后将整个包文件导出,生成jar包

三、将jar包文件放到jmeter的lib/ext目录下

然后在jmeter的BeanShell中引入该类,调用其中的加密方法

查看调试结果

把加密后的数据保存到mdm这个变量里,供在jmeter里使用。

学会BeanShell,才敢说自己懂Jmeter的更多相关文章

  1. 学了Java才搞懂JMeter测试计划

    本文的内容是对这个界面的东西进行讲解: Name 名字,测试计划总得有个名字. Comments 注释,除了名字,还得让人知道它是干嘛的. User Defined Variables 测试计划是根节 ...

  2. 搞懂webdriver的底层原理,才敢说自己懂自动化!

    Selenium的历史1 selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道. 需要Selenium RC启动一个Server,将操作Web元素的A ...

  3. 理解了这些异常现象才敢说真正懂了TCP协议

    很多人总觉得学习TCP/IP协议没什么用,觉得日常编程开发只需要知道socket接口怎么用就可以了.如果大家定位过线上问题就会知道,实际上并非如此.如果应用在局域网内,且设备一切正常的情况下可能确实如 ...

  4. jmeter 之beanshell preprocessor

    Bean Shell PreProcessor 可参考https://blog.csdn.net/shimengran107/article/details/76849748 是一个前置处理器,它可以 ...

  5. Jmeter 之 ServerAgent 在性能测试的时候通过插件监听数据库状态

    https://jmeter-plugins.org/downloads/old/ 下载几个jar包,导入到Jmeter对应到目录下/lib/ext文件夹下,注意只支持Jmeter3.2(不含)以下版 ...

  6. Jmeter(十)断言

    断言是我们在做自动化测试中常用的一个功能,用于检查测试中响应数据是否符合预期. 使用断言的目的:在request的返回层面增加一层判断机制:因为request成功了,并不代表结果一定正确. 下面我们就 ...

  7. 点读系列《jmeter官方用户手册》

    官网:http://jmeter.apache.org/usermanual/ 说明:十八元件.十九属性.二十函数,涉及清单内容暂未仔细阅读,个人觉得一是仅供使用参考,二是适合单独写文章来解读 一.让 ...

  8. Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)

    1.简介 前置处理器是在发出“取样器请求”之前执行一些操作.如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行.前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取 ...

  9. Jmeter接口测试-MD5加密-请求验签(完整流程)

    第一部分:先准备好Jmeter 1.在开始编写脚本之前,先要确保你的Jmeter能够正常运行.若你还没有安装Jmeter,可参考以下方法: A.Jmeter需要java运行环境,所以需要下载JDK,J ...

随机推荐

  1. python8.3多进程

    from multiprocessing import Processimport time def run1 (name,sex): print(name,sex,"执行进程1" ...

  2. Java自学-图形界面 容器

    Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...

  3. 修改mac系统名字&&神秘bogon

    问题分析 你是否遇见过突然终端突然出现奇怪 bogon # name @ bogon in ~ [22:31:01] $ 这是因为终端会先向 DNS 请求查询当前 IP 的反向域名解析的结果,如果查询 ...

  4. C# winform 弹出窗体给父窗体传值

    Winform程序有很多传值的方法,抱着学习的态度.利用委托注册事件的方法,给窗体统一添加事件: 首先定义一个Frm_Base: namespace 任意 { public partial class ...

  5. 浅谈:C#中的非泛型集合

    1.首先:ArrayList:非泛型集合 List:泛型集合 集合跟数组比较我们更容易理解.数组:1,长度固定2,数据类型预先声明 集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为 ...

  6. 为创建Golang GUI程序选择合适的库

    我认为在Go语言中创建GUI只有两种相对较好的方式,一是Qt,二则是Electron. 如何选择? 这要看你的需求.如果你会HTML+CSS+JavaScript,只想使用Go开发对性能没有多高的程序 ...

  7. IDEA创建聚合项目

    1.新建一个空工程 2.新建Modul New-->Modul 3.选择maven(不选模板,放在工程下) 4.选择依赖 <project xmlns="http://maven ...

  8. MST(最小生成树)

    1.prim算法分析 prim算法是用来构建MST(最小生成树)的一种基于贪心策略的算法.prim算法通过维护lowcost数组和closest数组记录每次查询的最小权值边结点. 首先,看一个示例来理 ...

  9. CopyOnWriteArrayList源码阅读笔记

    简介 ArrayList是开发中使用比较多的集合,它不是线程安全的,CopyOnWriteArrayList就是线程安全版本的ArrayList.CopyOnWriteArrayList同样是通过数组 ...

  10. SpringBoot+MyBatis整合报错Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

    项目启动的时候报这个错误,这个问题我百度了一天,果然不出意外的还是没能解决,其中有一篇文章相对来说还是有点用的:https://blog.csdn.net/qq8693/article/details ...