我将Gatling
与kotlin
一起使用。
我有一个端点,一旦我调用它,它将返回一个值,我需要在下次调用第二个端点时使用该值。
从我目前所看到的情况来看,我需要提取值并将其存储在gatling's
会话中,然后进行检索。但我似乎无法同时访问会话和执行exec
。有人能帮我解释一下这应该是什么样子吗...以下是一个示例,大致说明了目前的情况以及我希望如何访问提取的值
exec(
http("Start")
.post("/start")
.body(StringBody("""
{
"someKey": "someValue"
}
""".trimIndent()))
.check(jsonPath("$.valueToExtract").find().saveAs("valueToExtract"))
)
.exec { session ->
val valueToExtract = session.getString("valueToExtract")
valueToExtract = valueToExtract.substring(5)
val newSession = session.set("valueToExtract", valueToExtract)
newSession
}
.pause(1)
.exec(
http("Second endpoint")
.put("/v1/endpoint-two")
.header("Content-Type", "application/json")
.body(StringBody("""
{
"extractedValue": "${session.get("valueToExtract")}"
}
""".trimIndent()))
)
1条答案
按热度按时间6jjcrrmo1#
使用Gatling Expression Language:
注意:您不必分2步完成此操作:你可以直接把一个函数传递给
StringBody
,在那里你可以获取数据,计算你想要的,然后用插值法计算字符串: