您的位置 首页 > 腾讯云社区

Groovy在JMeter中处理header---八音弦

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

用Groovy处理JMeter断言和日志用Groovy处理JMeter变量用Groovy在JMeter中执行命令行用Groovy处理JMeter中的请求参数用Groovy在JMeter中使用正则提取赋值JMeter吞吐量误差分析

上一期已经讲过了JMeter如何处理cookie,文章如下:

Groovy在JMeter中处理cookie

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

首先讲一讲HeaderManager的基本使用,添加header,获取header,修改header。

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

Groovy在JMeter中处理header

然后创建一个HTTP信息头管理器添加JSR223 预处理程序(后置处理程序需要下一次次请求)

脚本内容:

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-19 21:08:23,928 INFO o.a.j.e.StandardJMeterEngine: Running the test! 2020-03-19 21:08:23,929 INFO o.a.j.s.SampleEvent: List of sample_variables: [] 2020-03-19 21:08:23,930 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*) 2020-03-19 21:08:24,059 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 线程组 2020-03-19 21:08:24,059 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组. 2020-03-19 21:08:24,060 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error 2020-03-19 21: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-19 21:08:24,062 INFO o.a.j.t.ThreadGroup: Started thread group number 1 2020-03-19 21:08:24,062 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started 2020-03-19 21:08:24,062 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1 2020-03-19 21:08:24,101 INFO o.a.j.m.J.处理Header: -------Header : FunTester----------- FunTester 2020-03-19 21:08:24,102 INFO o.a.j.m.J.处理Header: -------Header : FunTester----------- FunTester039029309230 2020-03-19 21:08:24,271 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1 2020-03-19 21:08:24,271 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1 2020-03-19 21:08:24,271 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test 2020-03-19 21:08:24,271 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*) 查看结果树「郑重声明」:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。 ---来自腾讯云社区的---八音弦

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: