@@@@@@@@@@@@@@@

是金子早晚会被挖光的

  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保持的更多相关文章

  1. jmeter跨线程组传值

    在测试过程中,有时候需要jmeter跨线程组传值,jmeter本身又不具备此功能,那么,又该如何实现呢? 其实,我们可以通过BeanShell去实现. 实现过程如下: 1.线程组A中,使用正则表达式提 ...

  2. Jmeter 跨线程组传递参数 之两种方法

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  3. Jmeter 跨线程组传递参数 之两种方法(转)

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  4. Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都 ...

  5. Jmeter跨线程组传递参数

    Jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但有时候为了方便,可以把不同模块接口放在不同线程组,就涉及不同线程组传参问题,比如 ...

  6. 【柠檬班】史上最简单的Jmeter跨线程组取参数值的两种办法(不写代码)【原创】

    如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是jmeter的变量值不能跨线程组传递.   看,官方就已经给出了解释.这个不是jmeter的缺陷,这是jmeter ...

  7. 解决Jmeter跨线程组取参数值难题!(还没试)

    来源 https://mp.weixin.qq.com/s/q7ArxwnX1sOfa9tfHouSBQ 如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦.   那就是j ...

  8. Jmeter跨线程组传参

      我们知道,同一线程组中可以通过“正则表达式提取器”获取其中一个取样器的响应结果中的参数,直接传给线程组中的其他取样器.但其他线程组中的取样器也想使用同样的参数时,无法直接获取.举个例子: 提取“登 ...

  9. jmeter跨线程组传值和jmeter跨线程组调用

    Jmeter的线程组之间是独立的,用Jmeter做接口测试或者是性能测试时,经常会涉及到多个线程组.那么如何将A线程组返回的变量信息提取后,传递给B,C线程组使用呢?这里以已登录接口返回的access ...

随机推荐

  1. 2020年Web前端开发工程师市场怎么样?学会什么技术才能拿到高薪

    几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在.据统计,国外的前端开发人员和后端开发人员比例约1:1,但是在国内比例却在1:3以下, Web前端开发职位 ...

  2. Windows使用VNC远程连接Linux桌面系统

    sudo yum -y install tigervnc-server  #安装 su - your_user #切换用户 vncpasswd #设置密码 sudo cp /lib/systemd/s ...

  3. CentOS 的命令链接符“;”

    ";" 用于在一行中输入多个命令,执行顺序=输入顺序. For instance: $ ls -a;cd Music

  4. 控制shell终端提示符格式和颜色

    字体颜色值 (ASCII) 背景颜色值 (ASCII) 显示颜色 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 ...

  5. css获取除第一个之外的子元素

    在前端页面开发中,需要使用css来选择除了第一个之外的子元素,例如希望每个span之间能间隔一定的距离,单不能给每个span设置margin-left,这样会导致第一个span的前面有间距,影响排版. ...

  6. OldTrafford after 102 days

    THE RED GO MARCHING ON   One Team One Love Through the highs and the lows   One hundred and two long ...

  7. POJ1017贪心

    题意:小P开了一家淘宝店铺,店铺里所有的商品高度都为h,但长和宽分别为1*1,2*2,3*3,4*4,5*5,6*6六种规格.这一天来了一个大客户,他订购了很多物品.所以小P需要将东西都邮寄给他,但是 ...

  8. 12.Clear Flags属性与天空盒

    选中Hierarchy面板的摄像机,然后在右侧Inspector面板的Clear Flags属性可以找到有如下选项, SkyBox:天空盒(默认效果,让场景看着有一个天空) Solid Color:固 ...

  9. about 蛤蛤

    蛤蛤属于蛤蛤门(haha),蛤蛤纲(haha),蛤蛤亚纲(haha),蛤蛤目(haha),蛤蛤总科(haha),蛤蛤科(haha).

  10. C++敲代码前的准备工作

    #pragma GCC target("avx,sse2,sse3,sse4,popcnt") #pragma GCC optimize("O2,Ofast,inline ...