postman 断言
/* 设置全局变量 */
var jsonData =JSON.parse(responseBody);
pm.globals.set("ruleCode", JsonData.data.ruleCode);
/* 断言使用全局变量 */
role_code = pm.globals.get("ruleCode")
tests["role code right "] = jsonData.data.ruleCode === role_code;
/* 第一种写法:*/
//断言
pm.test("message等于'操作成功'", function () {
var jsonData = pm.response.json();
console.log(jsonData.status);
pm.expect(jsonData.message).to.eql("操作成功");
});
pm.test("status等于'SUCCESS'", function () {
var jsonData = pm.response.json();
console.log(jsonData.status);
pm.expect(jsonData.status).to.eql("SUCCESS");
});
pm.test("response is ok", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql("OK");
});
pm.test("检查Response Body 是否包含'doctor'字符串", function () {
pm.expect(jsonData.responseBody[0].employJobTitle).to.eql("doctor");
});
pm.test("检查Response Body 是否包含'销售'字符串", function () {
pm.expect(pm.response.text()).to.include("销售");
});
pm.test("检查Response Body是否等于字符串...", function () { pm.response.to.have.body('{"status":"SUCCESS","code":"200","message":"查询成功","detailMessages":[],"responseBody":[{"userId":4,"ename":"张三","staname":"销售"}]}');
});
/*响应头是否存在Content-Type参数*/
pm.test("响应头存在Content-Type参数", function () {
pm.response.to.have.header("Content-Type");
});
/*返回时间少于200ms*/
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
/*状态码是200*/
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
/*成功的POST请求状态码*/
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([200,201]);
}); //[200,201]闭区间
/*if判断*/
var data = JSON.parse(responseBody);
if(data.status==="SUCCESS"){
if(data.responseBody === null){
// tests["responseBody is null"+"返回值:"+JSON.stringify(data)] = false;
tests["返回值错误"] = false
}
else{
tests["OK"] = true;
}
}
else {
tests["status not SUCCESS"+"返回值:"+JSON.stringify(data)] = false;
}
/* for循环 */
// 获取actions的长度
var jsonData =JSON.parse(responseBody);
var num = jsonData.data.actions.length;
//通过for循环获取每个actions内每个id的值
for(var i=0;i<num;i++){
var aid = jsonData.data.actions[i].id
// 当aid为1时,断言actions内容是否正确
if(aid = 1){
tests["actions right "] = jsonData.data.actions[i].actions===actions;
}
}
/*第二种写法:*/
1.检查response的body中是否包含字符串:
tests["body是否含name"] = responseBody.has("name");
2.检查JSON的值:
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
var data = JSON.parse(responseBody);
tests["字段返回是否hello"] = data.字段 === "hello";
3.response的响应时间小于200ms:
tests["Response time is less than 200ms"] = responseTime < 200;
4.状态码为200:
tests["Status code is 200"] = responseCode.code === 200;
// 获取n天后的日期
function GetDateStr(n) {
var dd = new Date();
dd.setDate(dd.getDate()+n);//获取n天后的日期
var y = dd.getFullYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
return y+"-"+m+"-"+d+'T00:00:00+0800';
}
pm.globals.set("startDate_reg",GetDateStr(1) ); var myDate = new Date();//获取系统当前时间
1 myDate.getYear(); //获取当前年份(2位)
2 myDate.getFullYear(); //获取完整的年份(4位,1970-????)
3 myDate.getMonth(); //获取当前月份(0-11,0代表1月)
4 myDate.getDate(); //获取当前日(1-31)
5 myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
6 myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
7 myDate.getHours(); //获取当前小时数(0-23)
8 myDate.getMinutes(); //获取当前分钟数(0-59)
9 myDate.getSeconds(); //获取当前秒数(0-59)
10 myDate.getMilliseconds(); //获取当前毫秒数(0-999)
11 myDate.toLocaleDateString(); //获取当前日期
12 var mytime=myDate.toLocaleTimeString(); //获取当前时间
13 myDate.toLocaleString( ); //获取日期与时间
postman 断言的更多相关文章
- postman 断言解析
最近在学习postman官方文档, 顺势翻译出来,以供学习! postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可. 断言会在请求返回之后,运行,并根据断言的pa ...
- postman断言作用及怎么使用
这段时间一直在学习postman,在请求中使用断言,很多人不是很了解postman断言,其实呢,postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可. 1.设置环 ...
- postman断言分析
最近测试中用到postman,使用后就简单总结下常用的断言,下面带图的自己最常用的,其他的没怎么用. postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可. 断言 ...
- postman断言
较旧的写作邮差测试风格 较旧的Postman测试编写风格依赖于特殊tests对象的设置值.您可以为对象中的元素设置描述性键,然后说明它是真还是假.例如,tests["Body contain ...
- postman 断言学习
请求 url :https://www.v2ex.com/api/nodes/show.json?name=python get请求 postman发起请求并做断言 断言: tests["B ...
- 二、postman断言及正则表达式取值
postman老式断言与新式断言总结:本文以微信开发者文档为例 断言处如图所示 一.老式断言 老式断言总结:var variables相当于代码中定义的变量,test['']=true;相当于pyth ...
- postman断言的方法
1.在test添加断言 2.检查response的body中是否包含字符串: tests["Body matches string"] = responseBody.has(&qu ...
- postman断言的几种方式(二)
1.检查响应体是否包含字符串 pm.test("Body matches string", function () { pm.expect(pm.response.text()). ...
- Postman基本使用——get、post请求、断言、环境变量
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 它提供功能强大的 Web API & HTTP 请求调试. 它能够发送任何类型的HTTP 请求 (GET, ...
随机推荐
- Mybatis Batch 批量操作
Mybatis Batch 批量操作 http://www.blogjava.net/diggbag/articles/mybatis.html
- Android——RelativeLayout(相对布局)
一.相对于父容器 1.居中 2.同方向 <?xml version="1.0" encoding="utf-8"?> <RelativeLay ...
- 【BZOJ】1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏(刷水严重)
http://www.lydsy.com/JudgeOnline/problem.php?id=1666 这种我就不说了.. #include <cstdio> #include < ...
- CefGlue 学习杂记
1. hg clone代码回来后,还要下载对应的cef dll . 从http://xilium.bitbucket.org/cefglue/ 选择对应的. 然后把dll和resource目录里的内 ...
- 对mysql锁机制的学习
1.对于mysql学习,经常翻看一些博客,论坛,好像或多或少有mysq锁机制的学习与总结,所以今天有必要 对mysql锁机制的一些个人的总结,以便以后深入的学习. 2.学习这件事,从来都是“深入浅出” ...
- identity_insert---实验性插入大批量数据和分页存储过程
OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 1create database data_Test --创建数据库data_Test 2use da ...
- Linux性能分析top iostat vmstat free
最近看到一大牛的分析报告,才知道笔者认识这4个命令是多么肤浅,其实要读懂内存的信息,是要一些功力的.1.top VIRT 虚拟内存总量,VIRT=SWAP+RESSWAP ...
- Tomcat6连接数设置:permsize
Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行:JAVA_OPTS ...
- 【NLP+Deep learning】好文
http://blog.jobbole.com/77709/ 原文出处: http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/
- error C2678: 二进制“+”: 没有找到接受“const char [22]”类型的左操作数的运算符(或没有可接受的转换)没有与这些操作数匹配的“+”运算符
错误:没有与这些操作数匹配的“+”运算符,操作数类型为const char [20]+CString 分析原因:其提示操作数类型为const char [20]+CString 可见是类型有问题 故加 ...