发现JMeter系列写了不少文章,干脆整个全套的,把剩下的Demo也发一下

上一期已经讲过了JMeter如何处理​​cookie​

这里先重复一个事实,​​cookie​​只是HTTP请求​​header​​里面的一个字段,但是在JMeter里面是分开处理的,​​HTTP信息头管理器​​和​​HTTP Cookie管理器​​完全就是两个对象,分工不重复,在源码里面使用的是​​HeaderManager​​和​​CookieManager​​两个类。首先讲一讲​​HeaderManager​​的基本使用,添加​​header​​,获取​​header​​,修改​​header​​。

  • 首先新建一个简单的线程组和一个简单的请求:

Groovy在JMeter中处理header

  • 然后创建一个HTTP信息头管理器

Groovy在JMeter中处理header_linux

  • 添加JSR223 预处理程序(后置处理程序需要下一次次请求)

Groovy在JMeter中处理header_公众号_02

脚本内容:

import org.apache.jmeter.protocol.http.control.*

def manager = sampler.getHeaderManager()
manager.add(new Header("FunTester","FunTester"))
def h = manager.get(0)
log.info("-------Header : " + h.getName() + "----------- " + h.getValue())
h.setValue("FunTester039029309230")
log.info("-------Header : " + h.getName() + "----------- " + h.getValue())```

* 控制台输出:

```Java
2020-03-1921:08:23,928 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-03-1921:08:23,929 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-03-1921:08:23,930 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-03-1921:08:24,059 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup:1 : 线程组
2020-03-1921:08:24,059 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组.
2020-03-1921:08:24,060 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-03-1921:08:24,061 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=0 perThread=0.0 delayedStart=false
2020-03-1921:08:24,062 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-03-1921:08:24,062 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-03-1921:08:24,062 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2020-03-1921:08:24,101 INFO o.a.j.m.J.处理Header: -------Header : FunTester----------- FunTester
2020-03-1921:08:24,102 INFO o.a.j.m.J.处理Header: -------Header : FunTester----------- FunTester039029309230
2020-03-1921:08:24,271 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1
2020-03-1921:08:24,271 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2020-03-1921:08:24,271 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-03-1921:08:24,271 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
  • 查看结果树

Groovy在JMeter中处理header_公众号_03


  • 「郑重声明」:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。

技术类文章精选

无代码文章精选

Groovy在JMeter中处理header_linux_04