正则表达式的主要功能:从请求的响应结果中取到需要的内容,作为下一个接口的入参从而实现关联。下面简单介绍一下Jmeter正则表达式提取器的使用方法。
参数释义
1) (.+?) 和 (.*?) 的区别
(.+?)匹配一个以上
(.*?)匹配零个及以上,要取的值是空值的时候可以取道
例如:labelld":""; 我现在要取labelld的值,使用 (.+?) 匹配不到值。
使用 (.*?) 则可以取到labelld的值为空,写法还是和以前一样: labelld":"(.*?)";
2)提取任意一个值
3) 正则表达式中有转义符(例如: \ ?),需要再转义一下:
例如: labelld\":\"2567\" 此处正则表达式写法参考下图
例如:id?labelld":"2567" 此处正册表达式的写法为: id\?labelld":"(.+?)"
例如:labelld":(2567), 此处表达式写法: labelld":\((.+?)\),
4)一个正则匹配两个参数
具体参数变量如何使用,可以查看 Debug Samper 中的变量名称
5) 从消息头(header)提取session
信息头截图
Debug Sampler 打印出来的变量值
6)换行使用 “/n”表示
要取到 S-Auth-RandomKey值
写正则表达式的时候 使用换行“/n” 结尾进行匹配