Jmeter之Bean shell使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter之Bean shell使用相关的知识,希望对你有一定的参考价值。

上一篇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;
    }    
}
技术分享

以上是关于Jmeter之Bean shell使用的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter之Bean shell使用

Jmeter之Bean shell使用

Jmeter之Bean shell使用

(十三)Jmeter之Bean Shell 的使用

Jmeter之Bean shell使用-常用内置变量

Jmeter之Bean shell使用