(十三)Jmeter之Bean Shell 的使用(二)
该文章来自:http://www.cnblogs.com/puresoul/p/5092628.html
上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求。本节内容如下:
一、操作变量
二、操作属性
三、自定义函数
四、引用外部java文件
五、引用外部class文件
六、引用外部Jar包
七、其它用法(接受参数, log等)
一、操作变量:通过使用Bean shell内置对象vars可以对变量进行存取操作
a) vars.get("name"):从jmeter中获得变量值
b) vars.put("key","value"):数据存到jmeter变量中
二、操作属性:通过使用Bean shell内置对象props 可以对属性进行存取操作
a) props.get("START.HMS"); 注:START.HMS为属性名,在文件jmeter.properties中定义
b) props.put("PROP1","1234");
三、自定义函数:
在BeanShell中,我们可以使用java语言自定义函数来处理特定的逻辑,结合BeanShell的内置对象进行变量的存取,方便我们进行测试提高脚本的灵活性。
示例:
1、在Test Plan中添加一个变量:hello = kitty

2、Debug sampler-1和Debug sampler-2什么都不处理,用来查询对比beahshell处理前后的结果
3、BeanShell Sampler中的脚本如下:

4、运行结果:
- Debug sampler-1中显示:hello=kitty
- BeanShell sampler中 返回结果为:success
- Debug sampler-1中显示:hello=world,jmeter=111111



四、引用外部java文件:
有没有觉得上面(三)中自定义函数这样的方式太麻烦并且也不美观?而且如果我们已经有现成的java源文件或者class文件时,我们有没有什么办法直接在jemter中引用?这就是这部分要介绍的内容,直接上示例:
1、假如我有一个java 源文件,名为:Myclass.java,代码如下:

package test; public class Myclass
{
public int add(int a, int b)
{
return a + b;
}
}

2、Bean Shell使用代码如下:
在bean shel中通过source("代码路径")方法引入java,然后调用方法和java一样,new一个class,再调用里面的add 方法。

3、运行结果:

五、引用外部class文件:
现在知道如何引用外部文件,有时候如果我们只有class文件怎么办呢?其实在jmeter中也可以直接引用class文件,示例如下:
1、直接把上例中的java文件编译成class文件,如何编译请自行百度。
2、Bean Shell使用代码如下:
用addClassPath("D:\\")方法引入 class文件,在用import导入包及类,然后就可以像java一样调用了

3、运行结果:

六、引用外部Jar包:
上面四、五介绍了如何引用外部java和class文件,如果文件比较多时我们可以把它们打成一个jar包然后在jemter中调用,具体如何使用可以看我上一篇有介绍:Jmeter之Bean shell使用(一)。
在这里想补充一点的是jmeter中引入jar的方法:
1、上一篇中已使用过的:把jar包放到jmeter目录\apache-jmeter-2.13\lib\ext下
2、在Test Plan的右侧面板最下方直接添加需要引用的jar包,如下图:

七、其它用法:
1、在Test Plan中定义如下三个变量:

2、Bean Shell可脚本如下:
a、bean shell可以接受传入参数,如下图:${u1} ${u2} ${u3}
b、参数可以通过bsh.args[]按顺序提取
c、bean shell提供了一个内置变量Parameters,来保存参数的集合

3、运行结果:

下图中1输入的这两句设置:
ResponseCode = 500; ResponseMessage = "This is a test";
下图中2输入的这两句设置:
log.info(Parameters);
log.info(Label);

官网:
http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler
(十三)Jmeter之Bean Shell 的使用(二)的更多相关文章
- Jmeter之Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- 转 Jmeter之Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- Jmeter之Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- 转:Jmeter之Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- 【jmeter】Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- jmeter(十六)Jmeter之Bean shell使用(二)
		上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ... 
- Jmeter之Bean shell使用(二)(转载)
		转载地址:https://www.cnblogs.com/puresoul/p/4949889.html 上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean she ... 
- 【转载】Jmeter之Bean shell使用(二)
		Jmeter之Bean shell使用(二) 原博文地址为:https://www.cnblogs.com/puresoul/p/4949889.html 其中需要注意的是——三.自定义函数中Bean ... 
- Jmeter之Bean shell使用
		转载地址:http://www.cnblogs.com/puresoul/p/4915350.html 一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且 ... 
随机推荐
- pgsql 变量赋值方法
			1.网上一般说的方法如下: :=,赋值,比如user_id := 20; select into 赋值,比如 SELECT INTO myrec * FROM emp WHERE empname = ... 
- 20155209实验二《Java面向对象程序设计》
			20155209实验二<Java面向对象程序设计> 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计 ... 
- 20155223 2016-2017-2《Java程序设计》课程总结
			20155223 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1 预备作业2 预备作业3 第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 ... 
- 20155226 2016-2017-2 《Java程序设计》课程总结
			20155226 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:师生关系 预备作业2:优秀技能经验 预备作业3:虚拟机linux初接触 第一周学习总结: ... 
- 20155310 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告
			20155310 <JAVA程序设计>实验二(JAVA面向对象程序设计)实验报告 实验内容 •初步掌握单元测试和TDD •理解并掌握面向对象三要素:封装.继承.多态 •初步掌握UML建模 ... 
- 微信小程序点击事件
			<---------------------------------------------------index文件夹:------------------------------------ ... 
- day 3 私有属性,私有方法,__del__
			1.隐藏对象的属性 如果有一个对象,当需要对其进行修改属性时,有2种方法 对象名.属性名 = 数据 ---->直接修改 对象名.方法名() ---->间接修改 1)版本1:直接修改 对象的 ... 
- Codeception (安装)
			来源:http://codeception.com/install 注意:打开Codeception的官网需要FQ 1. 下载 下载地址:http://codeception.com/thanks 或 ... 
- STM8在IAR中Printf的整形长度问题
			//ld是32位的 printf("up_intval:%ld\r\n",device_set.upload_tem); //d是16位的 printf("up_intv ... 
- 利用Anaconda进行python爬虫环境的配置-安装scrapy
			1.下载Anaconda,下载地址:https://www.continuum.io/downloads 2.安装anaconda. 3.安装scrapy 
