Jmeter跨线程组共享cookie过程图解

一、Jmeter版本

此次示例采用的是apache-jmeter-5.2.1版本

二、设置配置文件使Cookie管理器保存cookie信息。

修改apache-jmeter-5.2.1/bin/jmeter.properties文件,把CookieManager.save.cookies设置为true,并去掉前面的注释#号,如下图所示:

修改完成后保存,退出,并重启jmeter。

三、在调试取样器和请求中查看具体的cookie信息

在线程组中添加HTTP Cookie 管理器,运行测试计划后,HTTP Cookie 管理器会自动存储这些cookie,变量名称为COOKIE_XXX,XXX对应的是cookie的名称,可以添加【调试取样器】来查看自动存储的cookie值,如下图所示:

下图中有两个cookie值分别为:COOKIE_z92_lastvisit何COOKIE_z92_visitor

这里要注意一下,有时候你会发现这里的cookie不全,所以比较保险的做法下,进入第一个请求中查看request body中的cookie值。如下图所示:下图中有三个cookie值分别为:z92_visitor和z92_lastvisit以及csrf_token三个值。这里比前者多了一个cookie值。

四、设置cookie为全局变量

在BeanShell后置处理程序中使用__setProperty()函数将COOKIE_XXXX设置为全局变量。如下图所示:

五、获取并存储Cookie

在HTTP Cookie管理器中通过__P()函数获取全局变量Cookie,并加入到Cookie管理器中。注意名称和在请求中的cookie名称保持一致。如下图的z92_visitor和z92_lastvisit以及csrf_token三个值。

六、调用登录接口测试验证cookie是否可以跨线程共享

(1) 同一个线程中调用登录接口:

结果如下:提示state为success,表示登录成功!

(2) 不同的线程中调用登录接口

结果如下:提示state为success,表示登录成功!

