v1.0
javascript
做者:ZBWhtml
继利用Postman和Jmeter进行接口性能测试以后,咱们发现Postman做为一款入门容易的工具,其内置的一些高级功能足够帮助咱们对网站进行全面的接口测试。本文首先将介绍两个比较关键的功能:环境(Environment)和附加代码(Pre-request Script和Tests),这两个功能可以帮助咱们对接口进行更加复杂的验证,如验证接口返回的信息等。除此以外,本文还将介绍文件上传测试的运行方式。java
注:本文使用Native版本的Postman,以保证功能含有尽量少的Bug。json
设想这样的两个场景:api
Postman中提供了变量(Variable)的概念,专门用于解决以上的问题。特别地,Postman将一组变量成为一个环境(Environment)。具体的说,一个环境能够是一组常常被复用的键值对,也能够是将先后测试关联起来的内容。服务器
1.新建环境dom
打开Postman,能够看到右上角有No Environment
字样,说明咱们目前没有应用任何环境变量。函数
点击齿轮图表打开环境的管理页面:工具
进入后点击Add
能够新建一个环境,并看到以下界面。在该界面中能够设置变量的名称、初值、当前值。点击Add保存。若是点击Globals能够配置全局的变量。post
2.切换环境
回到开始的界面,点击No Environment
字样能够看到刚刚新建的环境,选中便可应用。
3.应用变量
Postman中以{{}}
括起来的内容即为变量。这些内容能够出如今任何地方,包括域名、请求头、请求参数以及后文叙述的脚本代码中。例如若是咱们想解决以上的第一个问题,能够将每一个请求的域名字段改成
{{domain}}/api/to/test
以后配置不一样的环境,分别有domain
变量指向不一样网址便可。
一样,试想以下的场景:
以上的场景分别可使用Postman附带的请求前脚本和请求后测试脚原本实现。这二者本质上都是一段Javascript代码,由Postman在请求发起先后放在沙盒(Postman Sandbox)中代为执行,并可经过应用Postman对象获取及修改测试相关的一些信息。
请求前/后脚本的修改均位于配置请求的页面上,如图所示。
之前述的获取时间为例。能够按以下方式编写脚本,而且在请求头中使用{{timestamp}}获取值。
pm.environment.set('timestamp', new Date());
该段代码中pm为Postman对象,environment能够获取当前使用的环境变量,set方法能够用于设置一个环境变量。
这样当运行测试时就会先运行这段代码获取时间并赋给timestamp变量。
咱们的项目中定义了一些错误码,能够经过错误码验证服务端是否返回错误信息。
1.例如在生成报告的测试中Tests部分添加以下代码
var jsonData = pm.response.json(); pm.test("Status is right", function () { pm.expect(jsonData.status).to.eql("success"); }); pm.test("Errorcode is right", function () { pm.expect(jsonData.errorcode).to.eql("0000"); }); pm.test("ExperimentId is right", function () { pm.expect(jsonData.experimentId).to.eql("2110114"); }); pm.test("Return a pdf link", function () { pm.expect(jsonData.link).to.include(".pdf"); });
其中pm.response.json()
能够获取返回的响应信息并转为JSON对象。以后使用test
方法和expect
等函数对结果进行验证。expect
相似于断言,当在Runner中运行时若是出现检查不过则测试即便返回HTTP 200 结果也为失败(Fail)。
2.这里的代码还能够用于关联测试。以咱们的测试中获取生成报告的连接为例。咱们首先请求生成报告的接口,生成一个报告,以后收藏这一报告。
在生成报告的请求的Tests字段中配置
pm.environment.set("pdflink", jsonData.link); pm.environment.set("reportId", jsonData.experimentId);
并在以后的收藏测试中请求信息为:
link={{pdflink}}&reportId={{reportId}}
这样以来即可以将以前响应结果传入后续测试中。
配置文件上传测试的方式主要分两步。
1.肯定/配置工做路径
打开Postman的设置,能够看到Working Directory
的设置内容。这里是Postman有权限读取的文件位置,能够将相关上传的文件放在这里。
2.在测试中添加文件
在form-data类的请求体中,能够将Key的类型设置为File
,以后点击选择文件即可以增长文件了。
特别地,在该测试导出后,若是别人导入到另外一台电脑进行测试,那么文件将从其电脑上设置的Postman工做目录下读取。