页面重定向时的Jmeter cookie处理

页面重定向时的Jmeter cookie处理,jmeter,Jmeter,情景: 登录(URL 1) 从登录页启动链接 新启动的链接(URL 2) URL 1和URL 2具有相同的域,但子域不同。 添加了HTTP Cookie管理器 当我使用只有HC4CCookieHandler的Jmeter 3.2运行脚本时 登录正在通过 启动具有不同子域的链接失败,在验证请求中没有添加cookie时,此处会话ID和其他cookie应已添加到请求中 有人能帮忙吗 还添加了Beanshell后处理器以从登录响应中提取cookies,并将其作为预处理器添加到重定向请求中,但给出了错

情景:

  • 登录(URL 1)

  • 从登录页启动链接

  • 新启动的链接(URL 2)

URL 1和URL 2具有相同的域,但子域不同。 添加了HTTP Cookie管理器

当我使用只有HC4CCookieHandler的Jmeter 3.2运行脚本时

登录正在通过 启动具有不同子域的链接失败,在验证请求中没有添加cookie时,此处会话ID和其他cookie应已添加到请求中

有人能帮忙吗

还添加了Beanshell后处理器以从登录响应中提取cookies,并将其作为预处理器添加到重定向请求中,但给出了错误

错误:jmeter.util.BeanShellInterpreter:调用bsh方法时出错: 评估源文件:内联评估:``导入 org.apache.jmeter.protocol.http.control.CookieManager

  • 您没有看到所有cookie的事实可能表明cookie存在问题。您可以启用HTTP Cookie管理器的调试日志记录,以查看出现了什么问题

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

  • 默认情况下,Cookie Manager不存储“无效”Cookie(域不匹配、已过期等),如果您完全确定应用程序的行为符合其要求-您需要“告诉”JMeter在任何情况下存储此Cookie,您可以通过将下一行添加到user.properties文件(位于JMeter的“bin”文件夹中)来实现

    CookieManager.check.cookies=false

    需要重新启动JMeter才能提取属性

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

    jmeter -JCookieManager.check.cookies=false -n -t ... 
    
    在这种情况下,不需要重新启动

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

  • 。如果您需要编写脚本,请确保使用性能最好的语言(即

  • 您没有看到所有cookie的事实可能表明cookie存在问题。您可以启用HTTP Cookie管理器的调试日志记录,以查看出现了什么问题

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

  • 默认情况下,Cookie Manager不存储“无效”Cookie(域不匹配、已过期等),如果您完全确定应用程序的行为符合其要求-您需要“告诉”JMeter在任何情况下存储此Cookie,您可以通过将下一行添加到user.properties文件(位于JMeter的“bin”文件夹中)来实现

    CookieManager.check.cookies=false

    需要重新启动JMeter才能提取属性

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

    jmeter -JCookieManager.check.cookies=false -n -t ... 
    
    在这种情况下,不需要重新启动

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


  • 。如果您需要编写脚本,请确保使用性能最好的语言(即)

    为cookies问题添加beanshell代码,您是否尝试在jmeter.properties中设置
    CookieManager.check.cookies=false
    ?BeanShell错误:您需要发布脚本以及整个错误(可以在jmeter日志中找到)添加BeanShell代码以解决Cookie问题,您是否尝试在jmeter.properties中设置
    CookieManager.check.cookies=false
    ?BeanShell错误:您需要发布脚本以及整个错误(可以在jmeter日志中找到)