码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 深入理解JMeter中的JSON Extractor


    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响应中提取我们需要的信息。

  • 相关阅读:
    100天精通Python(可视化篇)——第99天:Pyecharts绘制多种炫酷K线图参数说明+代码实战
    mybatis_plus批量处理(开启rewriteBatchedStatements)
    提升,方法比努力重要!不懂这几点再多的努力也白费!
    commons-io版本变动在windows环境下引发的NTFS ADS separator问题
    了解被测系统(二)接入链路--包括域名解析和Nginx代理
    ui_admin_vue3启动
    基于JavaWeb+SSM+Vue“鼻护灵”微信小程序系统的设计和实现
    教你买了新电脑后的基础设置要怎么做
    博客园商业化之路-开篇:开源的脚步,商业化的出路
    2024法定节假日|除夕不放假?企业这样做员工更满意
  • 原文地址:https://blog.csdn.net/silgen/article/details/134405712
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号