这段时间准备测试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实例记录相关推荐

  1. 附录3:Pandas实例记录

    Pandas广泛用于数据分析,有两种数据结构:Series和DataFrame,Pandas的操作以列为核心,部分原因在于机器学习的特征以列保存 #Pandas实例记录 #基本数据结构:Series和 ...

  2. mongodb导出导入实例记录

    mongodb导出导入实例记录 平时很用mongodb,所以用到了,就需要去网上搜索方法,干脆将自己的实际经历记录下来,方便日后使用. # 大致需求 源库:db_name_mongo 源IP:192. ...

  3. Transformer详细解读与预测实例记录

    文章目录 Transformer详细解读与预测实例记录 1.位置编码 1)输入部分: 2)位置编码部分: 2.多头注意力机制 1)基本注意力机制 2)transformer中的注意力 3.残差和Lay ...

  4. Android Studio 学习实例记录-手电筒

    Android Studio 学习实例记录-手电筒 刚安装好Android Studio3.1.2,上网搜了一个实例进行实践学习,仅用这篇文章来记录学习过程 MainActivity.java的源码来 ...

  5. python爬虫实例-记录一次简单的Python爬虫实例

    本次的这篇文章主要是和大家分享了一篇关于记录一次简单的Python爬虫实例 ,有需要的小伙伴可以看一下. 主要流程分为: 爬取.整理.存储 1.其中用到几个包,包括 requests 用于向网站发送请 ...

  6. VS2022,C#中对PostgreSQL数据库增删改查实例记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.c#在VS中连接PostgreSQL数据库 二.使用步骤 1.引入库 2.设置连接 3.然后新建一个类文件,开始写 ...

  7. 附录7:SciPy实例记录

    目录 SciPy简介 SciPy基础 Numpy基础简要回顾 Numpy的stack,vstack,hstack,dstack,concatenate SciPy特殊函数 SciPy常量 SciPy应 ...

  8. 附录2:Numpy实例记录

    使用Numpy是为了让数组的处理更高效,Numpy高效的原因在于操作并行,比如arrayX10的广播,不会一个一个去X10,而是一组一组的并行执行,numpy的实现涉及到硬件的管理: 另外,Numpy ...

  9. 【实例记录】在ubuntu上运行python实现与单片机多线程串口通信

    文章目录 工具 步骤 工具 工具:自己电脑双系统的ubuntu18.04,单片机esp8266,一个usb转ttl模块,ubuntu上已经下载了python的3.6和pip,还需要pip instal ...

最新文章

  1. 用Microsoft DirectX光线跟踪改善渲染质量
  2. redis实现对账(集合比较)功能
  3. 深入了解父类引用指向子类
  4. [2019HDU多校第一场][HDU 6590][M. Code]
  5. 第一次作业-李纯锐201731084433
  6. opencv2.4.9报错找不到opencv_video249d.dll
  7. NYOJ47过河问题
  8. 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(1)
  9. Java编程基础08——面向对象_构造方法静态static
  10. CentOS6修改/etc/fstab文件造成系统无法启动的问题
  11. 笔记本电脑如何强制关机_Mac 如何强制关机?
  12. 微信小程序之轮播图(附带图片)
  13. Android shape属性大全
  14. JavaScript JQuery 交互式Web前端开发
  15. 微信服务号推送服务模板消息
  16. 【卷积神经网络】感受野
  17. [HAOI2006]旅行comf(枚举+最小生成树)
  18. 主存、辅存、内存、外存、存储器:名词解释
  19. A股股票列表下载——从零到实盘2
  20. Cadence原理图DRC检查介绍

热门文章

  1. stl文件介绍及读取
  2. python爬虫论文参考文献格式_Python爬虫进阶必备 | XX文学加密分析实例
  3. 玩转控件DTPicker
  4. Vim的几个高级玩法
  5. ip68能达到什么程度防水_IP68级防水能防多少米
  6. android应用商店升级标准,五大应用商店宣布:共同推进安卓APP升级64位架构
  7. JavaScript定义注册页面
  8. OneDrive无法打开登陆怎么办
  9. Java基础学习过程
  10. 2021-11-06