如何使用exitHereIfFailed



我有一个如下的场景

foo=exec ()
    .exec()
    ...    //few more execs
wsOp=repeat(repeatCount){
    exec(
         ws("Send HeartBeat")
         .sendText("some Heartbeat format").exitHereIfFailed
    )
    exec(
         ws("Check HeartBeat")
         .check(wsAwait.within(500).until(1).regex("some regex"))).exitHereIfFailed
    )
    .pause(delay)
}
val foo=scenario("bar").exec(foo).exec(wsOp)

我一直在尝试使用gatling的exitHereIfFailed语句,但它并没有像我预期的那样工作。尽管ws中的一些ws操作发送或检查失败,但用户线程仍在继续执行"wsOp"。

It should be after exec
foo=exec ()
    .exec()
    ...    //few more execs
wsOp=repeat(repeatCount){
    exec(
         ws("Send HeartBeat")
         .sendText("some Heartbeat format")
    ).exitHereIfFailed
    exec(
         ws("Check HeartBeat")
         .check(wsAwait.within(500).until(1).regex("some regex")))
    ).exitHereIfFailed
    .pause(delay)
}
val foo=scenario("bar").exec(foo).exec(wsOp)

首先,exitHereIfFailed是一个结构DSL元素(与exec级别相同),因此它可以在ws操作中调用,而您的代码甚至不会编译。

然后,exec(ws("Check HeartBeat"))缺少一个前导点,因此它没有与前一个exec链接,从而导致ws("Send HeartBeat")被丢弃。

相关内容

  • 没有找到相关文章

最新更新