1. 使用JSON提取器
例:JSON体为:
{
"result": {
"logonSate": "xxx",
"loginId": "xxx",
"jwt": {
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9sk0pYvbH8LjAPucWEGgZDhw",
"token_type": "xxx",
"expires_in": xxx
},
"userName": "xxx",
},
"timeStamp": "2021-08-13 13:40:07",
"code": "0",
"message": "登录成功"
}
1)JSON提取说明
$表示根元素
.为绝对路径
..为相对路径
使用.一级一级找{}的每个元素名
例:
取access_token的值------$.result.jwt.access_token
取code的值--------$.code
取loginId的值------$..loginId 或 $.result.loginId
2)jmeter中JSON语法验证
使用查看结果树中的JSON Path Tester可验证输入的JSON语法是否正确取出元素值
3)添加JSON提取器
登录接口添加后置处理器---JSON提取器
4)JSON提取器提取元素
① 仅提取一个元素值
② 提取多个元素值
2. 使用正则表达式提取器
例:JSON体为:
{
"result": {
"logonSate": "xxx",
"loginId": "xxx",
"jwt": {
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9sk0pYvbH8LjAPucWEGgZDhw",
"token_type": "xxx",
"expires_in": xxx
},
"userName": "xxx",
},
"timeStamp": "2021-08-13 13:40:07",
"code": "0",
"message": "登录成功"
}
1)正则表达式提取说明
元素名:(.*?) 可提取任意类型
元素名:(.+?) 可提取任意类型
元素名:(\d+) 仅可提取数字
例:
取access_token的值------"access_token":(.*?)
取code的值--------"code":(.*?) 或 "code":(\d+)
2)jmeter中正则表达式语法验证
使用查看结果树中的RegExp Tester可验证输入的JSON语法是否正确取出元素值
3)添加正则表达式提取器
登录接口添加后置处理器---正则表达式提取器