我制定了非常简单的测试计划。
所以我的'测试计划'看起来像:
“登录”生成的Cookie会正确添加到“获取状态” 但'创建资源'没有cookie。我改变了他们的订单,但没有帮助。 我首先使用了默认选项并更改了一些选项,但它也无济于事。
这是JMeter的错误吗?或只是POST http请求无法拥有cookie?
请给我任何建议。
[解决]
我注意到它与路径有关,而不是方法
您想查看cookie的域以及路径。
我的意思是,cookie的路径和域可以通过Set-Cookie头在服务器端定义。
答案 0 :(得分:3)
另一个解决方案是在jmeter.properties中设置CookieManager.check.cookies = false,通常坐在bin中的jmeter启动脚本旁边。
JMeter出于某些原因认为如果您在http:/ somesite / somethingelse上,则无法在cookie中设置path = / something。这条路径必须与您当前所在的路径相匹配。
如果它确实存在,我从未见过浏览器强制执行此限制。我已经看过并写过几个使用这种技术设置安全cookie的网站,然后转发某人说/ admin。
我希望这个选项至少在GUI中,所以我不必更改属性文件。我认为BlazeMeter非常聪明,可以关闭flood.io不在哪里。如果由我决定,我只需删除完全检查这一点的代码。为什么要使负载测试仪更难以满足需要。
答案 1 :(得分:0)
我在Spring Boot服务器中启用了此功能,这导致jMeter中的CookieManager出现问题:
server.servlet.session.cookie.secure = true
删除此选项将使cookie流动!当然这是为本地主机。对于正式版,您可能需要将其打开。