前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeter+loadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过了loadrunner,占了51%。

除了做性能,jmeter也可以做自动化测试,比如jmeter + ant + jenkins的自动化测试框架(​),jmeter还可以做接口功能测试,所以,jmeter应该是每个测试工程师的必备技能。

这里,我们着重讲解jmeter的关联,什么是关联?将服务器提供动态变化的值存放在变量中,当需要使用该变量时,自动从服务器响应的信息中获取该值,并在后面使用的过程中进行替换。(也可能是前端页面动态生成的值)

jmeter关联的方式比较多,这里介绍5种方式,总有一种让你喜欢。 如果想了解loadrunner关联的,可以参考LoadRunner【第五篇】关联:​

脚本准备

这里,我们用dummy取样器来模拟服务器的返回,通过关联获取name的值,然后百度搜索这个name的值,这就我们就简单模拟了请求间的依赖关系。

添加dummy取样器

JMeter【第五篇】关联:jmeter关联的5种方式_搜索

设置返回内容

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_02

搜索的关键字是上一个请求返回的name值

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_03

打印获取到的name的值

JMeter【第五篇】关联:jmeter关联的5种方式_百度_04

调试的取样器

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_05

方法一:正则表达式提取器

正则.*?,参考:​

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_06

关联获取到的值

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_07

百度搜索结果

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_08

方法二:jp@gc - JSON Path Extractor提取器

安装插件

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_09

$表示接口的返回值,如果取字典key的value,用点号,如果是取列表的某个值,用索引

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_10

关联获取到的值

JMeter【第五篇】关联:jmeter关联的5种方式_百度_11

百度搜索结果(略)

方式三:Json Extractor提取器

和方法二类似,$表示接口的返回值,如果取字典key的value,用点号,如果是取列表的某个值,用索引

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_12

关联获取到的值

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_13

百度搜索结果(略)

方式四:边界提取器

这个和loadrunner中的关联很像,通过左右边界来取值,​

JMeter【第五篇】关联:jmeter关联的5种方式_百度_14

关联获取到的值

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_15

百度搜索结果(略)

方式五:beanshell后置处理器

写beanshell脚本,解析json字符串。

这里要用到fastjson,jar包下载地址:​​https://mvnrepository.com/artifact/com.alibaba/fastjson​

下载后,把jar包放到D:\apache-jmeter-5.1.1\lib\ext下,然后重启jmeter即可

JMeter【第五篇】关联:jmeter关联的5种方式_javascript_16

然后重启jmeter即可

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_17

fastjson解析json字符串

JMeter【第五篇】关联:jmeter关联的5种方式_搜索_18

百度搜索结果(略)

至此,5种方式都准确的获取到了需要关联的值。


============================= 提升自己 ==========================

如有侵权,请联系删除。

============================= 升职加薪 ==========================