OK大功告成,线程1和线程2实现cookie共享成功!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python利用JMeter测试Tornado的多线程

    JMeter的简介   JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java 小服务程序.CGI 脚本.Java 对象.数据库.FTP 服务器, 等等.   JMeter的下载网址为:https://jmeter.apache.org/download_jmeter.cgi,下载前请先确定电脑中安装了Java,下载完毕后点击bin文件夹下的"meter

  • Jmeter连接数据库过程图解

    1.下载MySQL的jdbc驱动(mysql-connector-java-5.1.28.jar),将其放到 ...\apache-jmeter-3.3\lib\ 目录下 驱动下载地址:https://dev.mysql.com/downloads/connector/j/ 2.在测试计划下添加驱动地址 3.选择线程组-添加-配置原件-JDBC Connection Configuration 4.配置JDBC Connection Configuration Variable Name:该名称

  • Jmeter跨线程组传值调用实现图解

    Jmeter的线程组之间是独立的,用Jmeter做接口测试或者是性能测试时,经常会涉及到多个线程组.那么如何将A线程组返回的变量信息提取后,传递给B,C线程组使用呢?这里以已登录接口返回的access_token值为例,在这里我用了一个BeanShell后置处理器来结合使用,过程如下: 第一步:测试计划:必须勾选[独立运行每个线程组] ​ 第二步:登录接口返回access_token ​ 第三步:通过正则表达式提取器提取:access_token ​ 第四步:在BeanShell后置处理器中使用

  • Jmeter使用接口传递数据过程图解

    一. 1.提取响应结果中的"mobile_phone",作为下一个登录接口的账号信息 1)在当前接口下,添加-置处理器-正则表达式提取器 2)正则表达式处理器 说明: 后置处理器:在请求结束或者返回响应结果时发挥作用 APPly to:作用范围(返回内容的断言范围) Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器 Main sample only:仅作用于父节点的取样器 Sub-samples only:仅作用于子节点的取样器 JMet

  • 基于jmeter实现跨线程组传递token过程图解

    遇到一些综合场景的设置,每个不同的请求并发数设置不同的时候,可以用多个线程组的组合来实现,但是这个时候,会遇到一个问题,那就是jmeter各个线程组之间是相互独立的,各个线程互不影响,所以线程组A中输出的参数,无法直接在线程组B中调用. 拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余.此时我们就可以使用跨线程组传递参数来解决这样的问题. 接下来,我们看下这个例子: 要发送短信,必须要先登录,才能发送. 实现思路: 在登

  • Jmeter如何添加循环控制器

    这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 场景描述:批量数据创建 新建线程组->编辑请求信息POST,创建产品 将入参录入Body Data 添加用户定义的变量,将数据参数化${value},在请求入参中引用 循环控制器应该控制的是多次请求,生成批量产品数据,添加循环控制器,设置循环次数,为3次,请求循环3次 添加循环变量参数,此处为年级递增创建,目标为:5,6,7 如果需要创建不同类型的数

  • Jmeter线程组传参原理解析

    这篇文章主要介绍了jmeter线程组传参原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景介绍: 使用jmeter做登录和搜索接口的测试: 登录接口请求头为:Content-Type: application/x-www-form-urlencoded; charset=UTF-8 搜索接口请求头为:Content-Type: application/json; charset=UTF-8 同时,搜索的请求头中需要用到登录接口返回值中

  • Jmeter跨线程组共享cookie过程图解

    一.Jmeter版本 此次示例采用的是apache-jmeter-5.2.1版本 二.设置配置文件使Cookie管理器保存cookie信息. 修改apache-jmeter-5.2.1/bin/jmeter.properties文件,把CookieManager.save.cookies设置为true,并去掉前面的注释#号,如下图所示: ​ 修改完成后保存,退出,并重启jmeter. 三.在调试取样器和请求中查看具体的cookie信息 在线程组中添加HTTP Cookie 管理器,运行测试计划后

  • Jmeter生成UUID作为唯一标识符过程图解

    在测试过程中,我们有时候需要一个唯一不重复的值(比如order_id).我之前一直用的时间戳+计数器/随机函数拼接,但是有时候效果不太好,今天知道了UUID这玩意,可以来操作下.jmeter也提供了UUID函数,这里我参考百度写法用beanshell. 1.添加一个测试计划--线程组--BeanShellSampler import java.util.UUID; UUID uuid1 = UUID.randomUUID(); //获取UID的值 //把uuid中的'-'去掉,然后传给zichu

  • Jmeter配置代理实现录制过程图解

    1.谷歌浏览器配置管理 在代理服务器中,按上图进行设置,可以把localhost换成 127.0.0.1 ,端口换成你想设置的,但是不要与别的端口进行冲突,一般四位数的端口冲突比较少 2.Jmeter中配置代理 (1)添加线程组,在线程组里面添加HTTP Cookie管理器如下图所示 添加路径是:[线程组]右键--[添加]--[配置元件]-[HTTP Cookie管理器] (2)在线程组里面添加http请求默认值 添加路径:[线程组]右键--[添加]--[配置元件]-[HTTP请求默认值] 3.

  • PHP实现cookie跨域session共享的方法分析

    本文实例讲述了PHP实现cookie跨域session共享的方法.分享给大家供大家参考,具体如下: 做过web开发的小伙伴们都了解cookie和session,cookie是存储在客户端的,session是存储在服务器的. 本篇主要通过一些实践中的案例和大家分享一下踩到坑,重点说明了cookie跨域问题和session服务器共享问题,以php语言为使用语言进行说明. 先聊聊cookie 设置cookie无效 setcookie("sso", "e589hR6VnO8K1CNQ

  • 如何使用jmeter录制浏览器Https请求过程图解

    Jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书. 那么在jmeter上如何操作呢?且看下面的操作步骤 一.jmeter的代理服务器及证书配置 1.打开jmeter后,在工作台右键选择非测试元件,添加"HTTP代理服务器" 2.在线程组下面添加"录制控制器" 3.在"http代理服务器"界面,目标控制器选择,之前添加好的线程组:排除模式添加 .*\.(js|css|PNG|jpg|png|gif).* ,过滤掉

  • 详解Jmeter线程组的设置方法

    目录 一.事件背景 二.关于线程组的相关设置 一.事件背景 个人感觉自己做性能测试,可以说是轻车熟路了,而且工作多年一直都是这一套测试思路及体系,从未质疑过自己,也许是狮子座的迷之自信吧! 也就在上周让我对自己的测试方法及体系产生了质疑! 为什么?在性能测试的时候,压测500并发通过,人家40并发都过不去. 通俗点说,就是你测试没问题,在人家那测试出问题了,忽略脚本问题,显而易见因为测试方法差异导致测试结果的不同. 1.关于执行方法的差异 同事的做法是直接跑10分钟的稳定性测试,然后上并发数:

随机推荐