前言
在前面的文章中已经说到了,在Postman中可以编写以下两种脚本:
- 前置请求脚本
- 测试脚本
这两种脚本的运行时机都不一样,在上一篇《Postman教程——脚本介绍》中已经详细的进行了介绍。这篇文章将对其中的前置请求脚本进行详细的总结。
前置请求脚本
前置请求脚本是在请求发送之前执行的代码片段。对于前置请求脚本的使用一般有以下场景:
- 设置动态请求头信息;
- 设置动态请求参数信息。
比如,现在需要在请求头中添加一个timestamp
字段,而该字段值是表示当前的时间戳,是一个动态变化值,所以该字段就需要动态设定。此时,我们就可以通过前置请求脚本来实现,具体如下图所示:
我们在Pre-request Script
标签页下输入以下的一行代码:
pm.environment.set('timestampHeader', new Date());
这行代码表示设置Postman的环境变量,关于环境变量的细节,我后续还会细说。
在设置请求头时,我们只需要使用{{timestampHeader}}
表达式,就可以正确获取在前置请求脚本中设置的值。如下图所示:
当然了,我们也可以对集合、集合中的文件夹添加前置请求脚本,添加方法如下图所示:
总结
这篇文章对Postman中的前置请求脚本进行了详细的总结,包括具体的使用场景。希望我的这篇文章能够对大家有帮助。
果冻想-一个原创技术文章分享网站。
2018年2月25日 于包头。
您好,我想在Pre-request Script中执行更多用node.js写的代码,但是在导入模块require(‘child_process’).exec时postman给出了报错‘There was an error in evaluating the Pre-request Script: Error: Cannot find module ‘child_process’’,而在本地环境则可以执行,请问该如何解决,谢谢
在postman中执行脚本和本地环境是不一样的,在postman中,脚本是在一个sandbox中执行的;关于在sandbox中可以导入的模块,请参见这里:https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_api_reference