Postman包含一个基于Node.js的强大的运行时,它允许您向请求和集合添加动态行为。这允许您编写测试套件,构建可以包含动态参数的请求,在请求之间传递数据等等。您可以在流程中的两个事件中添加要执行的JavaScript代码:
1. 在将请求发送到服务器之前,作为Pre-request Script选项卡下的预请求脚本。
2. 收到响应后,作为“Tests”选项卡下的测试脚本。
### 这怎么用?
Postman Sandbox是一个JavaScript执行环境,您可以在为请求撰写预请求和测试脚本时可用。这些部分中写入的代码都是在这个沙盒中执行的。
### 调试脚本
调试脚本可以在“ Pre-request scripts” 选项卡或“Tests” 选项卡下编写,并在Postman Console中记录有用的消息 。
## 预请求脚本(pre-request script)
预请求脚本是与发送请求之前执行的收集请求相关联的代码片段。这对于例如在请求头中包含时间戳或在URL参数中发送随机字母数字字符串的用例非常适用。
例如,要在请求标头中包含时间戳,可以使用从函数返回的值来设置环境变量。
```
pm.globals.set("timestamp", new Date().getTime());
```
![](https://box.kancloud.cn/ea84ce6528c4f25d7c22bb4dcd3ff109_1806x656.png)
然后,您可以通过键入来访问头数据编辑器中的变量。当请求发送时,您的预请求脚本将被执行。
![](https://box.kancloud.cn/a90aa8d25fc81feb2c9697a81375d1bf_2008x446.png)
## 测试脚本
使用Postman,您可以使用JavaScript语言为每个请求编写和运行测试。
Postman测试本质上是为特殊测试对象设置值的JavaScript代码。测试脚本在发送请求后执行,允许访问响应对象。您可以为对象中的元素设置描述性键,然后说明是否为true。
```
pm.test("response is ok", function () {
pm.response.to.have.status(200);
});
```
![](https://box.kancloud.cn/b1f91f640015a58c9f00d4ba051a4923_1828x1236.png)