前言
正则表达式提取参数,在正常Jmeter接口测试的时候应用非常广泛,比如获取token,作为其他(下一个)接口调用的参数传递等等~~~~很多场景用到,希望这边文章对大家有所帮助....................
热身
说到正则表达式提取参数,估计很多朋友正则表达估计忘记差不多了,在这里简单复习一下正则表达式简单用法(Jmeter用的比较频繁):
| ( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 |
| * | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 |
| + | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 |
| . | 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。 |
| $ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。 |
| ? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 |
正则表达式提取http返回结果,作为http请求参数
在http请求头右击添加正则表达式提取器如下图所示:
编写正则表达提取规则
备注:
1、引用名称:下一个请求要引用的参数名称,如填写title,则可用${test}引用它。
2、模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给test。如:$1$表示解析到的第1个值
3、匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
4、缺省值:如果参数没有取得到值,那默认给一个值让它取。
在http请求中test作为请求参数使用如下图所示:
之后运行即可~~~~~