博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jmeter之集合点与关联
阅读量:5164 次
发布时间:2019-06-13

本文共 1384 字,大约阅读时间需要 4 分钟。

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

 一、集合点

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

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

 

二、关联(Loadrunner中的关联)

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

PS:哎,感觉这东西理解起来很简单,解释起来比较麻烦。不是很明白的看客,附上传送门:。

  举个例子,现在很多网站都需要先登录,才能执行一些其他操作(比如计算账单),即你在计算账单之前需要让系统知道你是登录状态。每个系统的校验机制可能都不同,具体问自家开发,我所负责的系统是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自动化,从零开始,开始踩坑之路...

 

____两袖青蛇,剑开天门

转载于:https://www.cnblogs.com/zichuan/p/6938783.html

你可能感兴趣的文章
树状数组模板
查看>>
2019-09-23
查看>>
周易八卦——数字卦预测的程序实现
查看>>
数据库取出的date类型数据在jsp页面格式化
查看>>
Python MySQL OperationalError: (1054, "Unknown column 'XX' in 'where clause'")
查看>>
IP协议
查看>>
redux、immutablejs和mobx性能对比(一)
查看>>
Java IO Demo
查看>>
winform time.AddMinutes 时间相加
查看>>
无限级菜单的实现
查看>>
android脚步---使用framelayout实现霓虹灯效果
查看>>
Configuration.ConfigurationSettings.AppSettings已过时
查看>>
Mac中的快捷键
查看>>
lua C++ wrapper
查看>>
awk 对简单文本处理试水
查看>>
react.js 多个组件集成示例
查看>>
用户故事驱动的敏捷开发 – 2. 创建backlog
查看>>
NLTK-Chapter8.4中符合语句规则的字串表-动态规划算法的解释
查看>>
AQS(AbstractQueuedSynchronizer)
查看>>
Ubuntu boot空间不足解决方法
查看>>