加特林将上一个响应的“ Set-Cookie”标头替换为“ Cookie”标头

问题描述

我在加特林有一个http请求,该请求被执行了10次:

val scnProxy = scenario("Access proxy")
  .exec(session => session.set("connect.sid",sessionId))
  .repeat(10) {
    exec(
      http("Access endpoint")
        .get("/my-api")
        .header(
          "Cookie",session => "connect.sid=" + session("connect.sid").as[String]
        )
        .check(status is 200)
    )
  }

由于某种原因,我只能在第一次迭代时得到预期的响应。在其他每一次迭代中,我都得到401。因此,我将日志级别更改为TRACE,以查看问题所在,并发现了奇怪的行为。对于第一次迭代,我得到标头Cookie: connect.sid=...,但是由于某种原因,在第二次和其他迭代中,cookie参数被上一个请求的set-cookie覆盖。由于Cookie标头值为字符串,因此不会合并这些Cookie。

有没有一种方法可以添加cookie而不是覆盖cookie?

解决方法

使用proper Gatling components for manipulating cookies