12. Jmeter-断言
2024-08-24 22:43:06
jmeter-断言介绍与使用
性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等。
- 响应断言
- JSON Assertion
- Size Assertion
- JSR223 Assertion
- XPath Assertion
- Compare Assertion
- 断言持续时间
- HTML Assertion
- MD5Hex断言
- SMIME Assertion
- XML断言
- XML Schema Assertion
- BeanShell断言
响应断言
见图知意。接口测试中较少用到。
JSON Assertion
也算是见图知意吧。这里需要注意一下
Additionally assert value: 等于特定值
Match as regular expression:符合正则表达式
Size Assertion
见图知意。。。
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错误";
}
运行结果
XPath Assertion
可以参考11. Jmeter-后置处理器二中的XPath Extractor
Compare Assertion
嗯。。用到正则了。暂时跳过。
断言持续时间
这个就比较好理解了。断言取样器运行测试消耗掉的时间,比如我们的持续时间填写10,实际时间如果是20s,那么就会断言失败。
HTML Assertion
MD5Hex断言
对返回的MD5进行断言,直接填入即可。
SMIME Assertion
可以参考SMIME Assertion,用的不多。
XML断言
用来验证响应数据是正确的XML格式,不常用。
XML Schema Assertion
BeanShell断言
可以参考JSR223 Assertion,BeanShell断言也是我们常用的断言。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作
最新文章
- LLC 逻辑链路控制
- Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
- 关于js执行顺序
- SLF4J环境变量配置
- javascript/jquery判断是否为undefined或是null!
- myeclipse 6.5配置tomcat7.X
- 转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
- bzoj 2502 清理雪道(有源汇的上下界最小流)
- Linux新手入门:通过chmod改变文件权限--转
- VUE中的v-if与v-show
- hdu3986Harry Potter and the Final Battle
- 深入源码剖析String,StringBuilder,StringBuffer
- 整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]
- svg从入门到装逼(一)
- ABA问题
- Spring boot 使用多个RedisTemplate
- hdu6273 线性差分
- Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器
- 深入理解MapReduce的架构及原理
- ping telnet 指令