一、Pre Request Scripts
Postman v0.10+ 版本支持pre-request scripts。
pre-request scripts是一个预请求脚本,在发送request之前执行的JavaScript代码片段。这对于在request header中包含时间戳或者在URL参数中发送一个随机字符串都是非常有用的。
例如:如果要在request的header中包含一个时间戳,你可以设置一个环境变量由一个函数返回他的值。
postman.setEnvironmentVariable('timestampHeader',new Date());
你可以在header中使 timestampHeader 变量,当request发送的时候,你的pre-request script将被执行,这个timestampHeader 变量的值将会替换{ {timestampHeader}}。
注意:我们设置的环境对使用的环境变量必须是有效的。
二、Writing Tests
1.基本结构
Postman给了你一个环境让你能够为每个request编写、执行你的test,而不用担心任何额外的设置。这个环境就是sandbox,即沙盒环境。
一个Postman的test本质上是JavaScript的代码可以用来为一些特殊的test设置值。你可以在对象中设置一个描述性的键作为一个元素,然后声明它是true或false。
tests[“Body contains user_id”] = responseBody.has(“user_id”)
上述test是核对body中是否包含了user_id这个字符串。如果你需要,你可以增加更多的键,这取决于你要用test做多少的事情。
test被保存为收藏夹request的一部分,这对于后端或前端的工程师来确保API运行的正常都是非常有意义的。
2.SNIPPETS
在写test的时候这里有些事情需要注意,Postman尝试列出常用的片段。你可以选择你想添加的片段,然后适当的代码将被添加到test的编辑器中。这是一个很好的方法来快速的构建test。
3.查看结果
Postman在你执行一个request的时候执行test,当然你可以选择不考虑test。结果被显示在一个tab里,并在头部显示多少test通过了测试。你设置在test中的变量将会被列在这里。如果值是true,这个test就会通过。你可以保持test tab活动直到你确保所有的test执行完。
三、Testing Sandbox
Postman的sandbox是一个JavaScript的执行环境,这使得你能够为request写pre-request scripts和test scripts 。不论你写的代码是pre-request scripts还是test script都会在sandbox中执行。
1.常用的库和工具
-
Lodash:
JS utility l