Jmeter工具使用--Regular Expression Extractor

正则表达式,常用具有特殊含义的字符:
(和):界定期望获取字符串的匹配模式
.(字符点):匹配任何单个字符
+:一次或者多次
?:找到匹配的结果后立刻停止查找
\:转义字符
[ ]:匹配符合[]内的字符
[0-9]:匹配所有数字字符
[a-z]:匹配所有小写字母字符
[^0-9]:匹配所有非数字字符
[^a-z]:匹配所有非小写字母字符
^:匹配字符开头的字符
$:匹配字符结尾的字符

  • 比如我这里请求访问百度个人中心
  • 添加正则表达式获取session:Thread Group--Add--Post Processors--Regular Expression Extractor
  • 配置Regular Expression Extractor,Regular Expression字段可以配置为:PHPSESSID=(.+);或PHPSESSID=(.+?);PHPSESSID=([a-z0-9]+);
APPly to:作用范围:
1、Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器
2、Main sample only:仅作用于主节点的取样器
3、Sub-samples only:仅作用于子节点的取样器
4、JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。
Field to check:要检查的响应报文的范围:
1、主体:响应报文的主体,最常用
2、Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
3、Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能
4、Response Headers:响应信息头(如果你使用的是中文版的Jmeter,会看到这一项是信息头,这是中文翻译问题,应以英文为准)
5、Request Headers:请求信息头,提取session时可以用到
6、URL:请求url
7、Response Code:响应状态码,比如200、404等
8、Response Message:响应信息
Name of created varialies:即下一个请求要引用的参数名称,如填写access_token,则可用 ${access_token}引用它。
Regular Expression:使用正则表达式解析响应结果,()括号表示提取字符串中的部分值,前后是提取的边界内容。
Template:正则表达式的提取模式,如果正则表达式有多个提取结果(一个正则可以同时获取多个数值),则结果是数组形式,模板$1$,$2$等等,表示把解析到的第几个值赋给变量;从1开始匹配,以此类推,$0$标识全文匹配。若只有一个结果,则只能是$1$;
Match No:匹配时往往出现匹配结果为多个值的情况,正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值,可以与 For Each Controller 一起用来遍历。
Default Value:缺省值,匹配失败时候的默认填写值。

session_g=1 :表示匹配到的次数
session_g0:返回Regular Expression所有内容
session_g1:匹配到第一个的值,当获取到了多个值时会有session_g2,以此类推
下面接口如果想用多个值,则引用 ${session_g1}.......以此类推

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章