Scala/Gatling:如何在 foreach 中附加到数组?

Scala/Gatling: How do I append to an array within a foreach?

我是 Scala/Gatling 的超级新手,所以如果这个问题很愚蠢,我提前道歉。

编写加特林测试,我有一个循环遍历项目列表的 foreach,向 URL 发出请求并验证响应。

现在,我想从每个响应中提取一个元素,并在会话中创建一个元素数组以备将来使用。

这是一些代码:

 foreach("collection","currentItem"){
       exec(
         http(requestName)
         .post([redacted])
         .param([redacted])
         .check(
           regex(""""error":\s*"([^"]*)"""").find.notExists
         )
         .check(
           regex(""""id":\s*"([^"]*)"""").findAll.saveAs([HERE'S WHERE I'M STUCK])
         )
       )
     }

我不想只使用 saveAs("someString"),否则它会被 foreach 的每次迭代覆盖。我需要的是将每个响应中的所有 ID 附加到一个数组,然后我可以将其放入会话中。

我整个上午都在谷歌搜索,但每次其他搜索都会将我带到一个 github 页面,上面写着 "the documentation has been moved",然后提供一个 link 到任何地方。我也没有看到任何相关的 Whosebug 帖子。

有人有什么想法吗?

您不能直接在支票中这样做。您必须添加一个额外的 exec step after your request, but inside the loop that would fetch from the Session 先前存储的累加器和当前迭代中检查保存的内容,并将结果推回会话。