写点什么

掌握 JMeter:深入解析如何提取和利用 JSON 数据

  • 2024-06-13
    江西
  • 本文字数:1213 字

    阅读完需:约 4 分钟

前言

Apache JMeter 不仅是一个功能强大的性能测试工具,它还可以用于提取和处理响应中的数据。对于现代 Web 应用,JSON(JavaScript Object Notation)已经成为主要的数据交换格式。本文将详细介绍如何在 JMeter 中提取 JSON 数据,并将其用于后续的请求或断言。

获取更多技术资料,请点击!

环境准备

在开始之前,请确保已经安装并配置好 JMeter。如果还没有安装,请参考之前的 JMeter 安装教程。

创建测试计划

  • 启动 JMeter

  • 双击jmeter.bat或在命令提示符中输入jmeter启动 JMeter GUI。

  • 添加线程组

  • 右键点击测试计划(Test Plan),选择“添加”(Add)->“Threads (Users)”->“Thread Group”。

  • 添加 HTTP 请求

  • 右键点击线程组,选择“添加”(Add)->“Sampler”->“HTTP Request”。

  • 配置 HTTP 请求的 URL 和其他参数,例如:

  • 服务器名称或 IP:jsonplaceholder.typicode.com

  • 方法:GET

  • 路径:/posts/1

配置 JSON 提取器

  • 添加 JSON 提取器

  • 右键点击 HTTP 请求,选择“添加”(Add)->“后处理器”(Post Processors)->“JSON Extractor”。

  • 配置 JSON 提取器

  • 名称前缀(Variable names prefix):设置提取结果的前缀,例如json_

  • JSON路径表达式(JSON Path Expressions):填写需要提取的 JSON 路径。例如:

  • 提取标题:$.title

  • 提取正文:$.body

  • 匹配数字(Match Numbers):设置为1以提取第一个匹配项。

  • 默认值(Default Values):如果未找到匹配项,可以设置默认值。

验证提取结果

  • 添加调试采样器

  • 右键点击线程组,选择“添加”(Add)->“Sampler”->“Debug Sampler”。

  • 添加查看结果树监听器

  • 右键点击线程组,选择“添加”(Add)->“监听器”(Listeners)->“View Results Tree”。

  • 运行测试计划

  • 点击启动按钮,运行测试计划。

  • 在“查看结果树”监听器中,查看调试采样器的响应数据,验证提取结果是否正确。提取的数据将显示在响应数据的“响应数据”部分,带有前缀的变量名。

使用提取的数据

  • 在后续请求中使用提取的数据

  • 例如,添加另一个 HTTP 请求,配置 URL 和其他参数。

  • 在请求参数中使用之前提取的数据,格式为${变量名},例如${json_title}

  • 添加断言

  • 右键点击 HTTP 请求,选择“添加”(Add)->“断言”(Assertions)->“JSON Assertion”。

  • 配置 JSON 断言以验证响应数据是否包含预期值。例如,可以断言提取的 title 是否等于某个值。

示例:完整的测试计划

Test Plan  Thread Group    HTTP Request (GET /posts/1)      JSON Extractor        - Variable names prefix: json_        - JSON Path Expressions: $.title, $.body    Debug Sampler    HTTP Request (POST /posts)      - Use extracted data in parameters: title=${json_title}, body=${json_body}    View Results Tree
复制代码

总结

通过以上步骤,您可以在 JMeter 中成功提取 JSON 数据并将其用于后续的请求或断言。这种方法不仅适用于简单的 GET 请求,还可以扩展到更复杂的测试场景,如模拟用户交互、验证 API 响应等。掌握 JMeter 的 JSON 提取功能,将大大提升您在性能测试和自动化测试中的效率和灵活性。

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
掌握JMeter:深入解析如何提取和利用JSON数据_霍格沃兹测试开发学社_InfoQ写作社区