删除jmeter中的cookie

Delete cookie in jmeter

有没有办法重置(删除当前cookie并允许JMeter生成新cookie)cookie?我正在使用下面的代码来清除我的要求的 cookie。现在,这段代码正在清除整个 cookie。但是当我的脚本进入下一个循环时(我在循环控制器中控制迭代)它不会生成新的 cookie。可能这个 clear() 方法会删除整个 cookie 管理器本身。你能推荐一下吗?

JSSR223 Sampler
    import org.apache.jmeter.protocol.http.control.CookieManager;
    CookieManager manager = sampler.getCookieManager();
    manager.clear()

为了在下一个循环中重新生成 cookie,我想要这样的东西?

import org.apache.jmeter.protocol.http.control.CookieManager;
CookieManager manager = new CookieManager();
sampler.setCookieManager(manager);

如果不了解您的 cookie 的来源,我们无法提出任何建议。最简单的选择是从 Loop Controller 切换到 Thread Group,它有:

  1. 可以设置所需的循环次数

  2. 可以选择是否在新迭代中保留cookies/cache

Cookie 来自 Set-Cookie 响应 header,如果 cookie 一切正常(domain/path 匹配当前的,未过期等),它将被添加到 Cookie 管理器.

您可以启用调试日志记录并查看 cookie 的来源和去向,可以通过将下一行添加到 log4j2.xml 文件 (位于 JMeter 安装的“bin”文件夹中)

<Logger name="org.apache.jmeter.protocol.http.control" level="debug" />

更多信息:HTTP Cookie Manager Advanced Usage - A Guide

如果出现完全故障(我怀疑 HTTP Cookie 管理器已经可靠工作多年),您始终可以从上述 Set-Cookie header 中提取 cookie 并使用 HTTP 手动添加它们Cookie 管理器或 HTTP Header Manager