好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
Postman 有个 workspace 的概念,workspace 分 personal 和 team 类型。Personal workspace 只能自己查看的 API,Team workspace 可添加成员和设置成员权限,成员之间可共同管理 API。
数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。
这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。
参数通过使用双花括号创建:{{sample}}
。
postman 支持的变量的作用范围
* Global
全局变量在整个工作空间中都可用。
在做测试的过程中,可能遇到频繁更换测试地址的操作,比如今天开发用了这个测试环境,明天又换了另一个测试环境活正式环境。
在postman中可以设置不同的环境变量以进行不同的环境测试,操作如下:
选择环境变量的位置在右上角,并且旁边的小眼睛图片可以查看此环境的所有变量
Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。
例如如下测试返回值是否为200
测试通过了会在下面显示:
postman可以创建一个工作流按顺序测试多个接口,并可以将前面的接口的返回值作为变量传递给后面的接口使用。
在开发中,有些接口返回的数据是base64的图片数据,有时需要实时查看,如图片验证码、二维码等。
在postman的tests输入JS代码,点击SEND
// 将接口返回数据赋值处理
var data = {
response: pm.response.json()
}
// html 模板字符
// 如果base64代码中已包含“data:image/jpg;base64,”,需要在base64代码前面加上,如下:
var template = `<html><img src="{{response.data}}" /></html>`;
// 设置 visualizer 数据。传模板并解析对象。
pm.visualizer.set(template, data);
效果如下:
1.获取图片验证码,这一步若没有图片识别,就只能人工识别了。
2.用用户名、密码、验证码进行登录
3.登录接口获取到的token保存到全局变量中,并设置到之后请求的header中
运行集合的另一种方式是通过Newman。Newman和Collection Runner之间的主要区别如下:
1. Newman是Postman的替代品,所以需要单独安装Newman;
2. Newman使用命令行,而Collection Runner使用UI界面;
3. Newman可以用于持续集成。
安装newman
1.下载并安装nodejs
2.下载newman:npm install -g newman
newman的使用
其中的<collection name>
和<environment name>
是postman中导出的collection文件和environment文件。
关于Newman的一些基础指导如下:
1、只运行集合(如果没有环境或测试数据文件依赖关系,则可以使用此选项。)
newman run <collection name>
2、运行集合和环境(参数-e 是environment)
newman run <collection name> -e <environment name>
3、使用所需的编号运行集合的迭代。
newman run <collection name> -n <no.of iterations>
4、运行数据文件
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>
5、设置延迟时间。(这一点很重要,因为如果由于请求在后台服务器上,完成前一个请求时没有延迟时间直接启动下一个请求,测试可能会失败。)
newman run <collection name> -d <delay time>
collections
postman的collections可以用文件的方式导入和导出,也可以生成 public link让其他人进行导入。这个public link修改后是不进行同步的。
environments
在导出collections的时候是不能顺便导出环境变量的,环境变量得单独的进行导出。