Jmeter-
几种在响应报文中抽取数据的方法
为了完成一个用例中的业务逻辑,时常需要通过在上一
个请求的响应报文中抽取相关的数据,从而将其应用在下一
个或以后的请求中,从而实现一系列完整的流程。
1.
使用
JSON Path Assertion
添加一个
JSON Path Assertion
:
右键一个
sampler
→添加→断言→
JSON Path Assertion
例如,请求注册
的相应报文为
:Destination Variable Name
中填入后续引用该
响应报文中的参数值的参数名,
JSONPath Expression
中填入
想要抽取的
JSON
格式的响应报文中的对应参数名,
Default
Value
中填入当抽取失败时候的响应值。
2.
使用
BeanShell Post
Processor
添加一个
BeanShell Post Processor
:添加→后置处
理器→
BeanShell Post Processor
通过
getJSONobject
获取响应
报文的数据,
通过
getJSONArray
获取列表中
key=email
的值,
再通过内置对象
vars.put
将其赋给
emailName
参数。从下一
个请求的请求结果可以测出
emailName
的值是否传成功
3.
利用正则表达式提取器添加正则表达式提取器:添加→后置
处理器→正则表达式处理器引用名称为后续引用该响应报
文中的参数值的参数名;正则表达式为提取内容的正则表达
式;模板:用
$$
引用起来,如果在正则表达式中有多个提取
表达式,则可以是
$1$
,
$2$
等等,表示解析到的第几个值给
emailName
,正则表达式的提取模式,值从
1
开始,值
0
对