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, ...
随机推荐
- C语言 · 素数判断
算法提高 素数判断 时间限制:1.0s 内存限制:512.0MB 编写一函数IsPrime,判断某个大于2的正整数是否为素数. 样例输入: 5样例输出:yes 样例输入: 9样例输 ...
- openvpn 移植之buildroot添加相关选项
openvpn 移植第一步,在buildroot 内添加 openssl ,openvpn , 另外还有一个 RSA 的支持,我不确定这个需要程度如何,但是也添加进去了. buildroot 添加相关 ...
- 用Linux中man命令查询C函数
大家都知道在Unix/Linux中有个man命令,可以查询常用的命令,函数.可是对于我们这样只知道用"man 函数名"来查询的人来说,会遇到很多问题,比如: man read,我想 ...
- vector--C++ STL 学习
vector对应的数据结构为数组,而且是动态数组,也就是说我们不必关心该数组事先定义的容量是多少,它的大小会动态增长.与数组类似的是,我们可以在末尾进行元素的添加和删除,也可以进行元素值的随机访问和修 ...
- hdu6121 Build a tree 模拟
/** 题目:hdu6121 Build a tree 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6121 题意:n个点标号为0~n-1:节点i的父节点 ...
- sqlServer的主键只能自增不能手动增加
1. 2.找到相应的表,找到表设计.
- 【BZOJ】1058: [ZJOI2007]报表统计(splay+set)
http://www.lydsy.com/JudgeOnline/problem.php?id=1058 当复习一下splay.... 做法很简单..... 观察得知每一次插入一个点只需要维护前后的绝 ...
- jquery如何书写一个根据下拉选择列表的选择值 控制其他标签时候显示的功能
有时候我们在一些表单搜集信息的时候,需要根据上一项的选择情况设定下面的某些输入信息是否显示,是否需要被收集等,这个时候就要对下拉列表的选择事件做一个监听. 代码如下: <!DOCTYPE HTM ...
- 第十五篇:使用 FP-growth 算法高效挖掘海量数据中的频繁项集
前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本 ...
- switch语句相关
Cannot switch on a value of type long. Only convertible int values, strings or enum variables are pe ...