Postman 使用技巧之多环境测试及接口依赖关系处理
一、前言
在日常开发中,除了正常的单元测试,某些情况我们还需要测试 HTTP 接口,团队中目前使用的是「 Postman 」这款 API调试 、 HTTP 请求工具。通常我们将经常要测试的接口按照项目归类,存放在 Postman 的收藏夹(即 Collections)中方便重复调用。然而,在多个环境测试或者接口之间有依赖关系时我们需要频繁的改动请求体,下面将介绍这两种情况的解决方法。
注:Postman 版本 6.7.1
二、多环境测试
2.1 场景
项目环境通常都不止一套,每次调试 HTTP 接口时都要修改请求地址是一件非常麻烦的事,所幸 Postman 提供了「 Environment 」管理功能,想要在多个环境中测试只需要切换环境即可。
2.2 解决方法
2.2.1 添加环境
① 打开 Postman,点击界面右上角的齿轮按钮「 Manage Environment」

② 点击弹出框中的「 Add 」按钮

③ 输入 Environment Name,命名规则可为调试环境名+项目名,如「 local alpha」,其中 local 代表本地环境,alpha 代表项目名。然后添加一个名为 host 的变量(即VARIABLE),值为本地环境项目地址,最后点击「 Add 」按钮保存。

2.2.2 切换环境
① 回到主界面可以看到 Environment 下拉框已有刚添加的环境选项。

② 切换环境选择新创建的「 local alpha 」,然后创建一个请求测试项目中已有的 HTTP 接口,请求地址中 host 部分使用刚定义的变量,双层大括号引用变量名,如 {% raw %}{{% endraw %}{host}} 。

③ 请求接口后正常,如需切换一个新环境则按上述步骤操作即可。

三、处理接口之间的依赖关系
3.1 场景
上面提到了变量的使用方法,在日常开发中有可能遇到这样一个情况:大部分接口都需要用户登录之后才能访问,否则无法请求成功,用户登录成功后通常会有一个 token,此后每次请求都将在 header 中携带该参数用于识别用户身份,此时如果用户重新登录导致 token 发生了变化,那么哪些依赖 token 的接口都要相应的修改,这将是个不小的工作量。
3.2 解决方法
3.2.1 添加 Tests 脚本
① 首先在用户登录接口的「 Tests 」中添加以下代码。
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 把responseBody转为json字符串
var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用
pm.environment.set("token", data.data);

注:常用的脚本右侧都有相应的快捷方式创建
② 接口调用成功后会执行上述代码将返回结果中的 data 字段设置到环境变量「 token 」中。

3.2.2 设置变量
而后其余依赖 token 的接口可以在 header 中添加 key 为 token,value 为 {% raw %}{{% endraw %}{token}} 的参数就可以正常调用接口了。就算重新登录后也不需要手动修改 header 里的 token 值,因为它会从环境变量中读取。

四、结语
至此上述两种情况的解决方法已经介绍完了,后续如有调整会再补充。
Postman 使用技巧之多环境测试及接口依赖关系处理的更多相关文章
- 入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试
黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面 ...
- Postman使用技巧
Postman是什么 Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便. Postman安装 官网下载(翻墙) ...
- App-IOS与Android弱网环境测试
弱网环境下App的功能是否正常使用,是否会发生Crash的等情况? 1.IOS ios系统一般自带弱网环境测试,可以通过设置各种网络环境,模拟弱网环境,如3G,wifi,very bad Networ ...
- 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...
- 使用PostMan测试WebService接口
使用PostMan测试WebService接口 参考资料: 通过XML请求WebServer https://blog.csdn.net/qq_33933408/article/details/53 ...
- python环境测试MySQLdb、DBUtil、sqlobject性能
python环境测试MySQLdb.DBUtil.sqlobject性能 首先介绍下MySQLdb.DBUtil.sqlobject: (1)MySQLdb 是用于Python连接Mysql数据库的接 ...
- phpStudy本地环境测试,打开网页很慢的解决办法!
很多人应该都遇到了在使用phpStudy本地环境测试软件时候打开很慢的问题,甚至动辄达到了1000ms以上,开篇直接给出解决办法: 下面给大家介绍phpstudy访问速度慢的解决办法. 1.修改mys ...
- Postman如何测试Webservice接口?
一般情况下使用soapui工具测试ws接口,那么能不能使用postman测试呢?当然可以,往下看. 1. 首先请求类型为post 填写上ws地址 ,url地址后不追加?wsdl 2. 设置请求头 he ...
- Linux ALSA音频库(二) 环境测试+音频合成+语音切换 项目代码分享
1. 环境测试 alsa_test.c #include <alsa/asoundlib.h> #include <stdio.h> // 官方测试代码, 运行后只要有一堆信息 ...
随机推荐
- django模板 内建标签
autoescape 控制当前自动转义的行为,有on和off两个选项 {% autoescape on %} {{ body }} {% endautoescape %} block 定义一个子模板可 ...
- flask中的wtforms使用
一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...
- 【es】创建索引和映射
参考:http://www.cnblogs.com/sheeva/p/4837881.html 创建索引: curl -XPUT 'http://localhost:9200/some_index' ...
- 课外知识----ini
ini 初始化英文单词的缩写,用来初始化参数 ini文件配置 [小节] 键=值 [小节] 键=值
- 古代猪文:数论大集合:欧拉定理,exgcd,china,逆元,Lucas定理应用
/* 古代猪文:Lucas定理+中国剩余定理 999911658=2*3*4679*35617 Lucas定理:(m,n)=(sp,tp)(r,q) %p 中国剩余定理:x=sum{si*Mi*ti} ...
- Nginx详解八:Nginx基础篇之Nginx请求限制的配置语法与原理
Nginx的请求限制: 连接频率的限制:limit_conn_module 配置语法:limit_conn_zone key zone=name:size;默认状态:-配置方法:http 配置语法:l ...
- 检查URL的可用性脚本
#!/bin/bash check_url() { HTTP_CODE=$(curl -o /dev/ -s -) ];then echo "Warning: $1 Access failu ...
- Mysql 查看连接数,状态 最大并发数
show status like '%max_connections%'; ##mysql最大连接数set global max_connections=1000 ##重新设置show variabl ...
- C++ Primer 笔记——数组
1.数组的大小是固定不变的,声明时必须指定大小(或者使用列表初始化),而且大小必须大于0,C++ Primer里面也建议,如果不确定元素的个数,请使用vector. ]; , , }; //数组长度固 ...
- web和servlet一样的用法但是有区别