Gatling同步Http请求/响应链

时间:2014-11-06 12:26:30

标签: synchronous gatling

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

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

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

此外,我想知道一个演员/用户,如果链中的执行因检查而失败,是否不继续进行链中的下一次执行?

2 个答案:

答案 0 :(得分:1)

  

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

不,你错了。除了使用" resources"以外,对于给定用户,请求是连续的。如果要在遇到错误时停止给定用户的流,可以使用exitblockonfail

答案 1 :(得分:1)

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