【问题标题】:JMeter clear cookie after HTTP Request in same iterationJMeter在同一迭代中的HTTP请求后清除cookie
【发布时间】:2019-12-09 04:07:21
【问题描述】:

在某些步骤后,我正在努力清除 cookie。这是我在样本测试计划中的内容

enter image description here

enter image description here

enter image description here

enter image description here

我从 CSV 文件中获取数据,然后我有多个 cookie - 这是我需要为 CSV 中的每一行传递的位置 ID。我尝试使用带有选项的 Cookie 管理器来清除迭代,这对于 CSV 中的下一行工作正常,但不能循环遍历用户定义变量中定义的 cookie 列表。我看了这个article 我已尝试将此代码添加到与 HTTP 请求相同的级别,但出现错误

【问题讨论】:

    标签: cookies jmeter iteration


    【解决方案1】:

    sampler.getCookieManager().clear() function 应该为您解决问题

    演示:

    假设您收到 NPE 很可能您的 HTTP Cookie 管理器配置有问题,您可以尝试 enabling debug logging for it 以查看 JMeter 是否“抱怨”任何事情,如果确实如此 - 修复 HTTP Cookie 管理器配置因此。

    为了获得 HTTP Cookie 管理器的扩展调试信息,将下一行添加到 log4j2.xml 文件:

    <Logger name="org.apache.jmeter.protocol.http.control.CookieManager" level="debug" />
    

    需要重新启动 JMeter 才能获取该属性。

    【讨论】:

    • 嗨@Dmitri 我试过这个断言代码 def manager = sampler.getCookieManager() log.info('Before : # of cookes' + manager.getCookies().size()) manager。 clear() log.info('After : # of cookes' + manager.getCookies().size()) 看到这张图片 imgur.com/a/5oh4umZ 我仍然收到这个错误 javax.script.ScriptException: java.lang .NullPointerException:无法在 null 对象上调用方法 getCookies()
    【解决方案2】:

    任何人都在寻找答案,就我而言,这很简单。我只需要添加空白的 Cookie 管理器

    Header Cookies

    早些时候,我将这些值填满了导致一些问题的值。 现在我用这段代码添加了 JSR223 预处理器,它工作正常

    import org.apache.jmeter.protocol.http.control.CookieManager;
    import org.apache.jmeter.protocol.http.control.Cookie;
    Cookie newCookie;
    CookieManager manager = sampler.getCookieManager();
    location = vars.get("locationID_"+ vars.get("counter"))
    Cookie myCookie = new Cookie("location_ID", location, google.com"/",false , 0);
    manager.add(myCookie);

    【讨论】:

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