我想在邮递员上创建具有唯一电子邮件属性的测试请求。
{
...
"email": "{{email_string}}.com",
...
}
我在环境中设置了email_string
静态字符串,但有没有办法在发出请求之前动态设置email_string
?
答案 0 :(得分:7)
您可以直接在请求正文中使用Postman对Faker库的内置支持:
{
...
"email": "{{$randomEmail}}",
...
}
或者,在预请求脚本中:
pm.environment.set('user-email', pm.variables.replaceIn('{{$randomEmail}}'));
答案 1 :(得分:3)
作为上一个答案的替代方法,您可以使用sendRequest
函数从第三方API获取值,该第三方API旨在返回随机数据。
可以将其添加到Pre-Request Script
标签:
pm.sendRequest("https://randomuser.me/api/", (err, res) => {
// Get the random value from the response and store it as a variable
var email = res.json().results[0].email
// Save the value as an environment variable to use in the body of the request
pm.environment.set("email_address", JSON.stringify(email))
})
你可以使用此API潜在地创建大量随机数据,但它是第三方API,因此您无法控制此更改。如果你在短期内只需要这个,我相信它会没事的。
还值得记住的是Postman内置了Lodash
内置功能,因此您可以使用任何模块函数来减少一些本机JS代码。
答案 2 :(得分:2)
postman应用程序中有一个名为" pre-request script"接近"测试"标签。您可以使用此选项卡设置环境变量。
这是诀窍:
var text = "";
var possible = "abcdefghijklmnopqrstuvwxyz";
for (var i = 0; i < 5; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
postman.setEnvironmentVariable('email_string', text + '@' + text);
我认为这个脚本可以帮助您在您的环境中设置随机值。