情景:
登录(网址1)
从着陆页启动链接
新推出的链接(网址2)
网址1和网址2具有相同的域但不同的子域。 已添加HTTP Cookie管理器
当我使用只有HC4CCookieHandler
的Jmeter 3.2运行我的脚本时登录正在传递 启动具有不同子域的链接失败,并且在验证请求中添加了无Cookie时,此处会话ID和其他cookie应该已添加到请求中。
有人可以帮忙吗?
还添加了Beanshell后处理器,用于从登录响应中提取cookie,并作为预处理器添加到重定向的请求中,但是给出了错误。
错误:jmeter.util.BeanShellInterpreter:调用bsh方法时出错: eval源文件:内联评估:``import org.apache.jmeter.protocol.http.control.CookieManager;
答案 0 :(得分:0)
您没有看到所有Cookie的事实可能表明Cookie存在问题。您可以启用HTTP Cookie管理器的调试日志记录,以查看错误。
默认情况下,Cookie管理器不会存储“无效”Cookie(域名不匹配,已经过期等),如果您完全确定应用程序的行为应该如此 - 您需要“告诉”JMeter存储在任何情况下,您可以通过将下一行添加到 user.properties 文件(位于JMeter的“bin”文件夹中)来完成此操作
CookieManager.check.cookies =假
需要重新启动JMeter才能选择该属性
或者,您可以通过-J命令行参数传递属性,如:
jmeter -JCookieManager.check.cookies=false -n -t ...
在这种情况下,不需要重启。
特别是在手动cookie管理的情况下,当涉及以最有效的方式使用JMeter时,最好尽可能避免编写脚本。例如,您可以从Set-Cookie response标题中提取所需的cookie
using Regular Expression Extractor。如果您需要编写脚本,请确保使用性能最佳的语言(Groovy)