邮递员-GUIDS

时间:2019-09-20 09:59:52

标签: javascript c# api postman

作为我的API调用的一部分,我需要在体内传递随机ID,目前,我正在使用C#中的GUID创建ID,但是事实证明,由于我需要大量测试API,这确实非常耗时。我试图弄清楚是否有可能在Postman中即时创建GUID并将其保存到变量中,然后通过API调用将其传递给require参数。

我遇到了

这样的一些资源
  1. What is {{$guid}} used for in Postman?

  2. https://www.toolsqa.com/postman/guid-in-postman/

我遇到的第一个问题是我想创建不带破折号的ID,所以我想要的是b3d27f9b-d21d-327c-164e-7fb6776f87b0,而不是b3d27f9bd21d327c164e7fb6776f87b0

第二,我想将它们保存到环境变量中,然后将其传递到需要的位置,例如

在正文中我需要通过:

{
    "clientID":{{id}},
    "clientpassword":{{password}},
}

在“测试”中,我目前拥有此脚本,但是我无法使其正常工作。

let id = {{$guid}};
let password = {{$guid}};

我创建了两个名为id和password的全局变量

此外,当前我在邮递员的“测试”部分中拥有这些,我看到还有一个预请求脚本。我该放在哪?

编辑 另外,我想做的另一件事是,有时我需要通过在不同位置提供客户端ID来搜索用户。是否可以将ID和密码放在一个可以手动更新或通过运行guid的地方,这样我就不需要在每次执行的API测试中都进行更新,而是应该从一个地方获取它我在哪里更新了。

1 个答案:

答案 0 :(得分:1)

您可以在Pre-request Script沙箱中执行以下操作:

let idGuid = pm.variables.replaceIn('{{$guid}}')
let passwordGuid = pm.variables.replaceIn('{{$guid}}')

pm.variables.set("id" , idGuid.replace(/-/g, ''))
pm.variables.set("password" , passwordGuid.replace(/-/g, ''))

然后,它们将解析您放置在request body中的变量。

这不是最有效的解决方案,但可以创建您想要的值。

在应用程序中还可以使用许多其他虚假数据变量:

https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/#dynamic-variables