【问题标题】:How to tag test in Postman如何在 Postman 中标记测试
【发布时间】:2020-04-27 19:50:57
【问题描述】:

我想对测试进行分类以针对不同目的运行它们。就我而言,我无法选择tag 进行一些测试并按需运行测试。我还查看了 Chaijs 是否具有这样的功能,但无法找到解决方案。

我想要做的是添加一些标签,如下所示:

@health_check
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

@smoke
pm.test("Product should be correct", function () {
    var jsonData = pm.response.json();
    var product = pm.variables.get("PRODUCT");

    pm.expect(jsonData.meta.appId).to.eql(product);
});

并按如下方式运行它或无论如何实现这一目标

$ newman run mycollection.json -tag smoke

【问题讨论】:

    标签: postman chai web-api-testing newman testautomationfx


    【解决方案1】:

    tag 类型选项在应用程序或 Newman 中是不可用的。

    您可以使用 CLI 上的 --folder 选项并组织您的集合以将请求包含在涵盖这些场景的特定文件夹中。

    例如:

    $ newman run mycollection.json --folder healthCheck --folder smoke

    或者,如果运行特定测试/测试组,您可以使用全局变量作为控件中的开关。

    将测试包装在 if 语句中,如下所示:

    if(pm.globals.get('smoke_check') === "runCheck") {
        pm.test("Status code is 200", () => pm.response.to.have.status(200));
    }
    

    然后使用--global-var 标志在cli 中传入一个全局变量。

    $ newman run mycollection.json --global-var "smoke_check=runCheck"

    【讨论】:

    • 感谢您的回答,文件夹选项似乎不错,但如果我们想为不同的目的声明不同的东西,它需要复制请求。
    • 也许你可以通过一个变量来控制它?您可以从命令行将它们作为 arg 传递,这可以作为运行/不运行特定测试集的开关作为运行的一部分?
    • @MesutGÜNEŞ 我用一个简单的例子更新了答案来说明这一点。希望对您有所帮助。
    猜你喜欢
    • 2019-05-24
    • 2017-08-15
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2018-03-29
    • 2020-05-27
    相关资源
    最近更新 更多