Hi all, I managed to do what you want but only in hacky way:
val initStarted = new AtomicBoolean(false)
val initCompleteLatch = new CountDownLatch(1)
scenario("myScenario")
.doIf(_ => initStarted.getAndSet(true) == false) {
exec(http("first")
.get("/endpoint")
.check(status.is(200),
jsonPath("$..response.id").findAll.saveAs("reponseVariable")
)
).exec { session =>
reponseVariable = session("reponseVariable").as[String]
initCompleteLatch.countDown()
session
}
}
.exec { session =>
initCompleteLatch.await()
session.set("reponseVariable", reponseVariable)
}
.exec(http("second")
.post("/another/endpoint/{responseVariable}")
.body(...)
.check(status.is(200))
)
Hope it helps :) It can chain serveral requests, passthrough response along, and ensures first request is send only once.
International Futures (IFs) is a thinking tool for our global future. It was developed to assist people who are interested in personal and social choices lying ahead.
M. Zhang, and K. Chakrabarti. Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, page 145--156. New York, NY, USA, ACM, (2013)
H. Liang, Z. Diskin, J. Dingel, and E. Posse. Model Driven Engineering Languages and Systems, volume 5301 of Lecture Notes in Computer Science, Springer Berlin Heidelberg, (2008)