6.2 后置处理器/提取器 1 正则表达式提取器 正则表达式提取器,由正则表达式来得到所需要的内容。通过右键点击菜单,选择“添加->后置处理器->正则表达式提取器”而获得。其界面如图33所示。
图33 正则表达式提取器
Ø Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器。 Ø Main sample only:仅作用于主节点的取样器。 Ø Sub-samples only:仅作用于子节点的取样器。 Ø JMeter Variable:作用于JMeter变量(输入框内可输入JMeter的变量名称),从指定变量值中提取需要的值。注意输入的是变量名(var),而不是变量值(${var})。
Ø 主体:响应报文的主体,这个选项最为常用。 Ø Body(unescaped):主体,是替换了所有的HTML转义符的响应主体内容,注意HTML转义符在处理的时候不考虑上下文,因此可能有不正确的转换,所以不太建议使用。 Ø Body as a Document:从不同类型的文件中提取文本,注意这个选项会影响性能,也不太建议使用。 Ø 信息头:响应报文的信息头(英文Response Headers,中文翻译有误)。 Ø Request Headers:请求报文的信息头。 Ø URL:请求的URL。 Ø 响应代码:响应的状态码,比如200、404、403等。 Ø 响应信息:响应短语。
Ø 0:表示随机(默认值); Ø负数:表示提取所有结果,它们将被命名为<变量名>_N(其中N从1到结果数);
Ø N:表示提取第N个结果。如果此N大于匹配数量,则不返回任何内容。将使用默认值。
结合第3.2-1节和第4.2节,可以看到,如果正则表达式中参数仅m个参数(m为大于1的整数),引用名称为var。
我们可以通过{var}、{var _n}、{var_n_g}、{var_n_g0}、{var_n_g1}、hellip;. 、{var_n_gm}、${name_matchNr}来获得这些值。
2 边界提取器 边界提取器,由左右边界来得到所需要的内容。通过右键点击菜单,选择“添加->后置处理器->正则表达式提取器”而获得。其界面如图34所示。
图34 边界提取器
其参数的表示方法与正则表达式提取器也是相似的。如果边界提取器来提取的,均可以用正则表达式提取器来获取,反之则不行。