一、Jmeter后置处理器简介
1、后置处理器是在发出“取样器请求”之后执行一些操作。取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,
后置处理器就是来完成这项工作的。
2、系统登录成功以后我们需要获取SessionId,在后面的业务操作中服务器会验证这个SessionId,获取SessionId这个功能过程就可以用后置处理器中的正则表达式提取器来完成。
二、Jmeter后置处理器常见应用
1、json提取器
①参数说明和使用
Names of created variables :接收值的变量名,自定义,多个变量用分号分隔;
JSON Path expression: json path表达式,也是用分号分隔 ;
Match No.(0 for Random):0表示随机;n取第几个匹配值;-1匹配所有。若只要获取到匹配的第一个值,则填写1;
Compute concatenation var(suffix_ALL):如果找到许多结果,则插件将使用' , '分隔符将它们连接起来,并将其存储在名为<variable name> _ALL的var中;
Default Values: 缺省值,匹配不到值的时候取该值,可写error。
为了检查通过json提取器是否正常获取到值,可添加Debug PostProcessor来检查,注意正常跑用例时删除或禁用它。
②json 运算符表达式

③举例说明
{
"lemon": {
"teachers": [
{
"id": "101",
"name": "华华",
"addr": "湖南长沙",
"age": 25
},
{
"id": "102",
"name": "韬哥",
"age": 28
},
{
"id": "103",
"name": "Happy",
"addr": "广东深圳",
"age": 16
},
{
"id": "104",
"name": "歪歪",
"addr": "广东广州",
"age": 29
}
],
"salesmans": [
{
"id": "105",
"name": "毛毛",
"age": 17
},
{
"id": "106",
"name": "大树",
"age": 27
}
]
},
"avg": 25
}

2、边界提取器
①比较简单,根据左右边界提取响应内容作为变量使用
②参数说明
(1)Apply to:选Main sample only。
(2)要检查的响应字段:选主体。
(3)引用名称:提取出来参数引用的名称。
(4)提取值左边界 :例如:<title>。
(5)提取值右边界 :例如:</title>。
(6)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(7)缺省值:如果参数没有取得到值,那默认给一个值让它取。
3、Xpath提取器
① Xpath提取器,如果请求返回的消息为xml或html格式的,可以用XPath提取器来提取需要的数据。
②参数说明
XML Parsing Options:要解析的XML参数
UseTidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XML或XHTML格式(例如RSS返回),则取消选中;
Quiet表示只显示需要的HTML页面,
Report errors表示显示响应报错,
Show warnings表示显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容;
Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容;
Reference Name:存放提取出的值的参数。
Path Query:用于提取值的XPath表达式。语法参考:XPath
匹配数字:取第几个匹配结果,0随机,-1全部,1代表第一个,2代表第二个,....以此类推
Default Value:参数的默认值。
浙公网安备 33010602011771号