jmeter 集合点/断言/关联
一、集合点
集合点:即添加同步定时器,目的是让各个线程(用户)步调一致,对系统进行加压
步骤:线程组---定时器---Synchronize timer
注意:
定时器对哪个请求进行集合点设置,就放在哪个请求的下面,定时器会默认先进行集合,再一并发请求!
模拟用户组的数量,不大于线程组包含的用户数
-
如线程组中的用户数是5个人,这里的参数设置是6,超时时间设置为0,运行时会一致等待集合到6个用户才会并发
-
如果设置参数是2,线程中的用户数是5,那就每集合2个用户并发一次,再集合2个,又并发一次。。。。。最后只剩一个,超时时间不设置的话,就会一直等
设置超时时间,到了时间还没等到,就释放集合的线程,直接发送测试请求
超时时间从什么时候开始计算?----线程组的5个用户,每集合2个用户为一组,第三组只有一个用户,从第二组结束开始计算,超时时间没有等到第三组的2个用户,就释放,直接发送测试请求
二、断言
1.响应断言
作用:对响应结果的内容进行匹配
在请求后添加断言及结果
-
断言-->响应断言
-
监听器-->断言结果
一般成功就会只显示一行,否则会多显示一行
2.断言持续时间
作用:对返回响应的时间进行判断
超过持续时间还没出现结果,则判断为断言失败
3.返回结果大小的断言
作用:对返回结果的大小进行判断
返回结果的大小是否符合断言设置的大小,是则表示成功,否则断言失败
4.Xpath断言
作用:针对返回信息为xpath的数据类型进行断言
三、关联
jmeter关联有两种方式:正则、xpath
1.正则表达式提取
设置:后置处理器-->正则表达式提取
引用名称:自定义设置
正则表达式:左边界+正则表达式+右边界 (左右边界要是唯一的)
模板:如果前面的正则表达式取了不止一个参数,则需要定制参数的组别。$1$表示取第1个值;$2$表示取第2个值....
匹配数字:0随机取正则匹配到的值、-1取所有正则匹配到的值、1取正则匹配到的第一个值
添加Debug Sampler,运行后可查看提取结果
后面接口用到该提取的值时,则添加参数:${引用名称} 举例获取登录后的token值,用到后面的接口中
扩展:正则表达式
百度 "在线正则表达式",在线验证
2.JSON PATH提取器
使用场景:json格式数据、字典格式数据 {‘key’:'value'}
如何获取json表达式:
设置json path 提取器
添加Debug Sampler,运行后可查看提取结果