metersphere全局脚本断言

场景:每个接口设置断言会比较麻烦,如果使用全局进行断言,但是出现操作成功、保存成功、删除成功等这种不同接口返回,如果实现一个全局接口去断言呢?

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

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

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

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

上脚本

方法一:

import org.json.*;

//获取上一个请求的返回
String jsonString = prev.getResponseDataAsString();
JSONObject responseJson = new JSONObject(jsonString);

String fbpcontent = responseJson.getString("message");



value = fbpcontent;
result = value.contains("成功");
if (!result){
    
	msg = "assertion [" + value + " contains '成功']: false;";
	AssertionResult.setFailureMessage(msg);
	AssertionResult.setFailure(true);
}

额外参考1

String response = prev.getResponseDataAsString();
String code = prev.getResponseCode();
log.info("Respnse is " + response);
log.info(code);
int result1 = response.indexOf("The wait operation timed out");
int result2 = response.indexOf("Oops. Something went wrong ... sorry");
if(code == "200" && result1>=0 || result2>=0){
    FailureMessage = "OK,check current";
}
else{
    Failure = true;
    FailureMessage = "ERROR,check error";
}

额外参考2

String code = prev.getResponseCode();
log.info(code);




if ("200".equals(""+code) == false )
{
    // 响应码不等于200时,设置断言失败,并输出失败信息
    Failure=true ;
    FailureMessage ="Response code was not a 200 response code it was " + code + "." ;
    print ( "the return code is " + code);   // this goes to stdout
    log.warn( "the return code is " + code); // this goes to the JMeter log file
} else {
    // 响应码等于200时,设置断言成功,并输出成功信息
    Failure=false;
    FailureMessage = "Return true, and the response code was " + code;
     }


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值