3

有没有办法动态取消设置环境变量?我想访问环境变量并执行查找和替换/删除操作,以便我可以更动态地进行测试。

例如,假设我想测试用户的创建,我创建了 {{tmp-username}}、{{tmp-email}} 等变量...用其他值替换它们以进行下一次测试并在以下情况下删除它们我受够了。

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

提前感谢您的任何回复

为了澄清,这个问题是不同的:Postman: How to delete/clear postman environment variable at run-time 这涉及知道您希望取消设置的 var 的确切名称。我想搜索或遍历变量以删除或编辑它们。

4

1 回答 1

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}'`))
于 2018-06-26T13:14:25.910 回答