Jmeter中正则关联的使用是可以提取动态变化数据进行传递:关联的方式和提取器有多种,这篇先讲解正则表达式怎么来关联(?)
在需要获取数据的http请求上添加后置处理器
比如提取百度title值:
正则表达式的写法:
说明:
(1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
(3)模板:用$$引用起来,$1$表示解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
给下个请求引用这个变量就可以了
正则表达式:主要就是:左边界(.*?)右边界,左右边界就是为了能准确定位到想匹配的内容,(.*?) 是替换了想要提取的内容
里面的'?'为非贪婪匹配,(非贪婪模式就是说在遇到第一个右边界后就停止匹配,这样就可以精确拿到想要的内容)
模板:对应正则表达式提取器类型,样式为:$n$,
若模板为:$0$,则为整个表达式匹配到的内容,就是包括小括号内跟小括号外的内容
若模板为:$1$,则对应正则表达式中的第一个(.*?)所匹配的内容,
若模板为:$2$,则对应正则表达式中的第二个(.*?)所匹配的内容,
若模板为$1$$2$,则把2个(.*?)所匹配的内容拼接起来,
匹配数字:正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。
当为 0 时,随机返回匹配的数据
当为 1 时,表示返回匹配结果数组的第一个元素。当为负数(-1,-2,-99都可以)时,表示返回全部元素,并且同时会返回一个元素总数的变量如sessid,在引用时:通过${sessid_1}的方式来取第1个匹配的内容,${sessid_2}来取第2个匹配的内容。
缺省值:匹配失败时的默认值。通常用于后续的逻辑判断
你们自己试试吧