J'utilise Postman pour effectuer des appels REST API vers un serveur. Je veux rendre le champ de nom dynamique afin de pouvoir exécuter la demande avec un nom unique à chaque fois .
{
"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"
}
}
Dans Postman, vous souhaitez utiliser Variables dynamiques .
Le JSON que vous publiez ressemblerait à ceci:
{
"location":
{
"name": "{{$guid}}",
"branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee",
"parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9"
}
}
Notez que cela vous donnera un GUID (vous avez également la possibilité d'utiliser des entiers ou des horodatages) et je ne connais pas actuellement un moyen d'injecter des chaînes (par exemple, à partir d'un fichier de test ou un utilitaire de génération de données).
Juste mes 5 cents pour cette affaire. Lors de l'utilisation de randomInt, il est toujours possible que le nombre soit éventuellement présent dans la base de données, ce qui peut provoquer des problèmes. La solution (pour moi au moins) est d'utiliser à la place $ timestamp.
Exemple:
{
"username": "test{{$timestamp}}",
"password": "test"
}
Dans Postman, vous pouvez passer un entier aléatoire qui varie de 0 à 1000, dans vos données, vous pouvez l'utiliser comme
{
"location":
{
"name": "Testuser{{$randomInt}}",
"branding_domain_id": "52f9f8e2-72b7-0029-2dfa-84729e59dfee",
"parent_id": "52f9f8e2-731f-b2e1-2dfa-e901218d03d9"
}
}
Pour tous ceux qui sont sur le point de me downvote ce post a été fait avant la discussion dans les commentaires avec l'OP (voir ci-dessous). Je le laisse en place donc le commentaire du PO qui a finalement décrit ce dont il a besoin n'est pas supprimé de la question.
D'après ce que je comprends que vous recherchez, voici une solution de base. Cela suppose que:
name
doit être unique à chaque exécutionSi votre question était plus précise, je serais en mesure de vous donner une réponse plus précise, mais c'est le mieux que je puisse faire à partir de ce qui existe actuellement.
var counter = location.hash ? parseInt(location.hash.slice(1)) : 1; // get a unique counter from the URL
var unique_name = 'Testuser' + counter; // create a unique name
location.hash = ++counter; // increase the counter by 1
Vous pouvez changer de force le compteur en regardant dans la barre d'adresse et en changeant l'URL de se terminer par #1
à #5
, etc.
Vous pouvez ensuite utiliser la variable name
lorsque vous construisez votre objet:
var location = {
name: unique_name,
branding_domain_id: 'however-you-currently-get-it',
parent_id: 'however-you-currently-get-it'
};
Ajoutez le texte ci-dessous en pré-requis:
var myUUID = require ('uuid'). v4 (); pm.environment.set ("myUUID", myUUID);
et utilisez myUUID où vous voulez comme
nom: "{{myUUID}}"
Il va générer un aléatoire unique GUID pour chaque demande