gpt4 book ai didi

scala - 如何在 Scala 文件中的 gatling 场景之外使用保存的变量值

转载 作者:行者123 更新时间:2023-12-05 00:58:41 27 4
gpt4 key购买 nike

gatling get 请求之一是提供多个字符串值,我正在使用 saveAs 保存它们,如下所示:

val scn = scenario("ReadLogs")
.exec(http("logEvent")
.get("""/xyz/abc""")
.check(jsonPath("$.data[*].message").findAll.saveAs("mList")))

/* My scala code to achieve some requirements*/

我可以在日志中看到“mList”是一个向量,其中包含我需要的字符串消息。我想在我的 Scala 代码中处理这些消息。如何以简单的方式做到这一点?我想如果我可以在 scn 场景之外使用“mList”变量,那么事情就会好起来,所以我会把这个问题更具体一些。如何在我的 Scala 代码中使用“mList”变量?

最佳答案

在单独的执行步骤中对流程逻辑进行编码,并确保在获取数据后执行。

val fetchLogs = exec(
http("logEvent")
.get("""/xyz/abc""")
.check(jsonPath("$.data[*].message")
.findAll
.saveAs("mList")
)

val processLogs = exec { s: Session =>
val mList = s("mList").as[Seq[Any]]
val result = ...
s.set("processResult", result)
}

val scn = scenario("ReadLogs").exec(
fetchLogs,
processLogs
)

更新:保存数据以备后用
var mList: Seq[String] = _    

val fetchLogs = exec(
http("logEvent")
.get("""/xyz/abc""")
.check(jsonPath("$.data[*].message")
.findAll
.transform { v => mList = v; v } // save the data
.saveAs("mList")
)

val scn = scenario("ReadLogs").exec(fetchLogs)

after {
// Process the data here. It will be executed when the simulation is finished.
}

关于scala - 如何在 Scala 文件中的 gatling 场景之外使用保存的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32250233/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com