邮递员:是否有可能根据先决条件中检测到的条件阻止邮递员被执行?

har*_*ant 8 postman

我在第一次调用中使用预请求脚本为整个脚本动态生成基本环境变量.我还希望用户在通过集合运行器运行时收到通知,而无需查看控制台.是否有可能在测试或其他替代方案中生成信息,因此故障在集合流程结果中是明确的?

例如,如果环境中没有提供ip,则运行登录调用没有意义.所以我想写一个先决条件脚本:

if (!environment['IP']) {
    //do not execute any further and do not send the REST call
}
Run Code Online (Sandbox Code Playgroud)

我试过用:

if (!environment["xyz"]) {
    tests["condtion1"]=false
}
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

There was an error in evaluating pre-requisite script: tests is not defined
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法 - 我不想将此代码移动到测试选项卡,因为我不希望在那里混乱使用无关的环境条件.

har*_*ant 8

投掷工作正常.(更新了@Joe White的精彩提示)

if (!environment['X']) {
    throw new Error('No "X" set')
}
Run Code Online (Sandbox Code Playgroud)

这可以防止REST调用通过.但在收集运行器模式下,它会停止整个测试套件.

但是当与纽曼收集跑步者配合使用时,它的工作正常.

  • 这不显示字符串-它显示“未定义:未定义”。最好抛出一个Error对象而不是一个字符串。`throw new Error('No“ X” set')`将显示一条有意义的消息:“ Error:No” X“ set”。 (3认同)