【问题标题】:Postman - Ignore test execution based on environmentPostman - 基于环境忽略测试执行
【发布时间】:2017-01-04 17:18:18
【问题描述】:

在 Postman 中,有没有办法在运行时忽略基于环境的特定测试执行? 我有一个包含大约 30 个测试的集合,我不希望在运行时在生产环境中执行 4-5 个测试,但因为它们只能在暂存时执行。 我不想为不同的环境有多个集合。 在这种情况下,我可以通过什么方式使用预请求脚本?

【问题讨论】:

    标签: postman


    【解决方案1】:

    我同意@joroe 的观点,即有条件地添加测试的一种简单方法是使用变量并在每个有条件的测试之前检查该变量。

    如果您根本不想将测试发送到服务器,您可能需要探索集合运行器并根据环境将您的集合分组。例如,您可以将您的请求分组到一个名为 PROD Tests 的集合中,该集合运行请求 1-10。您可以拥有一个名为 DEV Tests 的第二个集合,其中包含请求 1-15(来自 PROD 的十个加上您不想在 PROD 中运行的其他五个)。将请求从一个集合复制到另一个集合非常容易。然后,您在测试运行程序中运行特定环境的集合。您甚至可以使用Newman extension 自动执行此操作。我不是很熟悉,但发布的链接上有文档。我已经包含了一个收集运行器界面的屏幕截图,以及我如何设置一些要运行的测试。

    【讨论】:

    • 明白了。谢谢大家,非常感谢。
    • 是否有可能根据环境状态从另一个集合调用测试,可能基于用户定义的 envt 变量?也许我想根据用户输入从另一个集合中运行一些测试用例,而不是另一个时间,同时需要将它们分开在不同的集合中以便于分类。
    【解决方案2】:

    在每个环境(“ENV”)中使用环境名称(“LOCAL”)创建一个变量。

    if(environment.ENV === "LOCAL") tests["Run in local environment"] = true;
    

    【讨论】:

    • 但它不是仍将请求发送到生产吗?如果我没有早点说清楚,我很抱歉。我希望一些特定的请求不应该发送到产品服务器,而它们应该在同一个集合的暂存时执行。
    猜你喜欢
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多