Jmeter中正则关联的使用是可以提取动态变化数据进行传递:关联的方式和提取器有多种,这篇先讲解正则表达式怎么来关联(?)


在需要获取数据的http请求上添加后置处理器

iOS 链接正则 正则表达式连接_数据

 

比如提取百度title值:

iOS 链接正则 正则表达式连接_数组_02

正则表达式的写法:

iOS 链接正则 正则表达式连接_数组_03

 

说明:

  (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

  (2)正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。

    +:一次或多次。

    ?:不要太贪婪,在找到第一个匹配项后停止。

  (3)模板:用$$引用起来,$1$表示解析到的第1个值

  (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

  (5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

 

给下个请求引用这个变量就可以了

iOS 链接正则 正则表达式连接_正则表达式_04

正则表达式:主要就是:左边界(.*?)右边界,左右边界就是为了能准确定位到想匹配的内容,(.*?) 是替换了想要提取的内容

里面的'?'为非贪婪匹配,(非贪婪模式就是说在遇到第一个右边界后就停止匹配,这样就可以精确拿到想要的内容)

模板:对应正则表达式提取器类型,样式为:$n$,

若模板为:$0$,则为整个表达式匹配到的内容,就是包括小括号内跟小括号外的内容

若模板为:$1$,则对应正则表达式中的第一个(.*?)所匹配的内容,

若模板为:$2$,则对应正则表达式中的第二个(.*?)所匹配的内容,

若模板为$1$$2$,则把2个(.*?)所匹配的内容拼接起来,

匹配数字:正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。

当为 0 时,随机返回匹配的数据

当为 1 时,表示返回匹配结果数组的第一个元素。当为负数(-1,-2,-99都可以)时,表示返回全部元素,并且同时会返回一个元素总数的变量如sessid,在引用时:通过${sessid_1}的方式来取第1个匹配的内容,${sessid_2}来取第2个匹配的内容。

缺省值:匹配失败时的默认值。通常用于后续的逻辑判断

 

 

你们自己试试吧