jmeter---解决同一线程组下不同http采样器使用不同请求头的问题
问题:
某个线程组M中包含一个信息头管理器1,和a、b、c、d等多个http取样器,这几个取样器共用一个信息头管理器1, 但当我再增加一个接口请求e时,发现此接口请求ed的请求头中的content-type 是需要application/x-www-form-urlencoded 类型的, 而信息头管理器1中定义的content-type 是application/json类型的。而我又希望能把e接口加到线程组M中。
解决方法:
之前添加信息头管理器时,都是和http取样器是同级或在 http取样器的上一级,今天发现可以对单独的某个http取样器添加信息头管理器,
如下图所示的脚本截图:脚本中含有1、2、3三个信息管理器,
管理器1在测试计划内部,和线程组同级,作用于所有线程组下的http取样器
管理器2在线程组内部,和http取样器同级,只作用于线程组内的所有http取样器
管理器3在http取样器内部,只作用于此http取样器
可以看到3个管理器都是enable状态,但只有最内层的管理器是生效的, 例如:对于“分区数据合并”这个http取样器,只有信息头管理器3是生效的。“创建分区”这个http取样器,只有信息头管理器2是生效的。
基于以上,我便可以同时跑线程组下的所有请求,而每个请求使用的信息头管理器就可以不一样了。