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> // 官方测试代码, 运行后只要有一堆信息 ...
随机推荐
- python并发编程之多进程2-------------数据共享及进程池和回调函数
一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...
- PLC漏洞问题
1.PLC采用大多是经过裁剪的实时操作系统,比如像linux RT.QNX.VxWorks等,这些实时操作系统广泛应用在通信.军事.航天.等工程领域,但是随之工业与网络的互连爆发出很多问题,常见的PL ...
- Web Penetration Testing
1.国外使用的一款在线工具,对web的信息收集很有帮助 地址http://archive.org , WayBack Machine 主界面如下:对百度存档的历史信息进行查询. 2.IP地址归属信息 ...
- django----Form实时更新两种方式
在ModelForm需要知道: from app03 import models from django.forms import ModelForm class UserForm(ModelForm ...
- 数据结构C++实现代码-顺序表
参考:https://blog.csdn.net/ebowtang/article/details/43094041 //seqList.h// //包含顺序表中的声明// #include<i ...
- Selenium+PhantomJS使用时报错原因及解决方案
问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been dep ...
- rpm 命令使用 和 lsof -p 1406 使用
#安装RPM -v 显示详细信息 -h 显示进度 -i 安装 -U 升级 -q 查询 -ql 查看rpm 包装的文件 - qf 查看命令属于哪个RPM 包 -qi 查看RPM包的详细信息 [root@ ...
- Spring4.x 基础
把以下 jar 包加入到工程的 classpath 下: 搭建Spring开发环境 Spring 的配置文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件用于 ...
- gradle构建时跳过指定tests
https://blog.csdn.net/u012672646/article/details/58598532
- webstorm ps
2018WebStorm注册码 2018-10-10 2018年08月22日 17:36:58 阳光明媚的味道 阅读数:6325 8月21日 http://webstorm.autoseasy ...