【问题标题】:JMeter JSR223 PostProcessor GET COOKIEJMeter JSR223 后处理器 GET COOKIE
【发布时间】:2019-11-18 07:49:28
【问题描述】:

我在 JMeter 中找到的关于 cookie 的每个链接都是基于 cookie 管理器的。但不幸的是,如果路径更改,JMeter 会丢失 cookie,并且我无法更改 JMeter 属性以使用解决方案,因此我必须在请求后使用 JSR223 PostProcessor 设置变量。

但我找不到任何相关信息 - 每个链接都与使用 HTTP Cookie 管理器有关。

请帮助解决没有 Cookie 管理器的问题。

【问题讨论】:

    标签: testing cookies groovy jmeter jsr223


    【解决方案1】:

    blazemeter 有一个关于creating cookies in JSR223的很好的例子

    import org.apache.jmeter.protocol.http.control.*    
    //Get cookie manager
    CookieManager cm = sampler.getCookieManager()    
    //Set cookie currency to EUR
    cm.addFile("C:/work/jmeter-scripts-samples/cookie.txt")
    

    方法 CookieManager.addFile(String cookieFile) 将 cookieFile 参数(本例中为 cookie.txt)中定义的 cookie 添加到 cookie 管理器中。

    我们将通过在 PreProcessor 脚本中添加以下行来创建一个 cookie:

    Cookie c = new Cookie("sampleCookie", "sample", "opencart.abstracta.us", "/", false, 1557578515)
    

    【讨论】:

      【解决方案2】:

      首先描述的情况听起来很奇怪,JMeter 应该能够解析给定的 cookie:

      1. Cookie 有效(完全符合RFC 6265
      2. HTTP Request sampler 配置正确(域匹配 cookie 域,路径匹配 cookie 路径等)

      如果您绝对确定您的应用程序正在做它应该做的事情(包括设置无效的 cookie),您可以通过减少 HTTP Cookie Manager 的限制来解决这个问题:

      1. 将下一行添加到 user.properties 文件:

        CookieManager.check.cookies=false
        
      2. 使用另一个Cookie Policy,即netscape

      如您所见,即使DomainPath 为空白,JMeter 仍会将 cookie 添加到请求中:

      更多信息:HTTP Cookie Manager Advanced Usage - A Guide


      在任何情况下,您都应该能够使用Regular Expression ExtractorSet-Cookie 标头中提取cookie,并将其添加到请求中,如上所述。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-07
        • 1970-01-01
        相关资源
        最近更新 更多