Gatling 在每个请求中从会话中传递 Map 元素

问题描述 投票:0回答:0

我认为这是一个简单的问题,但我不太清楚如何在 Gatling 中实现它。 我正在运行一个 exec() 以从我的读取端点获取一个 JSON 数组,然后从该响应中提取数据以添加到我的更新场景中。 我有

      .exec(http("Search for row")
                .post("/app_category/search")
                .body(RawFileBody("search.json"))
                .check(status().is(200))
                  .check( jsonPath("$..uniqueId").findAll().saveAs("uniqueIdList"))
                    .check(jsonPath("$..deptId").findAll().saveAs("deptIdList"))
            )

然后我将 uniqueIdList 和 deptIdList 合并到一个看起来像这样的列表中,并将其保存回会话中:

[{uniqueId=1, deptId=123}, {uniqueId=2, deptId = 234}]

当执行更新场景时,我不太确定如何进行。

   .exec(http("Update")
       .post("/update_data")
       .body(ElFileBody("assign-data.json"))); //

我需要用从会话列表中提取的值替换分配数据 JSON 中相应字段的值。我只是以错误的方式解决这个问题吗? 我已经看到 exec() 嵌套在 forEach 中,但我不确定是否会为每个用户执行整个循环?

java gatling
© www.soinside.com 2019 - 2024. All rights reserved.