Gatling 会话变量在循环中返回相同的值
Gatling session variable is returning same value in a loop
我有下面的代码,这里变量“${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))
)
}
Gatling 启用了 Cookie 支持,因此除非您在每次迭代中明确 flushing the CookieJar:
- “登录”请求将在第一次迭代后发送一个 cookie,可能使其成为 noop
.check(header("Set-Cookie").saveAs("Cookie")
没用,Gatling 会帮你处理 cookie
不要这样设计你的测试,这是非常错误的。不要回收虚拟用户,否则您将回收连接和 SSL 会话并获得比您应有的更好的数字。
只需注入新用户。
我有下面的代码,这里变量“${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))
)
}
Gatling 启用了 Cookie 支持,因此除非您在每次迭代中明确 flushing the CookieJar:
- “登录”请求将在第一次迭代后发送一个 cookie,可能使其成为 noop
.check(header("Set-Cookie").saveAs("Cookie")
没用,Gatling 会帮你处理 cookie
不要这样设计你的测试,这是非常错误的。不要回收虚拟用户,否则您将回收连接和 SSL 会话并获得比您应有的更好的数字。
只需注入新用户。