经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JSON » 查看文章
深入理解JMeter中的JSON Extractor
来源:cnblogs  作者:查拉图斯特拉面条  时间:2023/11/15 9:22:32  对本文有异议

Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中的JSON Extractor就派上了用场。

JSON Extractor是JMeter中的一个Post Processor组件,它可以根据JSON Path表达式从HTTP请求的响应结果中提取需要的信息。接下来,我们将通过一个具体的例子,详细介绍如何使用JSON Extractor。

假设我们的HTTP请求返回了如下的JSON数据:

  1. {
  2. "dataDetail": [
  3. {
  4. "role_id": 1,
  5. "role_code": "132001",
  6. "role_name": "Administrator"
  7. },
  8. {
  9. "role_id": 2,
  10. "role_code": "132002",
  11. "role_name": "User"
  12. }
  13. ]
  14. }

我们的任务是提取role_code为"132002"的对象的role_id。首先,在对应的HTTP请求下添加一个JSON Extractor,配置如下:

  • Names of created variables:命名提取字段的变量名。在这个例子中,我们输入my_role_id

  • JSON Path Expressions:输入对应的JSON Path表达式。在这个例子中,我们输入$.dataDetail[?(@.role_code=="132002")].role_id

  • Match No:输入匹配数字。在这个例子中,我们只关心第一个匹配的结果,因此输入1

  • Default Values:输入默认值。在这个例子中,我们可以输入NOT_FOUND作为默认值。

下面是具体的配置:

  1. Names of created variables: my_role_id
  2. JSON Path Expressions: $.dataDetail[?(@.role_code=="132002")].role_id
  3. Match No: 1
  4. Default Values: NOT_FOUND

配置完成后,JSON Extractor会在HTTP请求的响应结果中查找符合JSON Path表达式的值,并将找到的值保存在我们指定的变量中。在这个例子中,如果role_code为"132002"的对象存在,那么my_role_id就会保存这个对象的role_id;如果不存在,那么my_role_id的值就会是我们指定的默认值NOT_FOUND

最后,在后续的请求中,我们就可以通过${my_role_id}的形式来使用这个提取出来的role_id了。

总的来说,JMeter的JSON Extractor是一款极其强大的工具,只要我们正确地使用,就能轻松地从复杂的JSON响应中提取我们需要的信息。

原文链接:https://www.cnblogs.com/n00dle/p/17832309.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号