【问题标题】:JMeter stops sending JSESSIONID cookie when switched to SSL切换到 SSL 时 JMeter 停止发送 JSESSIONID cookie
【发布时间】:2011-07-03 02:08:19
【问题描述】:

我有一个在 http 下运行良好的测试计划,并且 Cookie 管理器正确地保持我的会话到位。它还能够在切换到 ssl 时与同一台服务器通信,甚至认为一切正常,因为它会收到 200 响应以及我们关于未登录的自定义消息。

要重现该行为,我需要做的就是从 http 切换到 https。测试仍然能够与服务器对话,但我可以在“查看表中的结果”日志中看到 cookies 在 http 下有一个 JSESSIONID,在 https 下是空的。并且 ssl 下的每个请求都使用 JSESSIONID 的 Set-Cookie 来回答。

【问题讨论】:

    标签: ssl https jmeter session-cookies


    【解决方案1】:

    有趣的场景。 Jmeter 日志文件是否提供任何线索?

    Jmeter 是否需要一份证书副本才能正确存储 SSL cookie?控制台会显示握手问题,可以通过将证书添加到密钥库中来解决: http://www.java-samples.com/showtutorial.php?tutorialid=210

    您可以通过将 cookie 值写入变量并记录其值来进行进一步的调试:

    接收到的 Cookie 可以存储为 JMeter 线程变量(2.3.2 之后的 JMeter 版本默认不再这样做)。要将 cookie 保存为变量,请定义属性“CookieManager.save.cookies=true”。此外,cookie 名称在存储之前以“COOKIE_”为前缀(这避免了局部变量的意外损坏) 要恢复到原始行为,请定义属性“CookieManager.name.prefix=”(一个或多个空格)。如果启用,名称为 TEST 的 cookie 的值可以称为 ${COOKIE_TEST}。

    来源:http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager

    编辑:有人问我的具体问题是如何解决的。结果证明与 ssl 没有任何关系,但是其他不相关的标头的格式变化非常小,所以我们用来匹配它们的正则表达式开始失败。因此,我将从查看您的标题开始,并比较您发布 http 与 https 时的区别

    【讨论】:

    • 你的建议被证明是完全无关的,同时也很有帮助。所以谢谢。 :) 所以我们可以称这是一个公认的答案,我确实发现 JMeter 对 ssl 证书完全没有问题,无论是受信任的还是不受信任的。您向我指出了与实际上导致我的麻烦的变量问题相关的文档。我不会深入讨论,因为它们对我们的实现非常具体,但它只是与一个不适应 https 添加到 set-cookie 标头的额外信息的正则表达式有关。
    • 很高兴我的闲谈有用:)
    • 来这里是为了别的,但问题解决了。谢谢@BlackGaff :) +1
    • @BrianDeacon ..您能否提供一些有关您如何解决此问题的详细信息?我似乎处于类似的情况。我记录了一堆HTTP请求,但需要切换到https(因为服务器现在有证书)。我担心我不想重新录制脚本,因为我已经定制了很多。提前致谢
    • @Dexter 我在问题中添加了一个编辑来解释。那是很久以前的事了,所以我忘记了一些细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 2016-06-05
    • 1970-01-01
    相关资源
    最近更新 更多