2014-11-06 5 views
1

Я реализовал цепочку исполнений, и каждое выполнение отправит HTTP-запрос на сервер и проверяет, является ли статус ответа 2XX. Мне нужно реализовать синхронную модель, в которой следующее выполнение в цепочке должно запускаться только тогда, когда предыдущее выполнение выполнено успешно. I-ый статус ответа равен 2xx. Ниже приведен снимок исполнительной цепочки.Gatling синхронная цепочка Http-запроса/ответа

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

Поскольку Гатлинга имеет асинхронную модель ввода-вывода, то, что я в настоящее время наблюдения является HTTP запросы посылаются на сервер в асинхронном режиме с помощью числа пользователей, и нет никаких реальных зависимостей между казнями в отношении одного пользователь.

Также я хотел знать для актера/пользователя, если выполнение в цепочке не выполняется из-за проверки, не выполняет ли оно следующее выполнение в цепочке?

ответ

1

нет никакой реальной зависимости между казнями в отношении одного пользователя

Нет, вы не правы. За исключением случаев использования «ресурсов», запросы являются последовательными для данного пользователя. Если вы хотите остановить поток для данного пользователя, когда он встречает ошибку, вы можете использовать exitblockonfail.

+0

В заданной цепочке выполнения, где есть проверка на каждом этапе выполнения, gatling ожидает ответа до отправки следующего в цепочке? так что в примере кода, о котором я упомянул, подтверждение confirmStockExecution ожидает ответа reserveStockExection, поскольку reserveStockExecution может завершиться неудачно из-за его проверки, и я не хочу, чтобы confirmStockExecution выполнялось до получения ответа? – BalajiM

+0

В основном то, что я хотел достичь, это что-то вроде если (reserveStockExecution успешно) продолжить ConfirmStockExecution если (confirmStockExecution успешно) продолжить CancelStockExecution – BalajiM

+0

@slandelle любые идеи о том, как ждать ответа перед отправкой следующего запроса в цепочке? – BalajiM

1

Gatling не рассматривает ответ отказа от предыдущего запроса, прежде чем стрелять в цепочку. Возможно, вам придется покрыть весь блок с помощью exitBlockOnFail {}, чтобы заблокировать gatling для запуска следующего.

Смежные вопросы