温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Beanshell脚本断言Mock接口

发布时间:2020-08-01 00:01:13 来源:网络 阅读:361 作者:ufuhz2008 栏目:软件技术

我们在做接口断言的时候,如果遇到复杂的json,可以考虑用beanshell脚本去解析list,同时加入自定义的断言

Mock例:https://www.easy-mock.com/mock/5cb46739edfdac7de69fe792/example/provider

Beanshell脚本断言Mock接口

 

如图所示,我们在json返回中有name和remark字段,希望断言remark和name的返回值。如果断言失败,抛出自定义的异常信息

我们在mock接口下添加一个后置处理器的beanshell

Beanshell脚本断言Mock接口

beanshell中写断言脚本

Beanshell脚本断言Mock接口

import org.apache.jmeter.assertions; 
import org.apache.jmeter.samplers.SampleResult; 
import org.apache.jmeter.assertions.AssertionResult; 
import org.json.*;
String response_data = prev.getResponseDataAsString();
JSONObject data_obj = new JSONObject(response_data);
log.info(response_data);
String code = data_obj.get("remark"); 
log.info(code);if(code.equals("接口测试服务商")) 
{ 
String user_name = data_obj.get("dockedContact").get("name").toString(); 
if(user_name.equals("zhufc")){ 
Failure = true; 
log.info(user_name);
log.info("提取值与预期相符,断言通过");
FailureMessage = "断言通过";
} 
else{ 
Failure = false;
log.info("名称不同,断言失败");
FailureMessage = "断言失败";
prev.setStopThread(true);
} 
}

Beanshell脚本断言Mock接口

 

Beanshell脚本断言Mock接口

日志等级调整为info

Beanshell脚本断言Mock接口

 

 

启动脚本,打开log,查看结果

Beanshell脚本断言Mock接口

Beanshell脚本断言Mock接口


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI