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, ...
随机推荐
- [debootstrap]制作基于arm平台的debian文件系统
之前用过的Linux文件系统是直接busybox制作的,而当前使用的是debian的Jessie,看了一些博客后,了解到如果使用debian,那么直接使用debootstrap来构建文件系统即可 -- ...
- wait和waitpid
当有多个子进程的SIGCHLD信号到达父进程的时候,如果父进程用wait等待,那么父进程在处理第一个达到的SIGCHLD信号的时候,其他的SIGCHLD信号被堵塞,而且信号不被缓存,这样就会导致信号丢 ...
- alsamixer + alsactl 控制放音通道
1 使用alsamixer的gui界面配置放音(控制OUT1,OUT2的音量); 2 退出alsamixer,使用alsactl store生成配置文件,文件位于/etc/asound.state; ...
- centos7 /etc/rc.local需要chmod +x /etc/rc.d/rc.local
Centos 7.0设置/etc/rc.local无效问题解决 安装centos7以后按照以往习惯修改rc.local添加开机启动命令,但重启后发现无效,再次重启发现依然如故 检查系统rc.local ...
- php -- 魔术方法 之 调用方法:__call()、__callStatic()
方法重载:当调用一个不存在或者权限不够的方法的时候,会自动调用__call()方法 public function __call($name,$args){} :用对象调用方法 public sta ...
- 【BZOJ】1662: [Usaco2006 Nov]Round Numbers 圆环数(数位dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1662 这道题折腾了我两天啊-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 果然 ...
- 【BZOJ】1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场(dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1619 首先不得不说,,题目没看懂.... 原来就是找一个下降的联通块.... 排序后dfs标记即可. ...
- ThinkPHP跳转与重定向的区别
跳转: 浏览器认为: 当前URL请求成功, 重新请求新的URL. 浏览器会 记录当前的URL 和 新的URL 在请求历史记录中. 回退, 是可以回退到, 当前的URL上的. (无论 success, ...
- 《Linux实验要求》
实验 1:登录和使用基本的 Linux 命令 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统. 有另外一个无特权用户 student,密码 ...
- hdu 1147:Pick-up sticks(基本题,判断两线段相交)
Pick-up sticks Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...