You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter 5.4.1 Cookie Manager 用户自定义Cookie未添加到请求Cookie的问题咨询

排查方案

  1. 确认Cookie管理器的基础配置
    • 检查Cookie管理器是否放在线程组下的全局位置(不要嵌套在单个请求或逻辑控制器下),确保所有请求共用同一个Cookie管理器
    • 确认未勾选「每次迭代清空Cookie」选项,避免原有会话Cookie被清空
    • 把Cookie管理器的「Cookie策略」切换为兼容性(compatibility)模式,该模式对非标准格式的Cookie适配性更高,避免因为域名/路径校验规则严格导致自定义Cookie不生效
  2. 核对自定义Cookie的字段配置
    • Domain字段建议加上前导点,格式为.${BASE_URL_2}(即.qa.company.com),确保所有子域名下的请求都能匹配到该Cookie
    • Path字段统一填/,保证所有路径的请求都携带该Cookie
    • 若测试站点是HTTP协议,不要勾选Secure选项,勾选后仅HTTPS请求会携带该Cookie
  3. 开启Cookie变量存储校验
    • 在jmeter.properties中添加配置CookieManager.save.cookies=true,重启JMeter后所有Cookie都会以COOKIE_名称的格式生成变量,添加调试取样器即可查看所有Cookie变量是否已正确存入管理器
  4. 兜底强制添加方案
    如果以上配置都无效,可以用JSR223前置处理器强制写入Cookie,线程组下添加JSR223前置处理器,填入以下代码:
    import org.apache.jmeter.protocol.http.control.CookieManager
    import org.apache.jmeter.protocol.http.control.Cookie
    
    def cookieManager = sampler.getCookieManager()
    // 参数说明:Cookie名、Cookie值、域名、路径、是否仅HTTPS携带、过期时间(-1为会话级Cookie)
    def customCookie = new Cookie("partner", "favicon.ico", vars.get("BASE_URL_2"), "/", false, -1)
    cookieManager.add(customCookie)
    
    更简单的临时验证方案:在需要携带Cookie的请求下添加HTTP头管理器,手动新增Cookie请求头,值为原有Cookie拼接自定义内容:${COOKIE_c1}; ${COOKIE_c2}; ${COOKIE_c3}; partner=favicon.ico
  5. 会话Cookie完整性校验
    对比Chrome调试工具和JMeter调试取样器输出的Cookie列表,确认除了自定义的partner外,其他所有浏览器携带的会话Cookie都被JMeter正确提取存储,缺失的Cookie可以参照上述方案手动补充,避免因会话Cookie缺失触发安全校验报错。

内容的提问来源于stack exchange,提问作者Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:45:04