如何在邮递员的测试脚本中使用在预请求脚本中定义的全局变量?

时间:2018-11-17 15:06:46

标签: api postman

enter image description here

我在请求前脚本中定义了一个全局变量workkard_number。我想将此全局变量与响应中出现的workkard_number进行比较。

2 个答案:

答案 0 :(得分:0)

如警告消息所述,您正在运行一个非常旧的Postman版本,可能是chrome扩展程序。

这是后面的几个主要版本,并且pm.*功能未包含在旧版chrome扩展程序中。

下载本机应用程序,然后开始使用最新版本的Postman。否则,您会错过许多新功能。

答案 1 :(得分:0)

如@Danny所述,建议更新为最新版本。

现在,如果您要比较全局变量与响应中存在的workkard_number,则需要首先解析响应并获取其中的workkard_number,然后可以将其与全局变量进行比较。您可以在测试脚本中尝试以下方法:

var jsonData = JSON.parse(responseBody);
var responseWorkkardNumber = jsonData.wokkard_number;

您可以像这样返回响应中的workkard_number(假设您的响应是一个以“ workkard_number”为键的json。然后可以按如下进行比较:

tests["workkard_numbers are equal"] = responseWorkkardNumber === globals.workkard_number;

tests["workkard_numbers are equal"] = responseWorkkardNumber === pm.globals.get("workkard_number");

还请注意-“警告-环境和全局变量将始终存储为字符串。如果要存储对象/数组,请确保在存储之前先对其进行JSON.stringify(),并在检索时进行JSON.parse() ”。 -https://www.getpostman.com/docs/v6/postman/environments_and_globals/manage_environments