在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postman中设置环境变量这个功能了;

在postman中,可以利用tests将接口返回的response设置为环境变量,供后续接口使用(类似参数化的概念)

获取环境变量需要具体方法如下图所示;

var jsonData =JSON.parse(responseBody);//获取body中返回的所有参数
postman.setEnvironmentVariable("appKey",jsonData.data.appKey);//把返回参数中的keys设置为环境变量

如此就能把登录所需的key设置为环境变量,供后续登录接口的调用了;

同理,获取headers值更新环境变量的方法,如下图;

postman常用方法集合:

1.设置环境变量
postman.setEnvironmentVariable("key", "value");

2.设置全局变量
postman.setGlobalVariable("key", "value");

3.检查response body中是否包含某个string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");

4.检测JSON中的某个值是否等于预期的值

var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;

JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。

如:检查json中某个数组元素的个数(这里检测programs的长度)

var data = JSON.parse(responseBody);
tests["program's lenght"] = data.programs.length === 5;

6.检查response body是否与某个string相等
5.转换XML body为JSON对象
var jsonObject = xml2Json(responseBody);

tests["Body is correct"] = responseBody === "response_body_string";

7.测试response Headers中的某个元素是否存在(如:Content-Type)

tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 
//getResponseHeader()方法会返回header的值,如果该值存在

或者:

tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
上面的方法,不区分大小写。下面的方法,要区分大小写。

8.验证Status code的值
tests["Status code is 200"] = responseCode.code === 200;

9.验证Response time是否小于某个值
tests["Response time is less than 200ms"] = responseTime < 200;

10.name是否包含某个值
tests["Status code name has string"] = responseCode.name.has("Created");

11.POST 请求的状态响应码是否是某个值
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

12.很小的JSON数据验证器

var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);

postman的Testing examples(常用方法)的更多相关文章

  1. postman的Testing examples(测试脚本示例)

    测试代码会在发送request并且接收到responses后执行. 1.设置环境变量 postman.setEnvironmentVariable("key", "val ...

  2. postman使用教程

    最近很多朋友在问postman的使用方法,现我经过整理,分享给大家. Postman 是一个很强大的 API调试.Http请求的工具,当你还准备拿着记事本傻傻的去写 Form 表单的时候,你来试试 P ...

  3. Postman 基本操作学习

    History 所有使用postman发送的request都会保存在这里.点击之后会在当前Tab打开. 参考: Requests History Environments 这里用来设定当前reques ...

  4. postman传json串,以及postman官方文档

    最近在调试接口遇到一个问题.就是post接口传的body是一个json串. 刚开始还不知道,百度了一下才知道,其实很简单,就是在raw里面选择json.我的天如此简单的内容,而且支持html. 于是读 ...

  5. postman: 用于网页调试和发送Http请求的chrome插件

    一 简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 .做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点 特点: 创建 + 测试:创建和发送任何的H ...

  6. Postman 使用详解

    转自: http://blog.csdn.net/flowerspring/article/details/52774399 Postman 使用详解 阅读 6754收藏 3022016-6-9 作者 ...

  7. Postman用法简介

    转自:http://blog.csdn.net/flowerspring/article/details/52774399 Postman用法简介 转载 2016年10月10日 09:04:10 10 ...

  8. Chrome插件 postman的使用方法详解!最全面的教程

    一 简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 .做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点 特点: 创建 + 测试:创建和发送任何的H ...

  9. postman的使用方法详解!最全面的教程

      文章来源:http://www.cnplugins.com/tool/specify-postman-methods.html     一 简介 Postman 是一款功能超级强大的用于发送 HT ...

随机推荐

  1. dp练习(4)——过河卒

    1010 过河卒 2002年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 如图,A ...

  2. 在Windows下配置svn服务端钩子程序(部分)

    需求一,svn提交时必须填写log日志的需求,如何进行配置呢?请看下面. 需要在版本库目录下找到hooks文件夹,我的版本库是dxoffice,所以是这个目录,你要找自己的目录 然后进入,创建一个pr ...

  3. K8S镜像删除及环境清理

    环境清理: #删除所有容器sudo docker rm -f $(sudo docker ps -qa) #删除/var/etcd目录sudo rm -rf /var/etcd #删除/var/lib ...

  4. 信号处理函数的返回sigsetjmp/siglongjmp

    由于在信号处理期间自动屏蔽了正在被处理的信号,而使用setjmp/longjmp跳出信号处理程序时又不会自动将 信号屏蔽码修改会原来的屏蔽码,从而引起该信号被永久屏蔽. 可以使用sigsetjmp/s ...

  5. Inno Setup 编译器操作

    Inno Setup 编译器 1◆ 下载inno ha_innosetup5502_skygz_DownG.com 2◆ 安装 next 3◆ 操作 success 4◆ 测试安装 5◆ 卸载 uni ...

  6. POJ 2109 巧妙解法

    Int最大是10^9.所以一般思路是二分+高精度.但是double 范围是10^(-307)-10^308所以可以用double型.k^n=p.所以有k=p^(1/n). 见代码: #include& ...

  7. hdu2665

    题解: 裸的主席树,记录最小值 代码: #include<cstdio> #include<cmath> #include<algorithm> #include& ...

  8. 解决WinForm(C#)中MDI子窗体最大化跑偏的问题

    “用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1. ...

  9. 第一次做Java程序注意事项

    public class myapp{ public static void main(String[] args){ System.out.println("Hallo Java!&quo ...

  10. SDWebImage导入问题

    最新的SDWebImage由于是基于ARC模式写的,如果创建的是非ARC醒目的童鞋们注意,导入文件夹之后,先添加ImageIO.framework,mapKit.framework这两个库,在非ARC ...