Таким образом, я собираю множество функций вызова покоя, которые более или менее похожи на:
val restCall = {
exec(http("RestCall")
.post("/restCall")
.body(ElFileBody("json/body.json")).asJson
.check(saveResponseToSession(status,bodyString,header))
)
.exec(session => {validateResponse(session)})
.pause(Config.minDelayValue seconds, Config.maxDelayValue seconds)
}
.check(saveResponseToSession(status,bodyString,header))
<- Сохраняет тело, статус и заголовок как переменные сеанса </p>
.exec(session => {validateResponse(session)})
<- проверяет статус, тело и заголовок в соответствии с моими пользовательскими потребностями. </p>
.pause(Config.minDelayValue seconds, Config.maxDelayValue seconds)
<- пауза уровня моделирования, которая используется во всех моих транзакциях </p>
Эти трифункции выполняются на всех моих вызовах API, для меня это означает сотни строк дублирования кода ...
Я ищу способ создания / переопределения функции цепочки .exec, который будет включать эти 3функции в конце каждого вызова.
Так, например, приведенный выше пример будет выглядеть так:
val restCall = {
customExec(http("RestCall")
.post("/restCall")
.body(ElFileBody("json/body.json")).asJson)
Но также будет включать в себя:
.check(saveResponseToSession(status,bodyString,header))
)
.exec(session => {validateResponse(session)})
.pause(Config.minDelayValue seconds, Config.maxDelayValue seconds)
}
, как я показал в первом примере.