【问题标题】:Gatling session variable is returning same value in a loopGatling 会话变量在循环中返回相同的值
【发布时间】:2021-08-16 09:18:33
【问题描述】:

我有下面的代码,这里的变量“${Cookie}”总是返回相同的值(第一个)。在所有迭代中使用相同的 ${Cookie} 值调用第二个 API。每次迭代如何设置会话变量?

val loginScenario = scenario("SignIn")
.repeat(100) {
  feed(csv(dataPath + "user_list_2.csv").circular)
  .exec(
    http("Sign In")
      .post("/members/sign_in")
      .queryParam("user[email]", "${email}")
      .queryParam("user[password]", "${password}")
      .check(status.is(200))
      .check(header("Set-Cookie").saveAs("Cookie"))
  )
  .exec(
    http("Current user Info")
      .get("/users/current_user_info")
      .header("cookie",  "${Cookie}")
      .check(status.is(200))
  )
}

【问题讨论】:

    标签: scala gatling scala-gatling


    【解决方案1】:

    Gatling 启用了 Cookie 支持,因此除非您在每次迭代中明确指定 flushing the CookieJar

    1. “登录”请求将在第一次迭代后发送一个 cookie,可能使其变为 noop
    2. .check(header("Set-Cookie").saveAs("Cookie") 太没用了,加特林会帮你处理 cookie

    不要这样设计你的测试,这是非常错误的。不要回收虚拟用户,否则您将回收连接和 SSL 会话并获得比您应该得到的更好的数字。

    只需注入新用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 2013-09-03
      • 2020-12-21
      相关资源
      最近更新 更多