【问题标题】:Postman - GUIDS邮递员 - GUIDS
【发布时间】:2020-01-21 09:04:27
【问题描述】:

作为 API 调用的一部分,我需要在正文中传递随机 ID,目前我正在使用 C# 中的 GUID 创建 ID,但事实证明这非常耗时,因为我需要大批量测试 API。我试图弄清楚是否可以在 Postman 中动态创建 GUID 并将它们保存到变量中并通过 API 调用将其传递给需要参数。

我遇到了一些类似的资源

  1. What is {{$guid}} used for in Postman?

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

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

其次,我想将这些保存到环境变量中并将其传递到需要的地方,例如

在正文中作为原始文本我需要传递:

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

在“测试”中,我目前有这个脚本,但我无法让它工作。

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

我创建了 2 个全局变量,名为 id 和 password

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

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

【问题讨论】:

  • 而不是 GUID,如果您正在寻找随机的客户端 ID 和客户端密码,您可以使用 {{$randomUserName}}{{$randomPassword}} 代替

标签: javascript c# api postman


【解决方案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

【讨论】:

  • 是的,在看到它可能让人感到困惑后更新了 :)
  • 谢谢,看起来不错。会试一试,不知道编辑的部分是否可行?
  • 收到此错误:评估预请求脚本时出错:TypeError: pm.variables.replaceIn is not a function
  • 这只是最近的变化,所以如果你没有使用最新版本的原生应用,你很可能会看到这个问题。
  • 将检查并更新 PM。你知道帖子的编辑部分是否可行吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-24
  • 2015-01-16
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多