栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

全干工程师神器 - Jmeter 06 - Jmeter后置处理器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全干工程师神器 - Jmeter 06 - Jmeter后置处理器

文章目录
    • Debug Postprocessor
    • 举例
    • 作用域示例
    • Json Extractor

后置处理器在Sampler运行后执行。

在测试过程中,经常需要从请求的响应数据汇总,找到某些参数,作为下一个请求的参 数,这时候需要用到后置处理器。

Debug Postprocessor

Debug PostProcessor(调试后置处理器)使用前面的采样属性的详细信息创建了一个子 样例,jmeter变量、属性和系统属性。

结果的值可以在监听器—观察结果树中查看返回值。




举例


作用域示例


  • 请求外(out Debug PostProcessor):

    • 所有请求对Debug PostProcessor都是上一个请求,可获取当前请求之前所有测试计划、 用户定义的变量、参数化变量、 请求产生的变量数据。但无法获取请求内的前、后置 处理器定义生成的变量;
  • 请求内(inner Debug PostProcessor):

    • 当前所属请求为其上一个请求,可获取当前线程之前所有测试计划、用户定义的变量、 参数化变量、 请求产生的变量数据,以及当前 请求产生的变量数据。
Json Extractor

获取Json格式响应数据的



$.error_code 、 $.result 、$.result.id

比如某一请求的返回值为:
{"statusCode":200,"data":{"userId":"4a2cbe616eb74f0d99190af072c8dea6","token":"37e7a9e198186f5a443e50e6138a5bd20bd"}}
这里因为返回的是json数据,$.data.token,获取token的值

但是有碰到一个坑
另外一个接口请求返回值为:
{"statusCode":200,"data":[{"code":"407949","id":"aa477ad2085d492a99b877d14343d68d","name":"90一中4545"}]}

同样,使用$.data.id去提取id的值时,发现获取到的数据为空

原来这个responses 的data为数组,故应为 $.data[0].id 提取第1个值

如下:



备注:
JSON中 data 是一个对象数组,data[0] 代表取的是第一个数组的对象,data[*] 代表取全部对象。

.id 取的是id的值 .name取的是name的值。

例如,返回值为:

{
:   "status":0,
:   "data":
:   {
:   :   "resources":
:   :   [
:   :   :   {
:   :   :   :   "id":1,
:   :   :   :   "name":"广告位"
:   :   :   },
:   :   :   {
:   :   :   :   "id":2,
:   :   :   :   "name":"优惠券"
:   :   :   },
:   :   :   {
:   :   :   :   "id":3,
:   :   :   :   "name":"实物赞助"
:   :   :   }
:   :   ],
:   :   "trades":
:   :   [
:   :   :   {
:   :   :   :   "id":546,
:   :   :   :   "tradeName":"IT/互联网"
:   :   :   },
:   :   :   {
:   :   :   :   "id":547,
:   :   :   :   "tradeName":"游戏/动漫"
:   :   :   },
:   :   ]
:	}
}

这里要分别取resources 和 trades 的所有id值,表达式可以写:$.data.trades[*].id 。(代表trades下所有子集中的id)



获取XML格式相应数据的
以“Jmeter_webservices.jmx”为例



APPly to:作用范围(返回内容的断言范围)
         Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
         Main sample only:仅作用于父节点的取样器
         Sub-samples only:仅作用于子节点的取样器
         JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称

XML Parsing Options:要解析的XML参数
         Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XML或XHTML格式(例如RSS返回),则取消选中;
         Quiet表示只显示需要的HTML页面,Report errors表示显示响应报错,Show warnings表示显示警告;
         
 Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
 
 Validate XML:根据页面元素模式进行检查解析;
 
 Ignore Whitespace:忽略空白内容;
 
 Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容;
 
Return entire XPath fragment of  text content:返回文本内容的整个XPath片段;

Reference Name:存放提取出的值的参数;

XPath Query:用于提取值的XPath表达式;

Default Value:参数的默认值;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286692.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号