gpt4 book ai didi

jmeter - Cookies不会在JMeter的 'Loop Controller'的迭代中重置吗?

转载 作者:行者123 更新时间:2023-12-04 13:49:42 25 4
gpt4 key购买 nike

使用Jmeter 2.12,是什么导致JMeter Loop Controller期间cookie重置失败?我已经尝试了所有可以想到的方法,但是每次循环时,仍然保留以前登录的cookie之一。它似乎并没有真正清除cookie。

这是我组合循环的方式:

Thread Group 1
-- Loop Controller (3x)
-- Simple Controller
-- HTTP Header Manager
-- HTTP Cookie Manger (with 'Clear cookies each iteration?' enabled)
-- BeanShell sampler - with code that tries to clear all cookies
-- HTTP /login (gets cookies and auth headers)
-- ... various HTTP Samplers ...
-- HTTP /logout

我尝试使用此代码添加一个Beanshell采样器(如上所示),但它似乎无能为力:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.HeaderManager;

CookieManager cManager = sampler.getCookieManager();
cManager.clear();
HeaderManager hManager = sampler.getHeaderManager();
hManager.clear();

最佳答案

  • 循环 Controller 不增加迭代次数。您可以通过评估vars.getIteration() Beanshell代码行对其进行测试。迭代在线程组级别上增加。要覆盖它,您可以在任何启用了Beanshell的测试元素(采样器,前置/后处理器,断言等)中调用vars.incIteration()方法
  • 用于清除cookie的Beanshell代码实际上没有任何作用,因为cManager实例未传递回采样器。您需要按以下方式修改代码:
    CookieManager cManager = sampler.getCookieManager();
    cManager.clear();
    sampler.setCookieManager(cManager);

    因此,sampler可能具有已清除Cookie的“cManager”实例

  • 有关Apache JMeter中Beanshell脚本的更多信息,请参见 How to use BeanShell: JMeter's favorite built-in component指南。

    关于jmeter - Cookies不会在JMeter的 'Loop Controller'的迭代中重置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748321/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com