1

我已经实现了一个执行链,每次执行都会向服务器发送一个 HTTP 请求,并检查响应状态是否为 2XX。我需要实现一个同步模型,其中链中的下一个执行应该只在上一个执行成功时触发,即响应状态为 2xx。下面是执行链的快照。

feed(postcodeFeeder).
     exec(Seq(LocateStock.locateStockExecution, ReserveStock.reserveStockExecution, CancelOrder.cancelStockExecution,
     ReserveStock.reserveStockExecution, ConfirmOrder.confirmStockExecution, CancelOrder.cancelStockExecution)

由于 gatling 具有异步 IO 模型,目前观察到的是 HTTP 请求由多个用户以异步方式发送到服务器,并且对于单个用户的执行之间没有真正的依赖关系。

另外,我想知道演员/用户是否由于检查而导致链中的执行失败,它是否不会继续执行链中的下一个执行?

4

2 回答 2

1

对于单个用户,执行之间没有真正的依赖关系

不,你错了。除了使用“资源”时,对于给定用户的请求是连续的。如果您想在遇到错误时停止给定用户的流程,您可以使用exitblockonfail

于 2014-11-06T13:36:09.010 回答
1

Gatling 在触发链中的下一个之前不考虑前一个请求的失败响应。您可能需要使用 exitBlockOnFail{} 覆盖整个块,以阻止加特林接下来触发。

于 2014-11-07T15:01:57.310 回答