断言介绍与使用
性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等。
响应断言
·JSON Assertion
· Size Assertion
· JSR223 Assertion
· XPath Assertion
· Compare Assertion
断言持续时间
· HTML Assertion
· MD5Hex断言
· SMIME Assertion
XML断言
· XML Schema Assertion
· BeanShell断言
1、响应断言
见图知意。接口测试中较少用到。
2、JSON Assertion
也算是见图知意吧,这里需要注意一下。
Additionally assert value:等于特定值。
Match as regular expression:符合正则表达式。
3、Size Assertion(见图知意)
4、JSR223 Assertion
JSR223 Assertion可以选择多种语言,如下图所示:
笔者常用的是beanshell和JS。这里我们以beanshell举例。
JSR223 Assertion实例:
import org.json.*; //获取上一个请求的返回值 String response = prev.getResponseDataAsString(); //将返回值转换为json JSONObject responseJson = new JSONObject(response); //获取responseMessage String status = responseJson.get("status").toString(); String message = responseJson.getString("message"); if(!status.equals("0")) { Failure = true; FailureMessage = "status错误"; }else{ FailureMessage = "status正确"; } if(!message.equals("username or password error")) { Failure = true; FailureMessage = "message错误"; }else{ FailureMessage = "message错误"; }
运行结果:
5、XPath Assertion
6、Compare Assertion
7、断言持续时间
这个就比较好理解了。断言取样器运行测试消耗掉的时间,比如我们的持续时间填写10,实际时间如果是20s,那么就会断言失败。
8、HTML Assertion
9、MD5Hex断言
对返回的MD5进行断言,直接填入即可。
10、SMIME Assertion
可以参考SMIME Assertion,用的不多。
11、XML断言
用来验证响应数据是正确的XML格式,不常用。
12、XML Schema Assertion
13、BeanShell断言
可以参考JSR223 Assertion,BeanShell断言也是我们常用的断言。
作者:软件测试小P
来源:http://www.51testing.com/html/54/n-7791954.html