如何解决jmeter cookie 以编程方式删除问题
我正在尝试使用以下代码以编程方式清除 cookie。但它完全删除了 cookie 并在第二次迭代中充当“无 cookie”。我想存储当前迭代的 cookie,从下一次迭代开始,它应该重新开始。你能在这里提出任何修改吗?
我的要求只是在每次迭代后删除 cookie。 HTTP cookie 管理器不工作(我在测试计划和线程组级别都尝试过)。所以以编程方式尝试。
import org.apache.jmeter.protocol.http.control.Cookie;
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.commons.lang3;
CookieManager manager = ctx.getCurrentSampler().getCookieManager();
for (int i = 0; i <= manager.getCookieCount(); i++)
{
manager.clear();
ctx.getCurrentSampler().setCookieManager(manager);
}
}
解决方法
- 由于额外的
2
,您的代码将无法编译
- 根据上下文,
}
可能指任何 采样器,ctx.getCurrentSampler()
函数将仅返回 HTTP Request 采样器的某些内容,并且仅当它在 {{ 3}} 的 HTTP Cookie 管理器
一般来说,在每次迭代中清除 cookie 的官方和最佳方法是:
-
在 scope 层取消选中
getCookieManager()
框 -
或者在 HTTP Cookie 管理器级别勾选
Same user on each iteration
两个选项都假设线程组的迭代,其他任何东西(来自循环控制器或While控制器的迭代)都将被忽略。如果这是您的用例 - 添加 作为第一个 HTTP 请求采样器的子代并仅使用此单行:
Clear cookies each iteration
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。