jmeter中beanshell处理器

news/2024/10/5 17:22:06

Jmeter工具中存在BeanShell 取样器,BeanShell预处理程序,BeanShell后置处理程序,那么这次详细整理下BeanShell 在 JMeter 的作用以及案例。

beanshell是什么:

BeanShell是一个小型嵌入式Java源代码解释器,能够动态地执行java代码,不需要提前编译

JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互。

beanshell脚本

1、输出变量到日志或者运行界面

1.1  beanshell 可以调用java代码,也可以调用jmeter内置的一些方法和函数,首先介绍如何输出变量到日志或者运行界面,如果需要调用该beanshell之外的变量,

格式如下,需要在${errNo}两边加上双引号,log.info("${errNo}");

如果需要调用当前benanshell中定义的变量,直接输入变量名即可,log.info(beanshell);

1.2 如果要输出到运行界面,则需要使用System.out.println(); 即可,规则和log.info一样

System.out.println("${errNo}");

System.out.println(beanshell);

1590741101(1)

2 如何获取jmeter已有变量和赋予变量到jmeter

2.1 获取jmeter中已经存在的变量只需要使用vars.get(“param”); 即可,首先需要定义一个一个变量,然后赋予给该变量即可

2.2 将beanshell中的变量置为jmeter变量,只需要使用vars.put(“param”,param);

使用该方法就能将字符串变成jmeter变量,这样其它接口就能进行调用

3 如何调用java方法

3.1 开发脚本可能经常需要调用java方法,我们只需要先申明java方法,然后在进行调用即可,如果该java方法有返回值,则需要定义一个变量来获取返回的变量,比如

int sum_abc = Sum_test();

String tab = String.valueOf(sum_abc);

然后将获取的整形变量转换成字符串变量,因为put方法不支持int类型,所以需要转换成string类型

4 如何调用jar包中的方法

4.1 首先需要把要调用的jar包放到jmeter的\apache-jmeter-4.0-performance\lib\ext目录下,然后启动jmeter,然后首先导入包import test.*; test为包名,然后实例化,

Export a = new Export(); Export为类名,

a.export_start("D:/Demo.xls"); a后面跟方法名即可完成调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/43952.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

[BUUCTF_Misc]文件中的秘密

题目地址:BUUCTF文件中的秘密 主要工具:edge浏览器,HxD Hex Editor或其他十六进制编辑器下载安装包并解压,发现是一张开朗的路飞表面上什么都看不到,遂十六进制大法,搜索flag。 一无所获。 秘密藏在文件中?搜索secret。 颗粒无收。 大怒,快速上下滑动鼠标滚轮试图将答案…

npm install --legacy-peer-deps

问题:npm版本高无法解析依赖树导致依赖下载失败解决方法:执行npm install --legacy-peer-deps依赖对等 npm install xxxx --legacy-peer-deps命令用于绕过peerDependency里依赖的自动安装;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题,以npm v4-v6的…

dp板子

01背包 f[x]表示装x重量时最大价值,f初值0; n物品数量,m最大重量。w表示容量,v时价值 for (int i = 1; i <= n; i++)//物品 { for(int j=m;j>=w[i];j--){//容量 f[j]=max(f[j],f[j-w[i]]+v[i]); } } 完全背包 for(int i=0;i<=m;i++){//背包容量 for(int j=1;j<…

【BERT】详解BERT

BERT,全称Bidirectional Encoder Representation of Transformer,首次提出于《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》一文中。简单来说,BERT是使用了Transformer的encoder(即解码器)部分,因此也可以认为BERT就是Transformer…

ChatGPT三法助我搞科研

世界顶级期刊《Nature》2024年4月8号发了一文:Three ways ChatGPT helps me in my academic 中文意思是:ChatGPT三法助我搞科研。作者Dritjon Gruda是《Personalityand Individual Differences》和《Psychology of Leaders and Leadership》学术杂志的编辑。 这篇文章主要讨论…

Apache配置多个项目公用80端口

打开Apache的配置文件httpd.conf,通常位于/etc/httpd/conf/httpd.conf或/etc/apache2/httpd.conf。 确保NameVirtualHost *:80指令被解注释(移除#),以启用基于域名的虚拟主机。 为每个网站添加<VirtualHost>配置块:<VirtualHost *:80>ServerAdmin webmaster@e…

[BUUCTF_Misc]乌镇峰会种图,但十六进制对应文本乱码

主要问题:edge image viewer保存图片后用十六进制编辑器打开,对应文本中含有大量乱码 问题状态:题已做完,但不懂为什么题目地址:BUUCTF乌镇峰会种图 使用工具:edge浏览器、HxD Hex Editor 主要问题:edge image viewer保存图片后用十六进制编辑器打开,对应文本中含有大量…

MySQL导出数据库脚本

1 在Navicat中找到项目对应的数据库(如:booksystem)→右键转储SQL文件→结构和数据注意:information_schema、mysql、performance_schema、sys这4个库是MySQL自己的,不是你项目的,不要打开或破坏它们2 在弹出的另存为对话框中选择一个位置并点击保存