jmeter查询类交易查询结果判断

对于查询类的交易,如何判断查询结果是否非空?查询类交易结果分为两种,第一种是查询结果包含特定的字符串,此时可直接使用响应断言判断交易是否成功,由于该种判断比较简单,此处不再详细说明;第二种是查询结果中没有特定的字符串,但是包含查询条数,那么可通过判断查询条数是否大于零,即可判断查询是否成功

下面通过一个查询请求,介绍如何实现上述第二种情况

查询请求的返回如下:



方法一:

1. 使用关联获取当前请求查询结果的条数

单击查询请求右键,添加后置处理器--正则表达式提取器,正则表达式提取器信息如下(响应信息中查询条数内容为共2条

),将查询条数放到变量g_total中



2. 使用响应断言判断查询条数是否为非0的正整数

响应断言中判断g_total的值是否非0正整数,下图中使用正则表达式[1-9][0-9]*与g_total进行匹配


方法二:

1. 获取查询结果的条数,同方法一的步骤1

2. 使用beanshell断言判断查询结果是否为非空,即查询条数否大于0

beanshell中主要通过Failure和FailureMessage来设置断言结果。

Failure = false;-----表示断言成功,

FailureMessage = "……"; ----自定义的成功信息

Failure = true;-----表示断言失败,

FailureMessage = "……";-----自定义的失败信息。



附上beanshell代码:

int a;

a=Integer.valueOf(${g_total});  //将g_total的值转换成int,并存放到变量a中

if(a>0){

Failure=false;   //若g_total的值大于0,Failure设置成false,表示请求返回成功

FailureMessage="查询成功";

log.info(FailureMessage);//打印查询结果

}

else{

Failure=true;    //若g_total的值不大于0,Failure设置成true,表示请求返回失败

FailureMessage="查询结果为空";

log.info(FailureMessage);//打印查询结果

}

你可能感兴趣的:(jmeter查询类交易查询结果判断)