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 valuerawContent = 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
postman tests实例记录相关推荐
- 附录3:Pandas实例记录
Pandas广泛用于数据分析,有两种数据结构:Series和DataFrame,Pandas的操作以列为核心,部分原因在于机器学习的特征以列保存 #Pandas实例记录 #基本数据结构:Series和 ...
- mongodb导出导入实例记录
mongodb导出导入实例记录 平时很用mongodb,所以用到了,就需要去网上搜索方法,干脆将自己的实际经历记录下来,方便日后使用. # 大致需求 源库:db_name_mongo 源IP:192. ...
- Transformer详细解读与预测实例记录
文章目录 Transformer详细解读与预测实例记录 1.位置编码 1)输入部分: 2)位置编码部分: 2.多头注意力机制 1)基本注意力机制 2)transformer中的注意力 3.残差和Lay ...
- Android Studio 学习实例记录-手电筒
Android Studio 学习实例记录-手电筒 刚安装好Android Studio3.1.2,上网搜了一个实例进行实践学习,仅用这篇文章来记录学习过程 MainActivity.java的源码来 ...
- python爬虫实例-记录一次简单的Python爬虫实例
本次的这篇文章主要是和大家分享了一篇关于记录一次简单的Python爬虫实例 ,有需要的小伙伴可以看一下. 主要流程分为: 爬取.整理.存储 1.其中用到几个包,包括 requests 用于向网站发送请 ...
- VS2022,C#中对PostgreSQL数据库增删改查实例记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.c#在VS中连接PostgreSQL数据库 二.使用步骤 1.引入库 2.设置连接 3.然后新建一个类文件,开始写 ...
- 附录7:SciPy实例记录
目录 SciPy简介 SciPy基础 Numpy基础简要回顾 Numpy的stack,vstack,hstack,dstack,concatenate SciPy特殊函数 SciPy常量 SciPy应 ...
- 附录2:Numpy实例记录
使用Numpy是为了让数组的处理更高效,Numpy高效的原因在于操作并行,比如arrayX10的广播,不会一个一个去X10,而是一组一组的并行执行,numpy的实现涉及到硬件的管理: 另外,Numpy ...
- 【实例记录】在ubuntu上运行python实现与单片机多线程串口通信
文章目录 工具 步骤 工具 工具:自己电脑双系统的ubuntu18.04,单片机esp8266,一个usb转ttl模块,ubuntu上已经下载了python的3.6和pip,还需要pip instal ...
最新文章
- 用Microsoft DirectX光线跟踪改善渲染质量
- redis实现对账(集合比较)功能
- 深入了解父类引用指向子类
- [2019HDU多校第一场][HDU 6590][M. Code]
- 第一次作业-李纯锐201731084433
- opencv2.4.9报错找不到opencv_video249d.dll
- NYOJ47过河问题
- 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(1)
- Java编程基础08——面向对象_构造方法静态static
- CentOS6修改/etc/fstab文件造成系统无法启动的问题
- 笔记本电脑如何强制关机_Mac 如何强制关机?
- 微信小程序之轮播图(附带图片)
- Android shape属性大全
- JavaScript JQuery 交互式Web前端开发
- 微信服务号推送服务模板消息
- 【卷积神经网络】感受野
- [HAOI2006]旅行comf(枚举+最小生成树)
- 主存、辅存、内存、外存、存储器:名词解释
- A股股票列表下载——从零到实盘2
- Cadence原理图DRC检查介绍