jmeter 集合点+关联+参数化+自定义变量

集合点

连接集合点之前,我们先了解一下并发的概念。

  • 请求端的并发:同时发出去了多少请求
  • 服务端的并发:服务器在同一时刻接受到了多少请求
  • 请求端的并发  ≠  服务端的并发

了解完并发后,我们来看集合点,集合点就是为了来控制并发,在某个时间点设置集合点,来让用户同时并发访问

集合点就是定时器

同步定时器

做集合点之前,我们来做一个同步定时器,在添加->定时器->同步定时器。为什么我们要添加定时器,因为我们不添加定时器,那么所有用户都不在同一时间访问,那么我们就来做一个定时器,让用户能够像赛跑一样,随着枪声统一访问。这里的模拟用户组的数量不能超过demo03的线程数

首先让我们了解一下分组里面的选项的意思

  • 模拟用户组的数量:这里我选择的10
  • 超时时间:这里是以毫秒为单位,3000毫秒就是3秒
  • 这里的意思是收集3秒内用户访问的01或者01接口的数量。如果超过3秒则停止,如果达到设置的10也停止。

 那么我们来看一下结果,这里一开始就有10个用户访问了01,剩下的02分批次访问了,看的出,这里设置了定时器的集合点访问很有顺序。都是同事启动登录的

 然后我们来看禁用定时器的结果,很明显没有同时启动,有很大区别

关联

当我们要使用上一个请求的结果作为下一个请求的输入时,那我们就要用到关联了,关联一般有以下几个操作

  • 提取返回值
  • 引用返回值
  • 把cookie传给服务器

 第一步、我们先把登录,收藏的接口写好,添加后置处理器,信息头处理器,结果树。(这一步的cookie把它当做没有添加)

 第二步、然后我们就要用登录后token值传递给收藏,表示某个用户收藏了某种商品,这里我们就要添加一个正则表达式提取器。在添加->后置处理器->正则表示式提取器里面。这里的意思是登录后的token值存储在token1里面。其他都是固定写法

 第三步、应用token值,作为收藏鉴别用户的输入。然后这里就可以看见登录的结果token和收藏的请求token是一致的了

 

 第四步、关联cookie,来看我们最后一步的收藏的结果:权限错误,请先登录。这里我们token都关联正确了,为啥还是不能正常请求呢,原因其实在请求的时候已经说的很清楚了,没有cookie值,那么我们只要添加cookie就是,而且非常简单,就是添加cookie管理器(添加完事,啥也不用管)。在添加->配置原件->cookie管理器。然后就能正常显示了

 

 

参数化

参数化就是把我们平时使用的参数用变量来表示,这样直接从外部获取数据进行运行。这也是工作中常用的手段,比如我们要处理多用户登录,或并发购物时,那我们就得设置登录的账号密码从外部文档获取足够多的账号密码进行登录。这样也能模拟用户场景

  • 准备数据文件,并引用数据文件
  • 引用准备好的变量名

步骤一、csv引用数据文件,在添加->配置元件->scv数据文件设置下。然后添加我选中的3个红框。文件名我用的相对路径。而变量名称就是文本里面的格式,中间逗号分开。然后在引用准备好的变量,接下来运行,我们发现并发的数据都变成了不同的用户名。

 

 

 

自定义变量

添加自定义变量的话,就是在线程组下,或者测试计划下能公用的变量,就是对重复的东西给一个特定的变量,这样能够更有效率的管理用例,有点类似C语言的宏定义。方便了我们脚本的编写

第一步、添加自定义变量,在添加->配置原件->用户定义的变量。然后把你认为很重复的东西,都用变量去表示

 第二步、把重复数据替换成变量,当在线程组下时,只在线程组内有效,在线程组外,那就是所有线程组均有效

 

猜你喜欢

转载自www.cnblogs.com/cheneyboon/p/11879638.html