jmeter跨线程组session保持
@@@@@@@@@@@@@@@
是金子早晚会被挖光的
http请求由于无状态的特性,所以在请求时需要带上身份信息,关于session和cookie的验证机制会在其他笔记中再记录,这里不讨论。
心路历程
在实际过程中,我往往把一个业务模块放在一个线程组,登录就独立在一个线程组了,那其他线程组如果想拥有cookie,就需要每个线程组都写一个登录请求。单个接口不会有太大影响,但是当线程组多了以后,这么做首先不方便脚本管理,其次如果有性能需求,也没办法测试。我如果可以让其他线程组共享登录线程组的cookie,那就方便多了,于是就学习了以下方法
思路
在登录线程组中提取出登录后的cookie值,声明一个全局变量,将取到的cookie值放入全局变量中,这样在其他线程组需要用到的cookie的时候调用这个变量的值,如此就实现了cookie值在多个线程组之间的传递
步骤
两个易错:1 正则表达式一定要写正确,注意空格之类的。2记得勾选测试计划的独立运行每个线程组。
1 在登录请求中添加后置处理器:正则表达式提取器

2 正则表达式提取cookie值。ps(如果此步有疑问请阅读随笔 jmeter之正则表达式提取器使用)

3 声明一个全局变量,变量的值为提取到的cookie值(此步骤有疑问的请阅读 jmeter之变量的使用)


4 在其他要用到cookie的线程组中添加“HTTP信息头管理器”

5设置cookie的值为步骤3设置的变量值

最后执行线程组,就发现其他模块线程组的请求也可以用到登录接口返回的cookie值了。
注意如果小伙伴运行后发现不对,需要去测试计划中勾选独立运行每个线程组就可以了

总结
用多线程共享cookie(session保持)的方式是一门测试必备技能,如果只是随便测一下就算了,如果要系统性的展开自动化和性能测试,那么session保持会是一个很重要的概念,不管是从代码管理角度,还是从性能分析角度。其核心技术点就是正则表达式的提取以及全局变量的传递。仔细分析流程,理解cookie的值在执行过程中的详细调用过程,才可以更轻松更透彻理解自动化测试。
-- 以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正
jmeter跨线程组session保持的更多相关文章
- jmeter跨线程组传值
在测试过程中,有时候需要jmeter跨线程组传值,jmeter本身又不具备此功能,那么,又该如何实现呢? 其实,我们可以通过BeanShell去实现. 实现过程如下: 1.线程组A中,使用正则表达式提 ...
- Jmeter 跨线程组传递参数 之两种方法
终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...
- Jmeter 跨线程组传递参数 之两种方法(转)
终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...
- Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都 ...
- Jmeter跨线程组传递参数
Jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但有时候为了方便,可以把不同模块接口放在不同线程组,就涉及不同线程组传参问题,比如 ...
- 【柠檬班】史上最简单的Jmeter跨线程组取参数值的两种办法(不写代码)【原创】
如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是jmeter的变量值不能跨线程组传递. 看,官方就已经给出了解释.这个不是jmeter的缺陷,这是jmeter ...
- 解决Jmeter跨线程组取参数值难题!(还没试)
来源 https://mp.weixin.qq.com/s/q7ArxwnX1sOfa9tfHouSBQ 如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦. 那就是j ...
- Jmeter跨线程组传参
我们知道,同一线程组中可以通过“正则表达式提取器”获取其中一个取样器的响应结果中的参数,直接传给线程组中的其他取样器.但其他线程组中的取样器也想使用同样的参数时,无法直接获取.举个例子: 提取“登 ...
- jmeter跨线程组传值和jmeter跨线程组调用
Jmeter的线程组之间是独立的,用Jmeter做接口测试或者是性能测试时,经常会涉及到多个线程组.那么如何将A线程组返回的变量信息提取后,传递给B,C线程组使用呢?这里以已登录接口返回的access ...
随机推荐
- Python之浅谈运算符
目录 格式化输出的三种方式 第一种格式化方式(3.0) 第二种格式化方式(3.4) 第三种格式化方式(3.6) 基本运算符 逻辑运算符 相等运算符 比较运算符 算术运算符 位运算符 流程控制 if判断 ...
- 二.4vue展示用户数据及用户组操作以及给用户组添加额外字段
一.用户列表 1.新建(1)views/users/index.vue: <template> <div class="user-list-container"& ...
- JavaScript之原型模式
JavaScript中有这样的一个概念,对象. 有不少人觉得Java这么语言才是面向对象的语言,JavaScript哪里面向对象了. 其实说JavaScript面向对象还不如说JavaScript基于 ...
- Qt-绘图
1 简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=37 参考文档:<Qt教程.docx> 本文简单介绍Qt的绘图与绘图设备. ...
- 组合 a 标签与 canvas 实现图片资源的安全下载的方法与技巧
普通用户下载图片时只需一个「右键另存为」操作即可完成,但当我们做在线编辑器.整个 UI 都被自定义实现时,如何解决不同域问题并实现页面中图片资源的安全下载呢?本文就解决该问题过程中所涉及的正则表达式. ...
- LeetCode题解【题2】:两数相加
原题链接:https://leetcode-cn.com/problems/add-two-numbers/ 查看请另起链接打开. 解题思路执行用时 :2 ms, 在所有 Java 提交中击败了99. ...
- P2034 选择数字——线性dp(单调队列优化)
选择数字 题目描述 给定一行 \(n\) 个非负整数 \(a[1]...a[n]\) .现在你可以选择其中若干个数,但不能有超过 \(k\) 个连续的数字被选择.你的任务是使得选出的数字的和最大. 输 ...
- POJ3057 Evacuation 二分图匹配+最短路
POJ3057 Evacuation 二分图匹配+最短路 题目描述 Fires can be disastrous, especially when a fire breaks out in a ro ...
- 蓝桥杯大学B组省赛2020模拟赛(一)题解与总结
题目链接:https://www.jisuanke.com/contest/6516 A:题目: 我们称一个数是质数,而且数位中出现了 5 的数字是有趣的. 例如 5, 59, 457.求1到1000 ...
- 清空网站浏览记录就行啦?看Python如何实时监控网站浏览记录
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 需求: (1) 获取你对象chrome前一天的浏览记录中的所有网址(url ...