【问题标题】:Delete cookie in jmeter删除 jmeter 中的 cookie
【发布时间】:2021-03-29 03:28:24
【问题描述】:

有没有办法重置(删除当前的 cookie 并允许 JMeter 生成新的)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);

【问题讨论】:

标签: jmeter jmeter-plugins jmeter-5.0 jmeter-4.0 jmeter-3.2


【解决方案1】:

如果不知道您的 cookie 来自哪里,我们就无法提出任何建议。最简单的选择是从循环控制器切换到Thread Group,它有:

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

  2. 可以选择是否在新迭代中保留 cookie/缓存

Cookie 来自 Set-Cookie 响应标头,如果 Cookie 一切正常(域/路径与当前的匹配,未过期等),它将被添加到 Cookie 管理器中。

您可以启用调试日志并查看 cookie 来自哪里以及它去哪里,可以通过将下一行添加到 log4j2.xml 文件(位于您的 JMeter 安装)

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

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

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

【讨论】:

    猜你喜欢
    • 2021-04-13
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    相关资源
    最近更新 更多