页面重定向时Jmeter cookie处理

时间:2017-08-15 15:47:51

标签: jmeter

情景:

  • 登录(网址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;

1 个答案:

答案 0 :(得分:0)

  1. 您没有看到所有Cookie的事实可能表明Cookie存在问题。您可以启用HTTP Cookie管理器的调试日志记录,以查看错误。

    • 单击HTTP Cookie管理器
    • 点击JMeter主菜单中的“帮助 - >启用调试”
    • jmeter.log 文件中观察CookieManager - 相关消息

      JMeter Cookie Manager enabled debug

  2. 默认情况下,Cookie管理器不会存储“无效”Cookie(域名不匹配,已经过期等),如果您完全确定应用程序的行为应该如此 - 您需要“告诉”JMeter存储在任何情况下,您可以通过将下一行添加到 user.properties 文件(位于JMeter的“bin”文件夹中)来完成此操作

    CookieManager.check.cookies =假

    需要重新启动JMeter才能选择该属性

    或者,您可以通过-J命令行参数传递属性,如:

    jmeter -JCookieManager.check.cookies=false -n -t ... 
    

    在这种情况下,不需要重启。

  3. 特别是在手动cookie管理的情况下,当涉及以最有效的方式使用JMeter时,最好尽可能避免编写脚本。例如,您可以从Set-Cookie response标题中提取所需的cookie

    JMeter Set Cookie Headers

  4. using Regular Expression Extractor。如果您需要编写脚本,请确保使用性能最佳的语言(Groovy