【问题标题】:Scala/Gatling: How do I append to an array within a foreach?Scala/Gatling:如何附加到 foreach 中的数组?
【发布时间】:2015-02-19 19:20:29
【问题描述】:

我是 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 页面,上面写着“文档已被移动”,然后提供了一个无处可去的链接。我也没有看到任何相关的 stackoverflow 帖子。

有人有什么想法吗?

【问题讨论】:

    标签: scala foreach gatling


    【解决方案1】:

    您不能直接在支票中执行此操作。您必须在请求之后添加一个额外的exec 步骤,但在循环内部将从Session 获取先前存储的累加器以及当前迭代中检查保存的内容,并将结果推回会话中.

    【讨论】:

    • 美丽。这很有意义。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2018-10-06
    相关资源
    最近更新 更多