当我在第一个循环中运行带有Loop Count
的线程组2
时,它运行良好,但是对于第二次迭代,它失败了,因为在Header中它添加了两倍的Authorization Bearer令牌
我在此采样器内部创建了一个名为“登录请求”的HTTP请求采样器,我添加了BeanShell PreProcessor'
import org.apache.jmeter.protocol.http.control.Header;
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("Token")));
它在1次迭代中效果很好,但在第二次迭代中却失败,错误表明标头中有两个授权
答案 0 :(得分:2)
答案 1 :(得分:1)
修改您的代码以调用removeHeaderNamed() function,例如:
import org.apache.jmeter.protocol.http.control.Header;
sampler.getHeaderManager().removeHeaderNamed("Authorization")
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("Token")));
这样,您将充满信心,每次只有一个Authorization标头。
还请注意,since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language for scripting主要是因为Groovy has much better performance comparing to Beanshell,因此请考虑在下一个可用机会上进行迁移(相同的代码会很好地工作)