Json 在Postman中创建动态名称文本字段

Json 在Postman中创建动态名称文本字段,json,postman,Json,Postman,我正在使用RESTAPI调用服务器。我希望使名称字段动态,以便每次都可以使用唯一的名称运行请求 { "location": { "name": "Testuser2", // this should be unique, eg. Testuser3, Testuser4, etc "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee", "parent_id": "52f9f8e2-731f-b2e

我正在使用RESTAPI调用服务器。我希望使名称字段动态,以便每次都可以使用唯一的名称运行请求

{
  "location":
  {
    "name": "Testuser2", // this should be unique, eg. Testuser3, Testuser4, etc
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee",
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9"
  }

}

对于那些将要否决我的人这篇文章是在与OP讨论之前发表的评论(见下文)。我把它保留在原处,因此OP的评论最终描述了他需要什么,不会从问题中删除


据我所知,你在寻找一个基本的解决方案。假设:

  • 您正在开发某种需要测试数据的脚本
  • name
    字段在每次运行时都应该是唯一的
如果你的问题更具体,那么我可以给你一个更具体的答案,但这是我现在能做的最好的了


您可以通过查看地址栏并将URL从以
#1
结尾更改为
#5
等方式强制更改计数器

然后,您可以在构建对象时使用变量
name

var location = {
    name: unique_name,
    branding_domain_id: 'however-you-currently-get-it',
    parent_id: 'however-you-currently-get-it'
};

你想用的邮递员

您发布的JSON如下所示:

{
  "location":
  {
    "name": "{{$guid}}", 
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee",
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9"
  }

}

请注意,这将为您提供一个GUID(您还可以选择使用整数或时间戳),而我目前还不知道如何注入字符串(例如,从测试文件或数据生成实用程序中)。

在Postman中,您可以传递范围为0到1000的随机整数,在您的数据中,您可以将其用作

{
  "location":
  {
    "name": "Testuser{{$randomInt}}",
    "branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee",
    "parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9"
  }

}

这件事我只付5美分。使用randomInt时,该数字最终可能出现在数据库中,这可能会导致问题。 解决方案(至少对我来说)是使用$timestamp

示例:

{
    "username": "test{{$timestamp}}",
    "password": "test"
}

在预请求中添加以下文本:

var myUUID=require('uuid').v4(); pm.environment.set('myUUID',myUUID)

无论你想在哪里使用myUUID 像

名称:“{myUUID}”

它将为每个请求生成一个随机的唯一GUID

var uuid = require('uuid');
pm.globals.set('unique_name', 'testuser' + uuid.v4());
将上述代码添加到预请求选项卡。 这是因为您可以为后续api调用重用唯一名称

与randomInt类似,guid是动态的,即:您不知道请求中发送了什么。没有办法再次引用它,除非它被发送回响应。即使将其存储在变量中,它仍然是动态的

另一种方式是:

var allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var shuffled_unique_str = allowed.split('').sort(function(){return 0.5-Math.random()}).join('');

courtsey将此作为更多选项参考

,你的问题是?你的问题是什么?我的问题是我想使“name”字段动态,因此当我运行此脚本时,它会成功运行,而不是错误“name is ready take”,因此你需要一个代码来创建上面的json数据,并动态(随机)生成name字段?好的,到目前为止你尝试了什么?@yazan我不知道如何随机生成数据?我没有尝试过任何随机数据。所以,请建议我如何解决这个问题?嗨,乔,谢谢你的帮助,你是对的,我使用了随机名称字段,但是是json格式的。因为我在postman工作,这里我使用json格式,所以我可以在postman中使用您的代码和脚本吗?@manoj我不知道,我以前从未听说过postman:-)json是一种数据存储语言,它不能进行任何编程。我假设您使用的是Javascript,因为您提到的JSON没有任何上下文,但显然您没有。你可能无法使用任何答案,尽管如果你将你的问题标记为邮递员或只是提到你正在使用它,这将节省我们两人的时间:-)@manoj我已经为你更新了你的问题,以便更具体地说明你需要什么,并为你正确地标记了上述“动态变量”链接不直接指向信息。Postman现在有了fakerjs模块的一个子集,因此您可以在响应体中使用
{{{$randomFullName}}
。这也是使用@Samir的链接:他们不断更改URL!以下是关于“动态变量”的邮差学习文章的最新链接:
var allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var shuffled_unique_str = allowed.split('').sort(function(){return 0.5-Math.random()}).join('');