Vir*_*ain 4 scala vector gatling
获得请求的方法之一是提供多个字符串值,我使用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*/
Run Code Online (Sandbox Code Playgroud)
我在日志中看到“ 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
)
Run Code Online (Sandbox Code Playgroud)
更新:保存数据以备后用
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.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7741 次 |
| 最近记录: |