分享

Jmeter-几种在响应报文中抽取数据的方法

 daijingwen0 2018-03-21

       为了完成一个用例中的业务逻辑,时常需要通过在上一个请求的响应报文中抽取相关的数据,从而将其应用在下一个或以后的请求中,从而实现一系列完整的流程。

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对应的是整个匹配的表达式;匹配数字(0代表随机):0代表随机,-1代表所有;缺省值:抽取数据失败时候的响应值。

4.使用JSON Content Extractor 

添加一个JSON Content Extractor:添加→后置处理器→JSON Content Extractor

产生的变量名称:后续引用该响应报文中的参数值的参数名;JSON数组路径描述:$.email表示在JSON数组中的的key=email的变量;目标值key为需要提取的数据名称;其他匹配值需要输入响应报文中其他的数据;变量默认值为当变量没有获取到时返回的值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多