Гатлинг анализирует значения параметров строк и превращает их в функции, которые будут вычислять результат на основе данных, хранящихся в сеансе, когда они будут оцениваться.
Есть ли способ сделать это вручную в exec?
У меня есть несколько шаблонов тела запроса, которые используют атрибуты EL, отправленный запрос будет отличаться в зависимости от фидера.
Код, который у меня сейчас есть, такой:
// Body itself contains attributes say ${uuid}
val body1 = Source.fromResource("body1.json")
val body2 = Source.fromResource("body2.json")
val scn: ScenarioBuilder = scenario("Dynamic body")
.feed(feeder)
.exec(session => {
if(session("requestType").as[String].equals("first"))
session.set("request", body1)
else
session.set("request", body2)
session
}
.exec(http("Http Call")
.post(url)
.body(StringBody("${request}"))
// This won't evaluate the nested attribute and body will remain ${uuid} instead of an actual UUID
)
Я ожидаю, что не будет способа оценить вложенные атрибуты EL, но есть ли способ вручную оценить его с помощью переменных сеанса? Что-то в духе
.exec(session => {
val evaluatedBody = merge(body1, session)
session("request", evaluatedBody)
session
})
Я видел, как ELCompiler упоминается в некоторых других вопросах, но не уверен, откуда его импортировать и как использовать его со значениями сеанса.