邮递员动态取消设置环境变量

postman dynamic unset environment variables

有没有办法动态取消设置环境变量? 我想访问环境变量并执行 find & replace/delete 操作,以便我可以进行更动态的测试。

例如,假设我想测试用户的创建,我创建了 {{tmp-username}}、{{tmp-email}} 等变量...将它们替换为下一个的其他值测试并在我完成后删除它们。

如果我知道如何使用代码访问这些内容,我会在 tmp 上进行字符串搜索...

提前感谢您的回复

澄清一下,这个问题是不同的: 这涉及了解您希望取消设置的 var 的确切名称。我想搜索或遍历变量以删除或编辑它们。

您能否使用 Tests 选项卡中的函数来遍历变量并在上次测试 运行 后清除它们?

例如:

function cleanup() {
    const clean = _.keys(pm.environment.toObject())
    _.each(clean, (arrItem) => {
        pm.environment.unset(arrItem)
    })
}
cleanup()

这不会 'replace' 值,但这会让您确信在 运行 期间设置的值不会再次使用。

编辑

如果你想清除一组特定的变量,那些你给了特定前缀的变量,你可以使用这个:

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}'`))