停止在请求前脚本中运行的测试,但不停止整个测试运行

时间:2019-04-02 10:29:24

标签: postman postman-collection-runner postman-pre-request-script

是否可以停止在请求前脚本中运行的测试,但不能停止整个测试集合的运行?

我已经看到各种帖子提到了这些方式:

  • postman.setNextRequest(null);
  • throw new Error("Error");

这些将停止测试的完成,但也似乎停止了我不希望的整个测试收集过程。

更新

请求前脚本:

var test = 'Wait for create transaction request to complete';

var numRetriesRemaining = postman.getEnvironmentVariable("numRetriesUntilCompletionExpected");

if (numRetriesRemaining == -1) {
    // stop the request from being sent and stop the "Tests" part from running 
    // but also don't stop other tests in the collection
}

1 个答案:

答案 0 :(得分:0)

如果我误解了您,那么我将更新此答案。


在测试脚本中编写简单的return可能会阻止测试脚本的进一步执行。

您可以在请求前脚本中执行以下操作:

pm.test('This test should run', function () {});

pm.test('This test should also run', function () {});

return;

pm.test('This test should not run', function () {});

您还可以在测试内部添加一个返回值,以停止执行测试。 例如:

pm.test('This test should execute only one case and not the last one', function () {
    pm.expect(1).to.equal(1); // This will execute

    return;

    pm.expect(2).to.equal(1); // This will not execute
});