Jmeter之集合点与关联

Posted zzz紫川

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter之集合点与关联相关的知识,希望对你有一定的参考价值。

  在Jmeter中,实现类似于LoadRunner中集合点的方法是采用同步定时器(Synchronizing Timer),而实现类似于LoadRunner中关联的方法是采用正则表达式提取器。

 一、集合点

  访问百度,然后查看结果树,可以看到每个请求中的Sample Start(1s之内)都是一致的,验证同步定时器生效。(要看效果的,请求数设成100+。为何呢,了解一下“并发”的定义可能会更明白些)

注意同步定时器(Synchronizing Timer)要放在集合元件的前面

 

二、关联(Loadrunner中的关联)

   接口测试中,会有一种情况,下个接口的请求参数需要上级一个接口的返回数据,且是动态的。这种情况下怎么处理呢,就需要“关联”。

PS:哎,感觉这东西理解起来很简单,解释起来比较麻烦。不是很明白的看客,附上传送门:http://www.cnblogs.com/fnng/archive/2013/03/07/2945303.html

  举个例子,现在很多网站都需要先登录,才能执行一些其他操作(比如计算账单),即你在计算账单之前需要让系统知道你是登录状态。每个系统的校验机制可能都不同,具体问自家开发,我所负责的系统是token校验。

1、登录获取token

2、添加正则表达式(线程组-->右键添加-->后置处理器-->正则表达式提取器)

 

引用名称:下一个请求要引用的参数名称。填写token,则可以用${token}引用
正则表达式:()括起来的部分就是要提取的,其中:
        .匹配任何字符串
        +一次或多次
        ?再找到第一个匹配项后停止
模板:格式为$m$。可以理解为使用匹配到的第几个数据(可能会有多个匹配成功的数据,此时需要使用模板)。例如$1$就表示使用第一个正则表达式匹配成功的内容。如果是$1$2$,则表示把这两个正则表达式所匹配的内容拼接起来返回使用。
匹配数字:匹配数据的最终结果可以看做一个数组,匹配数字则可看做是数组的第几个元素。为0时,随机返回匹配的数据,为负数时,返回全部数据。为1时。表示返回匹配结果数组的第一个元素,用${token_1}引用,以此类推....
缺省值:如果没匹配到,默认给它一个值。一般用于后续的逻辑判断,定义为大写的英文字母,例如ERROR。

3、判断token是否取到(判断这个正则写的对不对)

  这个只是我个人使用的一个偏门方法。很简单,发送一个get请求,然后带上要引用的参数(这里是token),看请求的url即可。

4、计算账单

5、查看结果树

-----------------------------分割线---------------------------------

  关于Jmeter最最最基础的东西,我就写到这里了。因为我之前用过一段时间的Loadrunner,所以写的这些大部分都是模拟我用loadrunner时的一些操作,而不是Jmeter的全面介绍。如果路过的看客想对Jmeter相关的知识有个系统的学习或者较深入的了解,建议去翻翻官方文档吧,或者看看一些其他人的博客,比如老_张贺满等等。

  接下来,不知道还会不会继续深入学习Jmeter。公司下半年的任务是api自动化,从零开始,开始踩坑之路...

 

____两袖青蛇,剑开天门

以上是关于Jmeter之集合点与关联的主要内容,如果未能解决你的问题,请参考以下文章

[JM_06]JMeter之集合点、关联-操作解析

jmeter学习视频

Jmeter调试脚本之关联

jmeter之关联操作

jmeter接口关联之json提取器和正则提取器

10 jmeter之动态关联