Jmeter-Beanshell取样器举例描述常用方法及使用场景
1、内置变量:log:写入信息到jmeter.log,使用方法:
log.info(“hello,world”),也可以在jmetergui上看到打印的信息。
2、设置Jmeter变量的值,将定义的变量或提取的变量做修改后再进行传参
Vars:操作jmeter变量,这个变量实际上引用了Jmeter线程中的局部变量容器(本质是map),测试用例可以通过它获取到变量的值;使用方法:
①vars.get(Stringkey),从jmeter中获得变量值
②vars.put(Stringkey,Stringvalue),数据存到jmeter变量中
3、props:该变量引用jmeter的配置信息,可以获取jmeter的属性,用法如下:
①props.get(Stringkey)获取jmeter.properties中的属性值
②props.put(Stringkey,Stringvalue)设置jmeter.properties中的属性值
4、prev(对应SampleResult):获取前面Sampler返回的信息,常用方法:
①getResponseDataAsString(),获取响应正文
②getResponseCode(),获取响应Code
③getResponseMessage(),获取响应信息
使用场景:
①beanshell一般可以处理数据加解密
②根据上一个请求的返回值不同,设置不同的参数给下面的请求
③jmeter虽然支持协议丰富,但还是可能会出现不支持的,此时可以用beanshell
5、BeanShell中如何编写脚本
①直接编写代码
②调用外部的Java源码实现
注意事项:
1.class_path可以不是绝对上级路径,只需要包含.class文件即可如/Users/liuqingjun/workspace/T139/
2.class_path一般不能包含包名对应的目录路径如/Users/liuqingjun/workspace/T139/bin/com/test否则可能会报错Errorinvokingbshmethod:evalCreateFile(wrongname:***/***)