jmeter精进Apache JMeter

JMeter(7) 优化判断返回类型和返回值

2016-10-18  本文已影响896人  ss酱

之前判断接口类型和返回值用beanshell,可见JMeter(5)-JMeter之BeanShell使用

优化点

  1. 接口测试里面对返回字段的类型验证值验证为基本需求,将方法导成jar文件,导入之后方便每个断言可以调用。
  2. 补充对null类型、Array类型的判断

步骤

  1. 将判断方法打包成jar文件
    java项目打包成jar
    我的jar下载
  2. 导入jmeter项目中


  3. 判断接口返回字段值正确性(EqualsJsonValue类)
    beanshell的调用代码如下
import com.susie.action.equals.EqualsJsonValue;
String standardData = "{'uid':123,'phone':1,'has_password':true,'location':{'province':true,'city':'123'},'cpma':1}";
EqualsJsonValue equalsValue = new EqualsJsonValue();
Failure = !equalsValue.respValueAssertion(standardData, prev.getResponseDataAsString()); //断言结果
FailureMessage = equalsValue.getMessage(); //断言错误信息

运行结果


  1. 判断接口返回字段类型正确性(EqualsJsonType类)
    beanshell的调用代码如下
import com.susie.action.equals.EqualsJsonType;
String standardData = "{'uid':123,'phone':1,'has_password':true,'location':{'province':true,'city':'\u6c55\u5934\u5e02'},'cpma':null}";
EqualsJsonType equalsJson = new EqualsJsonType();
Failure = !equalsJson.respTypeAssertion(standardData, prev.getResponseDataAsString());
FailureMessage = equalsJson.getMessage();
  1. 格式化每个接口的字段断言
    将每个需要检查的字段(期望响应)直接用csv记录,每次比较直接读取进行比对无需一个个断言,非常方便~



    通过CSV Data Set Config读取,在beanshell中比较,调用方式与前面类似,获取标准响应

String standardDataShell = vars.get("standardData").toString();

注意: 读取csv中的json的时要注意json的逗号&双引号
在这里坑了许久,因为csv是以逗号区分不同列的数据,所以,要把json里面的逗号改称分号,双引号改称单引号;

上一篇下一篇

猜你喜欢

热点阅读