首页 > 代码库 > Jmeter中的关联(正则表达式+json)-空谷幽兰

Jmeter中的关联(正则表达式+json)-空谷幽兰

1、什么是关联?

关联即将服务器返回的动态变化的值保存为一个参数,以便后续接口使用;

2、jmeter中的关联方法

(1)正则表达式

我们现在要用正则表达式取id为1,然后作为下一个请求的入参;

 技术分享

技术分享

正则表达式的写法:"id": (.*), "age": 18

下一个请求入参是:${id},看一下返回结果

技术分享

成功取到id为1

 

附常用元字符:

代码           说明
.             匹配除换行符以外的任意字符
\w             匹配字母或数字或下划线或汉字
\s             匹配任意的空白符
\d             匹配数字
\b             匹配单词的开始或结束
^             匹配行的开始
$             匹配行的结束

常用反义元字符
代码   说明
\W       匹配任意不是字母,数字,下划线,汉字的字符
\S        匹配任意不是空白符的字符
\D      匹配任意非数字的字符
\B        匹配不是单词开头或结束的位置
[^x]       匹配除了x以外的任意字符
[^aeiou]   匹配除了aeiou这几个字母以外的任意字符


常用重复限定符
代码       说明
*         重复零次或更多次
+         重复一次或更多次
?         重复零次或一次
{n}       重复n次
{n,}        重复n次或更多次
{n,m}       重复n到m次

 

(2)json path extractor插件

注:jmeter 3.0可以安装此插件,2.0版本可以安装此插件,但是不生效,所以想使用该插件的话还是安装3.0版本及以上的jmeter;

jmeter官方有一个 json path extractor的插件,下载地址:http://jmeter-plugins.org/wiki/JSONPathExtractor/

技术分享

 

 点击下方的Download,出现N多版本的选择,这里我们选择2.6版本

 技术分享

2.6版本下载成功后的压缩包

技术分享

下载成功后解压;

然后把jpgc-json-2.6下lib文件夹下的jmeter-plugins-cmn-jmeter-0.3.jar放到jmeter的安装地址下的lib文件夹下

 技术分享

技术分享

 

 

然后把下载好的lib-ext下的两个文件 放到jmeter安装路径下的lib-ext下

 技术分享

 

 技术分享

技术分享

 

jmeter开始使用插件

 技术分享

简单例子:

技术分享

技术分享

技术分享

 

 技术分享

 

 

复杂例子:

 技术分享

 driver_switch_schedule_id在data这个列表里面存着,取第一个driver_switch_schedule_id,那就要先取到result里面的值,再取data里面的数据,再取到data里的第一个元素。

 

技术分享

$.result.data[0].driver_switch_schedule_id

 技术分享

技术分享

 

Jmeter中的关联(正则表达式+json)-空谷幽兰