------------恢复内容开始------------
1. substring和包含的区别
模式匹配规则,有五个选项。默认的是Substring,这种模式就是要断言的文本里,是否包含有要断言的内容。添加一个要测试的模式,里面写上 张三 。
我们看到第一个选项为 包括,包括 和 Substring 是差不多的,不同点就是
包括 的测试模式里面可以写正则表达式,可以写多个文本
而 Substring 的测试模式里面,不能写正则表达式,比如可以这样写,也可以写多个文本,哈哈
匹配,也是这样,只是 匹配 的测试模式里可以用正则,Equals 的测试模式里,不能用正则。
Equals,学过java就会知道,这个可以用来判断两个字符串的内容是否完全一样。这里也是这个意思,就是断言响应的文本是否就是测试模式里的文本,要完全一样,一个字符都不能差。
2. 持续时间断言
判断是否在给定的时间内返回响应结果
可用来做接口性能测试
3. size assertion
可以拿来判断响应体是否超大
4. beanshell断言
可以通过prev.getResponseDataAsString获取响应数据。
String response=""; String str="百度一下"; response=prev.getResponseDataAsString(); if(response.contains(str)==false){ Failure=true; String Msg=" 接口报错啦啦"; FailureMessage=Msg+" "+"期望结果: "+str+"响应内容: "+response; }
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; JSONObject object=JSONObject.parseObject(prev.getResponseDataAsString()); System.out.println("stateWord = "+object.getInteger("stateWord")); if(object.getString("msg")!=null){ log.info("msg = "+object.getString("msg")); }else { log.info("Wrong JSON Fromat, do not find msg"); } if(object.getString("time")!=null){ log.info("time = "+object.getString("time")); }else { log.info("Wrong JSON Fromat, do not find time"); } if(object.getJSONArray("data")!=null){ JSONArray jsonArray=object.getJSONArray("data"); if(jsonArray.size()<1){ log.info("Wrong JSON Fromat, do not find any data in data list"); }else { for (int index=0;index<jsonArray.size();index++){ JSONObject obj=jsonArray.getJSONObject(index); log.info("stateWord = "+obj.getInteger("stateWord")); if(obj.getString("CustomDataLen")!=null){ log.info("CustomDataLen = "+obj.getString("CustomDataLen")); }else { log.info("Wrong JSON Fromat, do not find CustomDataLen"); } if(obj.getString("CustomData")!=null){ log.info("CustomData = "+obj.getString("CustomData")); }else { log.info("Wrong JSON Fromat, do not find CustomData"); } if(obj.getString("Signature")!=null){ log.info("Signature = "+obj.getString("Signature")); }else { log.info("Wrong JSON Fromat, do not find Signature"); } } } }else { log.info("Wrong JSON Fromat, do not find data"); }
5. Json path断言
首先,需要安装插件
参考:
https://www.jianshu.com/p/fac6e9032158
4种断言
https://www.cnblogs.com/111testing/p/11219979.html
https://blog.51cto.com/6183574/2441645
jsonpath:https://www.cnblogs.com/jaychang/p/7022071.html
jmeter响应中出现乱码
https://www.jianshu.com/p/bf6a618800f1
------------恢复内容结束------------