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

孤人 提交于 2019-12-08 14:46:25

问题


Postman's official website states that Postman has a few dynamic variables. My question is about:

{{$guid}}:Adds a v4 style guid

What kind of variable is {{$guid}}? How can it be used in test scripts for API requests?


回答1:


GUID is the acronym for "Globally Unique Identifier". A GUID is mainly used to produce hexadecimal digits with groups separated by hyphens for uniqueness purposes, for example:

b3d27f9b-d21d-327c-164e-7fb6776f87b0

In postman you can use this to generate and send a random GUID to your api as required:

{
    "id": "{{$guid}}",
}

On Send would produce(with the random example above):

{
    "id": "b3d27f9b-d21d-327c-164e-7fb6776f87b0",
}



回答2:


In case you are looking to generate a V4 guid which you want to set as an environment variable, which can then be used across your collection, you may do something like this in your pre-request script:

var uuid = require('uuid');
postman.setEnvironmentVariable('guid', uuid.v4());

You may then use the environment variable guid across multiple calls in your collection. This becomes useful when you want to generate a guid once for an entire collection and need it to be constant across multiple requests.

If you want the guid to be generated for every request, you may directly use {{$guid}} in your payload like the other answers have explained.

Based on this interesting answer by Osloan in github: https://github.com/postmanlabs/postman-app-support/issues/886




回答3:


For random generator use the below code in pre-Request

var text="shipment";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
    for( var i=0; i < 8; i++ )
        text += charset.charAt(Math.floor(Math.random() * charset.length));    
postman.setEnvironmentVariable("awb", text);

for detailed explanation follow below link

http://jmeterblogb.blogspot.in/2016/10/how-to-automate-rest-api-in-postman.html




回答4:


In Postman there are Two types of variable available.

1). If you have static variable like Ip, Port or Something who doesn't change through the project you can store into the Environments Variable using

1.1). Setting > Manage Environment > Add > Name of Environment > Add Parameters Like >In Key : Port and In Value : 80

1.2). You can also add in request > Pre-request Script

add "Set an environment variable " from snippet...

postman.setEnvironmentVariable("Port", "80");

2). for Dynamic Variable like SessionIdentifier.You have to capture from response and add in Test set a global variable from snippet it looks like

"var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("SessionIdentifier", jsonData.Data.);"

in the same response. For use, you should {{Port}},{{SessionIdentifier}}.

After it added into the Environments.



来源:https://stackoverflow.com/questions/37851383/what-is-guid-used-for-in-postman

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!