2015-10-14 3 views
1

В настоящее время я использую Gatling, и у меня есть сценарий, в котором я выполняю несколько запросов GET, и в зависимости от тела ответов я хотел бы выполнить другой сценарий.Gatling Conditional on Response Body

я это в тот момент, как представляется, не работает, как ожидалось -

val repeatSpin = scenario("repeatScenario1").repeat(10) { 
    exec(
     scenario1 
    ) 
    .doIf(bodyString => bodyString.equals("<SwitchEvent/>")){ 
     exec(scenario2) 
    } 
    } 

Что я делаю неправильно?

ответ

1

Похоже, вы получили .doIf parameters wrong - это либо берет ключ сессии и значение, которое вы ожидаете, как:

.doIf("${bodyString}", "<SwitchEvent/>") { myChain } 

Или, Expression[Boolean] - аргумент вы получите это session; для получения значений из сеанса вы делаете something likesession("bodyString").as[String]. Таким образом, передача функции на doIf может выглядеть как

.doIf(session => session("bodyString").as[String].equals("<SwitchEvent/>")) { myChain }