【发布时间】:2017-01-04 17:18:18
【问题描述】:
在 Postman 中,有没有办法在运行时忽略基于环境的特定测试执行? 我有一个包含大约 30 个测试的集合,我不希望在运行时在生产环境中执行 4-5 个测试,但因为它们只能在暂存时执行。 我不想为不同的环境有多个集合。 在这种情况下,我可以通过什么方式使用预请求脚本?
【问题讨论】:
标签: postman
在 Postman 中,有没有办法在运行时忽略基于环境的特定测试执行? 我有一个包含大约 30 个测试的集合,我不希望在运行时在生产环境中执行 4-5 个测试,但因为它们只能在暂存时执行。 我不想为不同的环境有多个集合。 在这种情况下,我可以通过什么方式使用预请求脚本?
【问题讨论】:
标签: postman
我同意@joroe 的观点,即有条件地添加测试的一种简单方法是使用变量并在每个有条件的测试之前检查该变量。
如果您根本不想将测试发送到服务器,您可能需要探索集合运行器并根据环境将您的集合分组。例如,您可以将您的请求分组到一个名为 PROD Tests 的集合中,该集合运行请求 1-10。您可以拥有一个名为 DEV Tests 的第二个集合,其中包含请求 1-15(来自 PROD 的十个加上您不想在 PROD 中运行的其他五个)。将请求从一个集合复制到另一个集合非常容易。然后,您在测试运行程序中运行特定环境的集合。您甚至可以使用Newman extension 自动执行此操作。我不是很熟悉,但发布的链接上有文档。我已经包含了一个收集运行器界面的屏幕截图,以及我如何设置一些要运行的测试。
【讨论】:
在每个环境(“ENV”)中使用环境名称(“LOCAL”)创建一个变量。
if(environment.ENV === "LOCAL") tests["Run in local environment"] = true;
【讨论】: