Jmeter 使用Json提取请求数据的方法

以下是详细讲解JMeter使用JSON提取请求数据的方法的完整攻略。

什么是JSON Extractor?

JSON Extractor是JMeter插件之一,其主要功能是从HTTP响应中的JSON数据中提取出所需数据。

JSON Extractor配置

JSON Extractor是基于JMeter的post-processor,它可以获取JSON数据并在后续操作中使用。以下是如何配置JSON Extractor:

  1. 添加JSON Extractor

选中需要使用JSON提取的HTTP响应的请求,然后单击右键选择“添加 > 后置处理器 > JSON Extractor”。

  1. 配置JSON Extractor

打开JSON Extractor后,在名称字段中为该提取器命名。下面我们来详细配置JSON Extractor。

  • 主机名或IP地址:输入要提取的JSON字符串所在的 JSON根对象的名称或路径。根据响应的JSON结构来指定,如果JSON数据是对象,则可以直接输入对象名称;如果是数组,则需要使用数组语法。例如,如果需要从“data”对象中提取数据,则应输入“$.data”。
  • 变量名:输入提取的变量名。请确保该变量名称唯一,以便在后续的步骤中使用它。例如,如果要提取的数据位于“user_id”字段中,则可以输入“user_id”。
  • JSON Path表达式:输入提取数据的JSON Path表达式。JSON Path是一种基于JSON文档结构的查询语言,可用于从JSON结构中验证、查询或提取信息。如果您不知道JSON Path表达式的语法和用法,则可以在此处输入“$”,它将返回JSON的整个根对象。例如,如果要提取的 JSON 格式如下:

{
"user_id":"1234",
"user_name":"John",
"email":"john@example.com"
}

要提取user_id可以输入“$.user_id”。

  • 默认值:如果找不到要提取的值,则可以输入默认值。

其他需要配置的选项有:

  • 是否应只匹配第一个匹配项
  • 是否对提取值解码
  • 是否适用递归搜索

示例1:提取json数组中的值

以下是JMeter使用JSON Extractor提取JSON数组的示例:

  1. 定义HTTP请求

首先,我们需要定义一个HTTP请求。在这个例子中,我们将假设我们正在测试一个 web 服务,该服务返回以下 JSON 响应:

[
  {
    "name": "John Doe",
    "age": 35
  },
  {
    "name": "Jane Smith",
    "age": 28
  }
]
  1. 添加JSON Extractor

在HTTP请求下添加一个JSON Extractor。

  1. 配置JSON Extractor

在JSON Extractor中定义表达式:$[*].name。这个表达式表示取得JSON响应中name字段的所有值。

  1. 添加Debug Sampler

在JMeter Tree中选择添加一个Debug Sampler。这样我们就可以看到从JSON响应中提取的数据。

  1. 执行测试

运行测试并查看Debug Sampelr的响应数据。您应该看到:

name_1=John Doe
name_2=Jane Smith

示例2:从嵌套json结构中提取值

以下是JMeter使用JSON Extractor从嵌套json结构中提取值的示例:

  1. 定义HTTP请求

首先,我们需要定义一个HTTP请求。在这个例子中,我们将假设我们正在测试一个web服务,该服务返回以下 JSON 响应:

{
  "data": {
    "user": {
      "name": "John Doe",
      "age": 35
    },
    "location": {
      "city": "New York",
      "state": "NY"
    }
  }
}
  1. 添加JSON Extractor

在HTTP请求下添加一个JSON Extractor。

  1. 配置JSON Extractor

在JSON Extractor中定义表达式:$.data.user.age。这个表达式表示取得JSON响应中data对象里user对象中age字段的值。

  1. 添加Debug Sampler

在JMeter Tree中选择添加一个Debug Sampler。这样我们就可以看到从JSON响应中提取的数据。

  1. 执行测试

运行测试并查看Debug Sampelr的响应数据。您应该看到:

age=35

