postman tests实例记录(还没看,一些常用的)

这段时间准备测试api接口,postman这个工具很是方便,特别是里面的tests的javascript脚本。

记录一下测试接口常用的tests验证的实例。

1.设置环境变量

postman.setEnvironmentVariable("key", "value");

2.将嵌套独享设置为环境变量
var array = [1, 2, 3, 4];
postman.setEnvironmentVariable("array", JSON.stringify(array, null, 2));

var obj = { a: [1, 2, 3, 4], b: { c: ‘val‘ } };
postman.setEnvironmentVariable("obj", JSON.stringify(obj));

3.获取环境变量
postman.getEnvironmentVariable("key");
获取一个环境变量(其值是一个字符串对象)
// These statements should be wrapped in a try-catch block if the data is coming from an unknown source.

var array = JSON.parse(postman.getEnvironmentVariable("array"));
var obj = JSON.parse(postman.getEnvironmentVariable("obj"));

4.清除一个环境变量
postman.clearEnvironmentVariable("key");

5.设置一个全局变量
postman.setGlobalVariable("key", "value");
6.获取全局变量

postman.getGlobalVariable("key");
7.清除全局变量
postman.clearGlobalVariable("key");
8.检查response是否包含一个字符串
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
9.将xml体转换为JSON对象
var jsonObject = xml2Json(responseBody);
10.检查response是否等于一个字符串
tests["Body is correct"] = responseBody === "response_body_string";
11.检查JSON值
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
12.内容类型存在(不区分大小写的检查)
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); //Note: the getResponseHeader() method returns the header value, if it exists.
13.内容类型存在(区分大小写)
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
14.响应时间小于200ms
tests["Response time is less than 200ms"] = responseTime < 200;

15.响应时间在一个特定的范围内(包括下限和上限)

tests["Response time is acceptable"] = _.inRange(responseTime, 100, 1001); // _ is the inbuilt Lodash v3.10.1 object, documented at https://lodash.com/docs/3.10.1
16.状态码是200
tests["Status code is 200"] = responseCode.code === 200;
17.代码包含一个字符串
tests["Status code name has string"] = responseCode.name.has("Created");
18.成功的POST请求状态码
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
19.将TinyValidator用于JSON数据
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];

tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
console.log("Validation failed: ", tv4.error);

20.解码base64编码数据
var intermediate,
base64Content, // assume this has a base64 encoded value
rawContent = base64Content.slice(‘data:application/octet-stream;base64,‘.length);

intermediate = CryptoJS.enc.Base64.parse(base64content); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js
tests["Contents are valid"] = CryptoJS.enc.Utf8.stringify(intermediate); // a check for non-emptiness

官方文档英文版传送门:
https://www.getpostman.com/docs/postman/scripts/test_examples
---------------------
作者:黑面狐
来源:CSDN
原文:https://blog.csdn.net/qq1124794084/article/details/78049456
版权声明:本文为博主原创文章,转载请附上博文链接!

来源:https://blog.csdn.net/qq1124794084/article/details/78049456

原文地址:https://www.cnblogs.com/kaibindirver/p/10062535.html

时间: 2024-10-10 02:25:46

postman tests实例记录(还没看,一些常用的)的相关文章

2015-11-18看的几篇文章,还没看完,先记录一下,回家看

Android可拖动排序GridView实现http://www.open-open.com/lib/view/open1425893129654.htmlhttp://www.newxing.com/SC9204DF81686/Table.javahttp://www.cnblogs.com/lichenwei/category/567670.htmlhttp://www.cnblogs.com/lichenwei/p/3961040.htmlhttp://www.cnblogs.com/li

CSS兼容IE6,IE7,FF的技巧(COPY来的,还没看)

一.CSS HACK 以下两种方法几乎能解决现今所有HACK.翻阅很多资料,已测试可以使用. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) PLAIN TEXT CSS: #wrapper { width: 100px!important; /* IE7+FF */ width: 80px; /* IE6 */ } 2, IE6/IE77对FireFox *+html 与 *ht

五个问题(书还没看完)……

⒈实际编程中复杂的思路简单的代码和简单的思路复杂的代码,哪一个更加实用? ⒉一个软件在不同机器上的兼容性,要对所有情况进行测试么? ⒊看过一张图“此处功能必改,不要写死”,感觉写的东西会牵一发而动全身(我是菜鸟),什么叫写死?怎么写才会不写死? ⒋许多软件感觉没有什么盈利,为什么一些公司还会花费代价做它们? ⒌都说这一行吃的是年轻这碗饭,是不是? 2016-03-02

利用Python寻找命中注定的另一半, 大家都觉得不可信, 毕竟都还没看这篇神级教程!

既然是Python程序员×××,就要用python程序员的方法. 今天我们的目标是,爬社区的美女~而且,我们又要用到新的姿势(雾)了~scrapy爬虫框架~ 1scrapy原理 在写过几个爬虫程序之后,我们就知道,利用爬虫获取数据大概的步骤:请求网页,获取网页,匹配信息,下载数据,数据清洗,存入数据库. scrapy是一个很有名的爬虫框架,可以很方便的进行网页信息爬取.那么scrapy到底是如何工作的呢?之前在网上看了不少scrapy入门的教程,大多数入门教程都配有这张图. _(:зゝ∠)_也不

grunt 还没看的链接

1.http://yujiangshui.com/grunt-basic-tutorial/ 2.http://www.cnblogs.com/yexiaochai/p/3603389.html 3.http://www.gruntjs.net/getting-started 4.http://www.aliued.cn/2012/11/30/利用-grunt-(几乎)无痛地做前端开发-一.html 5.http://www.alloyteam.com/2014/02/grunt-quickly

[转帖] 读懂YML文件.. 书买了还没看完...

Copy From https://www.cnblogs.com/CloudMan6/p/8370501.html 读懂 Deployment YAML - 每天5分钟玩转 Docker 容器技术(125) 既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似. 还是以 nginx-deployment 为例,配置文件如下图所示: ① apiVersion 是当前配置格式的版本.② kin

java 实体对象与Map之间的转换工具类(自己还没看)

java实体对象与Map之间的转换工具类 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class EntityUtils { /** * 实体类转Map * @param object * @return */ public static Map<String, Object> entityToMap(Object object) { Map<String,

Java Solution (Basic Calculator) 还没测,晚上回去册

class Count{ public int Count(String a){ int n = a.length(); int result = 0; int num = 0; int p = 0; int L1 = a.indexOf('('); int R1 = a.indexOf(')'); String b = a.substring(L1+1,R1-1); int op = 0; if(L1 >= 0 ) return Count(b) + result; else { for(in

Java程序员面试体会,还没找到工作的“猿猿们”看过来!

类似的话题,我大约在几个月前跟大家聊过.这一次,我要根据这段时间的体会,再给大家整理一下. 今天,很轻松地拿到了神州数码的offer.虽然工资不是特别高,虽然很多人一毕业就能进入这样的公司,但是对我这个半路出家的大专生来说,能进去纯属意外. 今天的面试,谈到了以前我接过一些私单,项目经理问我,那你现在还有没有做私活的想法?我说,彻底没有!他问我,为什么?我说,这几年,虽然做私活挣了一些钱,但我损失的远远不止那点钱.那些重复.繁琐,很难有技术水平提升的工作,占用了我大部份的业余时间,如果这些时间用