我正在使用 apache jmeter 来测试我的 java 应用程序。当我在端口 443 上点击 GTM(全局流量管理器:这会将流量路由到特定服务器) url https:// 时,一切正常。 当我尝试使用端口 8080 上的 url http:// 访问部署应用程序的特定服务器时,我收到 401 未经授权的错误,因为 cookie 在请求中为 null。 我该如何解决这个问题?
当您不提供任何代码/配置时,很难猜测问题是什么。
您可能会因为
same origin policy
而遇到问题(浏览器和工具仅发送属于您发送请求的来源的cookie)。
我猜您正在从
https://someApp.com:443
检索 cookie,并尝试通过 http://someapp.com:8080
重用它们。问题是,它们不是同一来源(端口号被视为原始 URL 的一部分)。
查看此链接:
您可以尝试禁用 JMeter cookies 检查:
暂时(仅一次),通过 -J 命令行参数,例如:
jmeter -JCookieManager.check.cookies=false -n -t test.jmx -l result.jtl
永久,通过将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中)
CookieManager.check.cookies=false
需要重新启动 JMeter 才能拾取该属性。
参考资料:
请注意,您只有 1 个 Cookie Manager。
如果一个 Sampler 范围内有多个 Cookie Manager, 目前还没有办法指定使用哪一个。也 存储在一个 cookie 管理器中的 cookie 不可用于任何其他管理器 管理器,因此请谨慎使用多个 Cookie 管理器
在 Jmeter 属性文件中进行以下更改,将解决该问题。 CookieManager.delete_null_cookies=false