Jmeter之BeanShell断言使用
1.Bean Shell常用内置变量
JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:
-
log:用来记录日志文件,写入到jmeber.log文件,使用方法:log.info(“This is log info!”);
-
ctx(JmeterContext)通过它来访问context,使用方法可参考:org.apache.jmeter.threads.JMeterContext。
-
vars - (JMeterVariables):操作jmeter变量,提供读取/写入访问变量的方法。这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:
a) vars.get(String key):从jmeter中获得变量值
b) vars.put(String key,String value):数据存到jmeter变量中
c) vars.putObject("OBJ1",new Object());
更多方法可参考:org.apache.jmeter.threads.JMeterVariables
-
props - (JMeterProperties - class Java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。
a) props.get("START.HMS"); 注:START.HMS为属性名,在文件jmeter.properties中定义
b) props.put("PROP1","1234");
-
prev - (SampleResult):获取前面的sample采样的结果,常用方法:
a) getResponseDataAsString():获取响应信息
b) getResponseCode() :获取响应code
更多方法可参考:org.apache.jmeter.samplers.SampleResult
-
sampler - (Sampler):gives access to the current sampler 访问当前采样
BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本。
这里除了可以使用beanshell的内置变量外,主要通过Failure和FailureMessage来设置断言结果。
Failure = false;-----表示断言成功, FailureMessage = "……"; ----自定义的成功信息 Failure = true;-----表示断言失败, FailureMessage = "……";-----自定义的失败信息。
实例:
String responseData = prev.getResponseDataAsString(); //获取请求的返回结果 String code = prev.getResponseCode(); //获取请求的返回code码 String requestData = prev.getSamplerData(); //获取发出的请求数据 if( !code.equals("200") ){ //如果请求的相应状态码不是200 FailureMessage = "响应状态码不是:200,而是:" + code + ",请求失败!"; //自定义的失败信息 log.info(FailureMessage); //在日志里打印失败的信息 log.info("Request: " + requestData); //在日志里面打印失败的请求体 Failure = true; //表示断言失败 } else if(!responseData.contains("\"errCode\":0")){ FailureMessage = "响应body中errCode不是:0,响应body为:" + responseData; log.info(FailureMessage); log.info("Request: " + requestData); Failure = true; }
转载于:https://www.cnblogs.com/xiehong/p/11475105.html
- JMeter之BeanShell使用实例: 断言返回的数据类型
- jmeter使用BeanShell断言校验接口响应
- jmeter测试(10)---通过接口新增数据后从数据库获取ID和接口返回的ID进行比较(使用beanshell断言)
- jmeter使用BeanShell断言
- Jmeter使用BeanShell 断言进行判断
- Jmeter 接口测试中使用Beanshell断言: 将接口响应报文与数据库结果对比
- Jmeter入门实战(二)如何使用Jmeter的BeanShell断言,把响应数据中的JSON跟数据库中的记录对比
- jmeter中beanshell断言的使用
- JMeter中BeanShell断言使用一
- jmeter学习指南之响应断言和beanshell断言
- JMeter学习(十四)jmeter_断言使用
- Jmeter:使用BeanShell
- JMeter性能测试3:断言基本使用
- JMeter BeanShell 的使用-请求加密-返回自动解密处理
- jmeter 使用BeanShell编写java代码提取请求参数
- 使用BeanShell设置JMeter动态变量
- 【Jmeter】BeanShell断言--数据解析&数据库对比校验
- JMeter BeanShell断言使用
- jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化