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

yizhihongxing

以下是详细讲解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语言实现简易学生成绩管理系统

    C语言实现简易学生成绩管理系统攻略 系统需求 我们需要实现一个简单的学生成绩管理系统,满足以下需求: 学生姓名、学号、性别等基本信息的录入和管理; 课程成绩的录入和查询,包括成绩的增删改查功能; 可以根据学号、姓名、分数等条件进行查询排序; 可以将学生成绩信息保存在文件中。 实现步骤 设计数据结构 我们需要先设计数据结构,才能进行后续工作。根据上述需求,这里…

    C 2023年5月30日
    00
  • PHP中常见的密码处理方式和建议总结

    PHP中常见的密码处理方式和建议总结 在PHP中,密码处理是一个重要的安全问题。本文将介绍PHP中常见的密码处理方式和建议总结。 常见的密码处理方式 明文存储 明文存储是最不安全的方式,它直接将用户的密码以明文形式存储在数据库中,容易被黑客猜测和盗取,不建议使用。 MD5加密 MD5是一种常用的哈希算法,可以将字符串转换为长度固定的哈希值。使用MD5加密用户…

    C 2023年5月23日
    00
  • C语言实现车辆信息管理系统

    C语言实现车辆信息管理系统攻略 1. 系统需求分析 在实现车辆信息管理系统之前,我们需要对系统进行需求分析,明确系统所需要实现的功能和对应的数据结构。下面是该系统的功能描述和数据结构设计: 功能描述 添加车辆信息 删除车辆信息 修改车辆信息 查询车辆信息 显示所有车辆信息 数据结构设计 车辆信息包括以下属性: 车牌号 车型 车主姓名 车主电话 因此,我们可以…

    C 2023年5月23日
    00
  • C语言实现简易通讯录(静态版本)的代码分享

    C语言实现简易通讯录(静态版本)的代码分享 1. 简介 本文主要介绍如何使用C语言实现简易的通讯录,通过静态数组表示通讯录中的联系人信息。在本应用中,用户可以添加、删除、修改、查找通讯录中的联系人,同时也可以浏览全部的联系人列表。 2. 实现步骤 2.1 数据结构定义 首先,我们需要定义通讯录中的联系人信息的数据结构。在本应用中,我们选择使用结构体表示。 s…

    C 2023年5月24日
    00
  • c语言之如何求e的近似值

    C语言如何求e的近似值 简介 e是数学中一个常用的数,它的值约为2.71828。如何用C语言求e的近似值是一个常见的问题。其中,众所周知的方法之一是用泰勒级数来求解。本文将详细介绍如何使用泰勒级数来计算e的近似值并提供两个示例。 泰勒级数 泰勒级数是一种数学方法,用于将一个函数表示成多项式的形式。基于e^x的泰勒级数公式: e^x = 1 + x + x^2…

    C 2023年5月23日
    00
  • C++实现图书管理系统源码

    C++实现图书管理系统源码攻略 简介 图书管理系统是一种基于计算机技术的图书管理系统。它通过自动化操作,帮助管理人员实现对图书的分类、存储、借阅、归还等管理工作。本文主要介绍如何使用 C++ 编程语言实现一个基本的图书管理系统,让用户在控制台上完成管理图书的操作。 实现步骤 实现一个图书管理系统包括以下主要步骤: 1. 定义数据结构 为了管理图书,需要定义一…

    C 2023年5月23日
    00
  • Node.js处理I/O数据之使用Buffer模块缓冲数据

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它能够在服务器端解析 JavaScript代码,同时具有高效的I/O操作能力。其中,Buffer模块是Node.js核心库中处理二进制数据的工具之一。我们可以使用Buffer模块来创建缓冲区,对数据进行读写操作。 创建Buffer 我们可以使用以下方法来创建Buffer实例: co…

    C 2023年5月23日
    00
  • STL 的string类怎么啦

    下面我将为您详细讲解STL的string类的使用方法: STL的string类 string类是STL中的一个重要组件,它是一个可变长度的字符串容器,支持字符串的插入、删除、查找、替换等操作。可以通过#include <string>来包含string类的头文件。 创建string对象 我们可以通过多种方式来创建string对象。比如: // 创…

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