jar包的应用

1.引入变量的三种方式

引用的三个方式是:

1.在计划里面有一个add directory or jar to classpath

2.在jmter里面有一个lib/ext里面

3.用source 里面加类名以及路径

这个是beanshell 里添加的代码

source("C:/Users/user/Desktop/MyClass.java");
int res=new MyClass().add(3,8);

vars.put("add",res.toString());

 

2.  Bean Shell常用内置变量

JMeter在其BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

·         log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

 

·         ctx:该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext

 

·         vars:即JMeterVariables,操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),常用方法:

a) vars.get(String key):从jmeter中获得变量值

b) vars.put(String key,String value):数据存到jmeter变量中,其作用可简单理解为赋值操作:key=value,更多方法可参考:org.apache.jmeter.threads.JMeterVariables

 

·         props:即JMeterProperties - class java.util.Properties,操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是put函数,value数据类型只能为String,不能是一个对象。对应于java.util.Properties。 

a) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义 

b) props.put("PROP1","1234"); 

 

·         Parameters:从参数输入框中获取的参数值的集合

 

·         bsh.args:从参数输入框中获取的参数值的数组

 

3.  启动Jmeter ,添加测试计划,线程组等

 

4.  添加BeanShell Sampler

右键线程组->添加->Sampler->BeanShell Sampler

 


JMeter <wbr>Sampler之BeanShellSampler的使用

 

5.  应用举例

4.1 自定义脚本、函数

 


JMeter <wbr>Sampler之BeanShellSampler的使用

注:UUID含义是通用唯一识别码 (Universally Unique Identifier),java中可调用randomUUID直接生成。

 

代码如下:

 

使用保存的unique_id变量值

 

 

JMeter <wbr>Sampler之BeanShellSampler的使用

JMeter <wbr>Sampler之BeanShellSampler的使用

 

4.2 引用外部java文件

 

 JMeter <wbr>Sampler之BeanShellSampler的使用

说明:运行结果,在d盘根目录下生成shouke.txt文件

附:eclipse中代码组织结构如下(下同,不再赘述):

 

JMeter <wbr>Sampler之BeanShellSampler的使用

 

其中:

CreateFile.java代码文件内容:

 

JMeter <wbr>Sampler之BeanShellSampler的使用

4.3 引用外部class文件

 

JMeter <wbr>Sampler之BeanShellSampler的使用


运行后,在d盘根目录下生成destfile.txt文件

 

注意:

addClassPath(String class_path);

1) 这里的class_path可以不是绝对上级路径,只需要包含.class文件即可,比如可以是

addClassPath("D:\\workspace\\StudyProject\\");

addClassPath("D:\\ ");

 

2)class_path不能包含包名对应的目录路径

如上,如果改成addClassPath("D:\\workspace\\StudyProject\\bin\\ mypackage");

运行会报类似如下错误

2016/10/17 17:55:50 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   CreateFile (wrong name: mypackage/CreateFile)

2016/10/17 17:55:50 WARN  - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval    CreateFile (wrong name: mypackage/CreateFile)

 

4.4 引用外部jar文件

如下,

1、在eclipse中单独把CreateFile.java文件打包成jar文件,比如create-file.jar

2、把create-file.jar文件放到JMeter安装目录->lib目录下

3、然后在JMeter的【测试计划】面板中添加打包的jar文件

 

JMeter <wbr>Sampler之BeanShellSampler的使用

 

4.5 JMeter内置变量演示

添加【配置原件】-【用户定义的变量】,并在面板中添加var1,var2两个变量

 

 

 JMeter <wbr>Sampler之BeanShellSampler的使用

运行结果:

 

JMeter <wbr>Sampler之BeanShellSampler的使用

 

注:

1、log.info等方法会把日志写入到JMeter安装目录->bin目录下的jmeter.log文件中(形如:D:\Program Files (x86)\Jmeter\apache-jmeter-2.13\bin jmeter.log)

2、参数输入框中也可以直接输入字符串参数值,如下

JMeter <wbr>Sampler之BeanShellSampler的使用

posted @ 2017-12-26 15:49  liruix  阅读(340)  评论(0编辑  收藏  举报