postman - Postman Pre-Requisite Script:根据随机名字和姓氏存储电子邮件 ID
问题描述
我在这里努力生成一个包含随机名字和随机姓氏的电子邮件 ID。我不想使用动态变量 $randomEmail,因为它会生成任何与名字和姓氏完全不同的随机电子邮件,并且看起来非常不切实际。
我在 Postman 中有一个先决条件脚本,其中我有两个环境变量 first_name 和 last_name,我使用 faker 库生成虚拟数据,如下所示。动态变量 $randomFirstName 和 $randomLastName,生成并设置环境变量如下。假设 $randomFirstName=John 和 $randomLastName=Doe
postman.setEnvironmentVariable("first_name", pm.variables.replaceIn('{{$randomFirstName}}'));
postman.setEnvironmentVariable("last_name", pm.variables.replaceIn('{{$randomFirstName}}'));
现在我想在下面的变量 email_formatted 中使用环境变量 first_name 和 last_name 来生成由名字和姓氏组成的电子邮件 ID。
email_formatted = "{{first_name}}" + '_' + "{{last_name}}" + '@gmail.com';
postman.setEnvironmentVariable("email", email_formatted);
console.log("Email: " + postman.getEnvironmentVariable("email"));
但是,在控制台上,我得到以下结果。
实际“电子邮件:{{first_name}}_{{last_name}}@gmail.com”
预期“电子邮件:John_Doe@gmail.com”
我认为我在语法或 Pre-Requisite 脚本中如何使用环境变量时犯了一些小错误。感谢您花时间阅读,任何线索都会有所帮助
解决方案
email_formatted = pm.environment.get("first_name") + '_' + pm.environment.get("last_name") + '@gmail.com';
pm.environment.set("email", email_formatted);
console.log("Email: " + pm.environment.get("email"));
在邮递员中,我们只能在非脚本会话中将变量称为 {{variablename}}。在你有使用的脚本中
pm.environment.get('varaiblename')
访问环境变量,访问其他变量,用作 pm.globals、pm.variables 等
正如 Danny 指出的那样,邮递员正在转向新的 pm.* API,并且将来会弃用邮递员。*。
因此,开始使用新的 api,因为文档已得到广泛更新,并且主要用于 pm.* Api 。
注意: setnextrequest ,仍然只能通过邮递员获得。*
所以 postman.setNextRequest ,作品 pm.setNextRequest 不会
邮递员应用程序具有自动建议 pm.* ,它显示了使脚本编写更容易和有趣的可用方法
推荐阅读
- ios - 在 Swift 中解析嵌套数组 JSON
- python - 如何通过传递凭据使用 Python 调用远程脚本
- javascript - 将元素“bgColor”属性设置为字符串会创建“随机”颜色
- r - 在R中提取部分URL
- fortran - 我怎样才能使这个 Fortran OpenMP 减少工作?
- vb.net - 后台任务表单未按预期工作并冻结 GUI
- html - 跨度 ico 在 css
- angular - 多级问答树Angular 6反应形式
- azure - Azure ARM 部署 - TemplateLink 不是现有的语言表达式属性
- docker - docker 上的 pm2 卡在 getMonitorData