Jmeter- 笔记5 - 从响应数据提取信息


JSON提取器 提取 响应体(response body)里的信息

 

在需要提取数据的请求下添加 JSON提取器,一个JSON提取器可以写多个json提取器

路径:后置处理器 -> JSON提取器

 

 

 

1.Names of created variables:自定义变量名,用于存放提取的数据。多个变量时用分号分隔。

2.JSON Path expressions:json路径表达式,有多个表达式时用分号分隔。

  绝对路径:$.节点名称(复杂的:$.一级节点.二级节点.***.要提取的节点。如提取返回数据中key为code的数据,表达式为 $.code。

  相对路径:$..提取节点key。同级不同级但相同key值都被提取

  绝对路径和相对路径在获取多个值时的区别:用绝对路径获取的多个值,变量名都一样(自定义那个);同相对路径获取的多个值,每个值都有一个变量名,变量名为 自定义的那个_下标,如返回3个值,自定义变量名为rspcode,那么三个值的变量名为rspcode_1, rspcode_2,rspcode_3。调用时需要哪个值可以用 ${rspcode_?}

3.Match No. (0 for Random):必填。0为随机取一个值,-1为提取所有值,其他正整数(n)为提取第n个值。有多个表达式时,用分号隔开

4.Compute concatenation var

5.Default Values:提取值为空时,返回这个设定的默认值。当Json表达式有两个及以上时,这个字段必填,有多少个表达式就要有多少个default value,用分号分隔

 

关联

从前面的取样器中,提取信息,用于后续接口的输入参数

**********************************************************************************************

token在响应体信息里

cookie在响应头信息里

**********************************************************************************************

正则表达式提取器 可以提取 响应头(response head)信息

路径:后置处理器 -> 正则表达式提取器

 

 

1.引用名称:自定义变量名,只能定义一个

2.正则表达式:左边界(正则式)右边界

3.模板:$1$ 表示正则表达式里第一个括号的内容;当正则表达式有n个括号时,可以用$m$表示要第m个括号的内容,需要多个时,无需符号连接,直接 $1$$3$$m$

4.匹配数字:必填。0代表随机一个,-1代表所有值,其他数字n代表提取第n个的值

==> 以上,自定义变量只有一个,但取值有多个,可以借助调试取样器,查看响应数据里返回的值有自定义变量值,和多个自定义变量_下标值,根据需要的值,调用变量。

 

正则式:左边界(正则式)右边界

  万能正则式: .*?

由于json是无序的,所以左边界和右边界都不要包含过多内容(最好只有提取自身,如 {"id":"001","code":"1111","msg":"hello"},正则式可以写成: "code":"(.*?)"  )

 

*****************************************************************

响应断言

性能测试不建议做断言,因为会消耗jmeter工具的资源,而且性能测试不关心响应结果是pass还是fail。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM