Как передать переменную сеанса от одного объекта к другому в Gatling?

Я извлекаю переменную сеанса в ObjectA и хочу передать ее в ObjectB. Как лучше всего этого добиться?

object ObjectA {
  val foo = exec(jsfPost("Request1", "/something.xhtml")
        .formParam("SUBMIT", "1")
        .check(regex("""Count:([^:]*),""").saveAs("Count"))
        )
       .pause(1)
       .exec { session =>  
          val Count = session("Count").as[String].toInt
          val GroupName = SomeCustomFunc(Count)
        }
        .exec(ObjectB.bar)
}

object ObjectB{      
  val bar = group(GroupName){
      myChain
  }
}

Уверен, я почувствую себя глупо, увидев ответ, но пока мне не удалось заставить это работать.

Ответ: Поскольку Стефан предложил пройти сеанс, все прошло нормально:

object ObjectA {
  val foo = exec(jsfPost("Request1", "/something.xhtml")
        .formParam("SUBMIT", "1")
        .check(regex("""Count:([^:]*),""").saveAs("Count"))
        )
       .pause(1)
       .exec(session => session.set("GroupName", SomeCustomFunc(session("Count").as[String].toInt)))
       .exec(ObjectB.bar)
}

object ObjectB{      
  val bar = group("${GroupName}"){
      myChain
  }
}

person user52028778    schedule 01.12.2015    source источник


Ответы (1)


Вы должны сохранить GroupName в сеансе пользователя в вашем exec (функции), чтобы вы могли позже получить его (Gatling EL или функция).

person Stephane Landelle    schedule 01.12.2015