资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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

  • 性能测试过程中经常有需要对案例进行大并发压测,但是只需要登录一次即可,jmeter自带了仅一次控制器,但此控制器只是针对单线程才有意义,多线程下,设置多少线程数还是会执行多少次
  • 1000并发用户下,系统还是会执行1000次登录,有10次登录失败,就会影响实际压测案例的结果,本文就介绍如何使用全局变量实现真正意义上的只执行一次登录

一、请求分析

创新互联长期为近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全局化即可实现

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


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


新闻标题:使用JMeter如何实现并发压测下的只登录一次
网页地址:http://cdkjz.cn/article/ipespd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220