这就是使用JSON Extractor从JSON响应中提取数据的两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jmeter 使用Json提取请求数据的方法 - Python技术站

(1)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++14新特性的所有知识点全在这

    C++14新特性的所有知识点全在这 1. 简介 C++14是C++11的后继版本,引入了许多新的特性和性能改进。这些新特性使得C++14更容易使用和更加安全。本文将会介绍C++14的所有知识点。 2. C++14的新特性 2.1 通用表达式 通用表达式是C++14的一个重要特性,它提供了一种新的语法来实现编译时计算。通用表达式使得编程人员可以在编译时期计算变…

    C 2023年5月23日
    00
  • c++ 如何在libuv中实现tcp服务器

    C++ 中通常使用 libuv 库来实现 TCP 服务器。下面是使用 libuv 库实现 TCP 服务器的完整攻略。 准备工作 首先需要做的是安装 libuv 库,并配置好 C++ 项目使其能够使用该库。Windows 操作系统可以直接下载预编译的库,然后在项目设置中配置库的路径和头文件路径。Linux 操作系统可以通过包管理器进行安装。 创建 TCP 服务…

    C 2023年5月23日
    00
  • 01-C语言概述

    C语言概述 1.什么是C语言 C语言就是人和计算机交流的一种语言语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与,这是语言最重要的功能: 说的一方传递信息,听的一方接收信息; 说的一方下达指令,听的一方遵循命令做事情。 语言是人和人交流,C语言是人和机器交流。只是,人可以不听另外一个人,但是,计算机是无条件服从。语言有独特的语法规则和定义,双方必须…

    C语言 2023年4月18日
    00
  • C++ 面试题翻译电话号码实例代码

    C++ 面试题翻译电话号码实例代码题目要求实现一个能够将电话号码翻译成字母的程序。具体来讲,即是将类似于”23″这样的数字字符串翻译成所有可能的字母组合,其中 ‘2’ 可以代表 ‘a’, ‘b’, ‘c’, ‘3’ 可以代表 ‘d’, ‘e’, ‘f’,以此类推,直到 ‘9’ 可以代表 ‘w’, ‘x’, ‘y’, ‘z’。对于一个包含多个数字的字符串,其可…

    C 2023年5月24日
    00
  • 浅析Java异常处理中断言的使用

    浅析Java异常处理中断言的使用 Java异常处理机制允许程序在出现错误和异常时进行优雅的处理,从而保证程序的安全性和稳定性。而其中断言(assertion)机制则是一种非常强大的调试工具,可以在程序出现错误时,中断程序并给出特定的提示,帮助程序员更快地定位和修复问题。 在本篇攻略中,我们将分为以下几个部分,详细讲解Java异常处理中断言的原理、用法及注意事…

    C 2023年5月23日
    00
  • Go 使用Unmarshal将json赋给struct出错的原因及解决

    问题描述 在使用Go语言的Unmarshal函数将json数据赋给struct时,可能会遇到一些出错的情况。 下面是一个例子: package main import ( "encoding/json" "fmt" ) type Person struct { Name string Age int } func ma…

    C 2023年5月23日
    00
  • python 统计代码耗时的几种方法分享

    Python 统计代码耗时的几种方法分享 在 Python 当中,我们经常需要统计代码的耗时,以便了解程序的性能情况,以及针对性优化。本文将分享几种统计 Python 代码耗时的方法。 1. 使用 time 模块 time 模块是 Python 自带的模块,可以非常方便地获取当前时间以及计算时间差。 示例代码: import time # 获取开始时间 st…

    C 2023年5月22日
    00
  • java 出现NullPointerException的原因及解决办法

    Java出现空指针异常(NullPointerException)的原因及解决办法 在Java编程中,空指针异常是一种常见的错误类型。它通常发生在一个对象上,当试图对一个为null的对象进行操作时,就会抛出空指针异常。本文将分析空指针异常的原因,并给出解决办法。 原因 空指针异常通常发生在以下情况: 操作为null的对象 String str = null;…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部