jmeter吞吐量_Groovy在JMeter中处理cookie

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

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

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

首先讲一讲CookieManager的基本使用,添加cookie,获取cookie,修改cookie

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

bdd0523255565a1afdfd18ef6406a42d.png
  • 然后创建一个HTTP Cookie管理器

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

9081815da668eb843c26ae1795a3263e.png

脚本内容:

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

//Get cookie manager
import org.apache.jmeter.protocol.http.control.*

CookieManager cm = sampler.getCookieManager()
def a = new Cookie("FunTester", "FunTester323323", "account.cnblogs.com", "/", false, 1557598515)
cm.add(a)
Cookie c = cm.get(0)
log.info("-------Cookies : " + c.getName() + "----------- " + c.getValue())
c.setValue("FunTester")
log.info("-------Cookies : " + c.getName() + "----------- " + c.getValue())

这里注意一点,cookie有一个空参的构造方法,经过我验证,只设置namevalue是不能被正确携带到请求里面去,必需把domianpath以及后面两个鬼参数都设置。

  • 控制台输出:
2020-03-19 21:04:35,634 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-03-19 21:04:35,635 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-03-19 21:04:35,636 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-03-19 21:04:35,949 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 线程组
2020-03-19 21:04:35,949 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组.
2020-03-19 21:04:35,949 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-03-19 21:04:35,950 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:04:35,950 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-03-19 21:04:35,950 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-03-19 21:04:35,951 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2020-03-19 21:04:36,026 INFO o.a.j.m.J.处理cookie: -------Cookies : fds----------- 32423
2020-03-19 21:04:36,026 INFO o.a.j.m.J.处理cookie: -------Cookies : fds----------- FunTester
2020-03-19 21:04:36,302 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1
2020-03-19 21:04:36,302 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2020-03-19 21:04:36,303 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-03-19 21:04:36,303 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)

  • 查看结果树

21627f95c9d6b5cb3a6cef2a6e4470fc.png

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

技术类文章精选

  • Linux性能监控软件netdata中文汉化版
  • 性能测试框架第三版
  • 如何在Linux命令行界面愉快进行性能测试
  • 图解HTTP脑图
  • 性能测试中图形化输出测试数据
  • 压测中测量异步写入接口的延迟
  • 多种登录方式定量性能测试方案
  • JMeter吞吐量误差分析

无代码文章精选

  • 写给所有人的编程思维
  • JSON基础
  • 2020年Tester自我提升
  • 自动化新手要避免的坑(上)
  • 自动化新手要避免的坑(下)
  • 如何成为全栈自动化工程师
  • 左移测试
  • 选择手动测试还是自动化测试?
  • 自动化测试项目为何失败
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值