Postman请求前置脚本和后置脚本

Postman请求前置脚本和后置脚本教程

在我们使用 Postman 进行测试的时候,有时候需要在请求前做一个前置的处理工作,在请求后做一些请求后的处理工作,这时候就需要我们在请求前执行一定的脚本程序和在请求后执行一定的脚本程序。

Postman 包含一个基于Node.js的强大的运行时环境,它允许我们为请求和集合添加动态行为。这使的我们可以编写测试用例,构建可包含动态参数的请求,在请求之间传递数据等等。

Postman添加前置和后置脚本

我们可以在流程中以下2个事件执行期间添加 JavaScript 代码:

  • 在请求被发送到服务器之前,也就是在 “Pre-request Script” 标签页下添加的脚本内容。
  • 在服务器响应内容被接收到以后,也就是在 “Tests” 标签页下添加的脚本内容。

用户可以将请求前置脚本和测试脚本添加到集合,文件夹,集合中的请求或未保存到集合的请求中。

Postman添加前置脚本界面

Postman 添加前置脚本界面,是在 请求编辑区 的 “Pre-request Script” 标签页下,如下图所示:

49_postman请求前置脚本.png

我们只需要在该编辑区,输入相应的 JavaScript 代码,那么 Postman 在发送请求之前,就会主动触发这一段代码。

Postman添加后置脚本界面

Postman 添加后置脚本界面,是在请求编辑区 的 “Tests” 标签页下,如下图所示:

50_postman请求后置脚本.png

我们只需要在该编辑区,输入相应的 JavaScript 代码,那么 Postman 在发送请求之后,就会主动触发这一段代码。

脚本执行顺序

在 Postman 中,单个请求的脚本执行顺序如下所示:

  • 与请求相关联的前置请求脚本将在请求发送之前执行;
  • 与请求关联的测试脚本将在请求发送后执行。

具体如下图所示:

51_postman请求脚本执行顺序.png

对于集合中的每一个请求,脚本会按照下面的这个顺序进行执行:

  • 与集合关联的前置请求脚本将在集合中的每个请求之前运行;
  • 与文件夹关联的前置请求脚本将在文件夹中的每个请求之前运行;
  • 与集合关联的测试脚本将在集合中的每个请求之后运行;
  • 与文件夹关联的测试脚本将在文件夹中的请求之后运行。

具体如下图所示:

52_postman请求脚本执行顺序.png

工作原理

我们总想知道 Postman 是如何完成脚本的执行的?其实这一切都是在 Postman 中的一个沙箱(Sandbox)中完成的。Postman Sandbox 是一个 JavaScript 执行环境,可以为我们编写的前置请求和测试脚本提供运行环境。

案例

首先,我们在 “Pre-request Script” 标签下输入如下 JavaScript 代码:

console.log('Pre-request Script Called, Hello HaiCoder!');

如下图所示:

53_postman请求脚本.png

我们在 “Tests” 标签下,输入以下 JavaScript 代码:

console.log('Tests Script Called, Hello HaiCoder!');

如下图所示:

54_postman请求脚本.png

此时,我们点击 Send 按钮,发送请求,打开 Postman控制台,可以看到如下信息:

55_postman请求脚本.png

我们可以看到,Postman 的前置脚本和后置脚本都成功执行了。

Postman请求前置脚本和后置脚本总结

在我们使用 Postman 进行测试的时候,有时候需要在请求前做一个前置的处理工作,在请求后做一些请求后的处理工作,这时候就需要我们在请求前执行一定的脚本程序和在请求后执行一定的脚本程序。