我正在尝试使用 JMeter 测试 HTTP 服务。 HTTP 服务需要通过简单的承载令牌机制进行身份验证。我正在尝试按如下方式进行:
到目前为止,我已经能够发布请求,获取令牌,使用正则表达式提取它,将其保存到变量中,并断言该变量已正确设置。
问题在于如何将变量放入 HTTP 标头中。在“标题管理器”中,值设置如下:
不幸的是,当发出下一个请求时,其授权标头的值为“Bearer”。在互联网上搜索使我相信标头是在线程启动之前配置的,这可以解释“承载” 我的采样/分组/嵌套如下:
所有测试都通过以获取受限资源,但由于授权标头格式错误,因此失败并返回 400。
我觉得我错过了一些非常明显的东西,和/或以错误的方式解决这个问题。
HTTP 标头管理器作为需要授权的请求的子项
import org.apache.jmeter.protocol.http.control.Header;
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("BEARER")));
BEARER
变量构造完全动态的标头。
如何使用 BeanShell:JMeter 最喜欢的内置组件