【问题标题】:Issues with cookies handling in JmeterJmeter 中的 cookie 处理问题
【发布时间】:2020-10-20 19:06:06
【问题描述】:

问题 1: 在 jmeter 中记录场景时,在结果的请求正文中,我看到了所有 cookie 信息。 但是当我运行脚本时,只传递了几个 cookie。 我还添加了一个 cookie 管理器,但还是一样。

问题 2: 我添加了一个正则表达式提取器来从响应头中提取一个 cookie 值 eg:设置Cookie:ASP.NET_SessionId=cg0kjo3gokjgdfjru2je2qzk; 我使用的表达式:ASP.NET_SessionId=(.+); 变量名:aspsessionid

我在标题管理器中使用了上述变量,如下所示 ASP.NET_SessionId = ${aspsessionid}

但它没有传递值,在结果请求标头中它读取为 ${aspsessionid}

请帮我解决这些问题

【问题讨论】:

    标签: cookies jmeter


    【解决方案1】:

    确保:

    1. 使用Response headers 作为“要检查的字段”

    2. 提供$1$ 作为“模板”

    3. 如果 cookie 来自子采样器,您需要勾选 Main sampler and sub-samples

    4. 放置正则表达式提取器as the child of the request,它会返回您要查找的cookie,否则变量可能会被覆盖

    一般情况下,HTTP Cookie 管理器通常应该自动处理传入的 cookie,如果没有 - 这可能表明您的应用程序中存在错误,例如 cookie 在某种程度上无效(过期、域不匹配等)。如果您不担心应用程序功能问题,您可以通过选择更“宽松”的 cookie 策略来减少 HTTP Cookie 管理器的限制,即netscape

    如果此设置没有帮助,您可以将 next line 添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中)

    CookieManager.check.cookies=false
    

    在 JMeter 重新启动后,cookie 管理器将接受所有 cookie,无论过期日期、来源等。

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

    【讨论】:

    • @Dimitri T,您好,您上面所说的我都做了,但我仍然遇到同样的问题。问题2解决了,我犯了一个错误。问题 1 仍然存在。
    猜你喜欢
    • 2018-12-08
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多