目录
Gatling 支持开箱即用且透明的 cookie,就像浏览器一样。
但是,某些用例需要更细粒度的控制。
可能需要手动添加或计算 cookie:
exec(addCookie(Cookie("name", "value")))
Cookie 还可以采用更多可选参数:
// with static values
Cookie("name", "value")
.withDomain("domain")
.withPath("path")
.withMaxAge(10)
.withSecure(true)
// with Gatling EL strings
Cookie("#{name}", "#{value}")
.withDomain("domain")
.withPath("path")
.withMaxAge(10)
.withSecure(true)
// with functions
Cookie(
session => session("cookieName").as[String],
session => session("cookieValue").as[String]
)
.withDomain("domain")
.withPath("path")
.withMaxAge(10)
.withSecure(true)
- domain 是可选的,默认为base url domain
- 路径是可选的,默认为“/”
- maxAge 是可选的秒数,默认为 Long.MinValue
- 安全是可选的,默认为 false
获取 Cookie 值
获取cookie值并将其放入会话中
exec(getCookieValue(CookieKey("name")))
CookieKey 还可以采用更多可选参数:
// with static values
CookieKey("name")
.withDomain("domain")
.withPath("path")
.withSecure(true)
.saveAs("key")
// with Gatling EL strings
CookieKey("#{name}")
.withDomain("#{domain}")
.withPath("path")
.withSecure(true)
.saveAs("key")
// with functions
CookieKey(session => session("cookieName").as[String])
.withDomain(session => session("cookieDomain").as[String])
.withPath("path")
.withSecure(true)
.saveAs("key")
- domain 是可选的,默认为base url domain
- 路径是可选的,默认为“/”
- secure 是可选的,默认为 false,意味着你只想要安全的 cookie
- saveAs 是可选的,默认为 name 参数
刷新会话 Cookie
模拟关闭浏览器,因此会话 cookie 被删除,但不是永久 cookie。
exec(flushSessionCookies)
刷新所有Cookies
exec(flushCookieJar)
处理缓存
刷新缓存
刷新虚拟用户的整个 HTTP 缓存。
exec(flushHttpCache)