使用 JSR223 预处理器避免 jmeter 中的 cookie 重复

avoid cookie duplicate in jmeter with JSR223 preprocessor

我正在使用 JSR 223 预处理器从文本文件生成 cookie,它工作正常。但是,这个 cookie 在我的每个 HTTP 采样器请求中都会被复制。 我怎样才能避免这种情况?

我的测试计划结构是:

测试计划

-CookieManger

--测试片段

---JSR223预处理器

----事务控制器

-----HTTP请求1

-----HTTP请求2

-----HTTP请求3

-----HTTP请求4

在第一个 http 请求中,cookie 只出现一次,但是在 HTTP 请求 2、3、4 中,cookie 重复了 2、3、4 次,即使我在 cookie 管理器中检查了“每次迭代清除 cookie” .我怎样才能避免这种情况?

请注意我是 jmeter 的初学者

注意 JMeter Scoping Rules,鉴于 JSR223 预处理器的当前位置,它将在每个 HTTP 请求 采样器之前 执行。

最简单的解决方法就是将其移动为 HTTP 请求 1

子项

或者,您可以检查 cookie 是否存在,只有在它不存在时才添加它,例如:

if (sampler.getCookieManager().getCookies().find { cookie -> cookie.getName().equals('your-cookie-name-here') } != null) {
    //the code to add cookie from the text file here
}

更多信息:Modifying Cookies in JMeter with Groovy