jmeter 利用beanshell进行多重断言

一、响应断言

以用户注册功能作为例子,从下面两种场景来进行接口测试:

1、假设用户不存在,接口设计逻辑,注册成功返回的内容是这样:

{"code":200,"msg":"success"},"status":200}

2、假设用户已存在,那么在测试该功能时,使用响应断言,返回的内容如下:

从业务逻辑来说,无论注册成功还是用户已存在,这都是正常的业务场景。

但响应断言只能判断“是”或者“否”,如果需要验证业务正确而非技术正确?

我们可以利用beanshell断言,来满足我们的需求。

二、beanshell断言

还是针对上述场景,无论注册成功,还是用户已存在,我们都判定接口返回正确,那么beanshell断言,可以如下配置:

附:beanshell断言代码demo:

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;

String result=SampleResult.getResponseDataAsString();

JSONObject jsonObject=JSON.parseObject(result);
int code=jsonObject.getIntValue("code");
JSONObject data=jsonObject.getJSONObject("data");

log.info("code:"+code);

if(code==200||code>=20000000){
SampleResult.setSuccessful(true);
}

原文地址:https://www.cnblogs.com/Swx1030/p/14095467.html