是否可以动态地取消设置环境变量? 我想访问环境变量,并执行查找和替换/删除操作,以便可以更动态地进行测试。
例如,假设我要测试用户的创建,我创建了{{tmp-username}},{{tmp-email}}之类的var,等等...用其他值替换它们以进行下一次测试,然后完成后将其删除。
如果我知道如何使用代码访问这些内容,我会在tmp上进行字符串搜索...
在此先感谢您的回复
为澄清起见,此问题有所不同:Postman: How to delete/clear postman environment variable at run-time 这涉及知道您要取消设置的var的确切名称。我想搜索或遍历var以删除或编辑它们。
答案 0 :(得分:1)
您能否使用Tests
标签中的函数来遍历变量,并在最后一次测试运行后清除它们?
例如:
function cleanup() {
const clean = _.keys(pm.environment.toObject())
_.each(clean, (arrItem) => {
pm.environment.unset(arrItem)
})
}
cleanup()
这不会“替换”这些值,但会让您有信心不再使用运行期间设置的值。
编辑
如果要清除一组特定的变量(已给定前缀的变量),则可以使用以下方法:
function cleanup() {
const clean = _.keys(pm.environment.toObject())
_.each(clean, (arrItem) => {
if (arrItem.startsWith("tmp")) {
pm.environment.unset(arrItem)
}
})
}
cleanup()
如果要查看所有键和值,可以使用它们将它们记录到控制台:
_.map(pm.environment.toObject(), (value, key) => console.log(`The key is '${key}' and the value is '${value}'`))