postman 动态取消设置环境变量

标签 postman postman-collection-runner

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

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

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

提前感谢任何回复

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

最佳答案

您能否使用 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}'`))

关于 postman 动态取消设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51024746/

相关文章:

authorization - 如何在协作环境中在 Postman 中设置授权

c# - 为什么 python 请求工作但 C# 请求不工作?

postman - 在 Postman 的 "Test results"选项卡中打印 API 响应

docker - 无法使用 newman docker run 文档中提供的步骤使用 docker 运行 newman 集合

postman - 在 Postman 中,如何使用 collection runner POST 二进制文件

postman - 如何在 postman 的当前时间戳中添加更多时间?

c# - ASP.NET Core Web API 将所有枚举作为第 0 个选项

http-post - Postman Collection Runner 中的变量和数据文件

postman - 如何将 Postman 与 git 存储库同步

collections - 在 Postman 中,不使用 Collection Runner 时如何定义 pm.iterationData()?