温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用JMeter如何实现并发压测下的只登录一次

发布时间:2020-07-05 01:34:34 来源:网络 阅读:854 作者:809316839 栏目:软件技术
  • 性能测试过程中经常有需要对案例进行大并发压测,但是只需要登录一次即可,jmeter自带了仅一次控制器,但此控制器只是针对单线程才有意义,多线程下,设置多少线程数还是会执行多少次
  • 1000并发用户下,系统还是会执行1000次登录,有10次登录失败,就会影响实际压测案例的结果,本文就介绍如何使用全局变量实现真正意义上的只执行一次登录

一、请求分析

  1. 本次需要对系统的一个查询操作做性能测试,首先使用谷歌浏览器登录系统,按F12进入调试页面,然后访问查询页面,下图为查询接口地址
    使用JMeter如何实现并发压测下的只登录一次
  2. 下图为该接口的信息头,由图可知,需要先登录获取Cookie,并且在查询请求信息头申明该Cookie即可实现查询操作
    使用JMeter如何实现并发压测下的只登录一次

二、脚本开发

  1. 本次需要先开发好登录脚本,由下图可知,MOD_AUTH_CAS变量会在登录1请求中的子请求(重定向)返回
    使用JMeter如何实现并发压测下的只登录一次
  2. 只需要在该请求下添加一个正则表达式提取器即可,如下图所示
    使用JMeter如何实现并发压测下的只登录一次
  3. MOD_AUTH_CAS变量提取成功,我们只需要在该请求后面使用beanshell申明该变量为全局变量即可,这样其它线程也能调用该变量
    使用JMeter如何实现并发压测下的只登录一次
  4. 在查询线程组下,申明信息头,并且定义cookie字段,值使用MOD_AUTH_CAS=${__P(Th_MOD_AUTH_CAS,)}进行调用,如下图所示
    使用JMeter如何实现并发压测下的只登录一次

三、多线程验证

  1. 首先设置线程组为2线程2循环,看是否能正常执行
    使用JMeter如何实现并发压测下的只登录一次
  2. 设置测试计划,测试计划勾选独立运行每个线程组,并且把登录线程组放置在最前面,这样系统就会先执行登录,在执行其它线程组
    使用JMeter如何实现并发压测下的只登录一次
  3. 执行脚本,如下图所示,系统只登录了一次,正常进行了4次查询,4次查询是2线程执行了2次循环
    使用JMeter如何实现并发压测下的只登录一次 使用JMeter如何实现并发压测下的只登录一次
  4. 本文介绍了登录使用Cookie鉴权如何实现一次登录,多并发下执行压测,如果系统调用了token,规则一样,只需要把token全局化即可实现

       如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制


QQ技术交流群:加群请输入验证信息 51cto
              使用JMeter如何实现并发压测下的只登录一次


微信二维码关注公众号:

            使用JMeter如何实现并发压测下的只登录一次


关注之后,回复资源下载,即可获取本人共享的各种资源下载地址
使用JMeter如何实现并发压测下的只登录一次

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI