使用JMeter从JSON响应的URL参数中提取特定值

这篇具有很好参考价值的文章主要介绍了使用JMeter从JSON响应的URL参数中提取特定值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在使用Apache JMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子,展示了如何从一个JSON响应中提取rowId的值,同时处理字符串终止符。

假设我们有以下JSON响应:

{
  "flag": "success",
  "formulaStatus": -1,
  "encryption": "0",
  "changestate": 1,
  "href": "/pf/ovdf/bd/openPage?pr=od&ll=115dfc704f96b039825a66f15b04&rowId=D96DB6B24EEE412BB0DE7E728EE193E6",
  "closer": false
}

我们的目标是提取rowId参数的值D96DB6B24EEE412BB0DE7E728EE193E6。这个值不是直接作为JSON对象的一个属性呈现的,而是作为一个URL的一部分,嵌套在href字段中。因此,我们需要两步来提取这个值。

步骤 1: 提取href字段

首先,我们使用JSON提取器来捕获href字段的值。JSON提取器可以直接从JSON结构中提取值。我们可以按照以下步骤配置JSON提取器:

  1. 添加JSON提取器到请求:在JMeter中,选择HTTP请求组件,然后右键选择“添加” -> “后置处理器” -> “JSON提取器”。
  2. 配置JSON提取器:在JSON提取器的配置界面中,设置以下参数:
  • 变量名称extractedHref
  • JSON路径表达式$.href
  • 默认值NOT_FOUND

这样配置后,如果JSON响应格式正确,extractedHref变量将包含href字段的完整URL字符串。

步骤 2: 从URL中提取rowId

接下来,我们需要从extractedHref变量中提取rowId的值。我们可以使用正则表达式提取器来完成这个任务:

  1. 添加正则表达式提取器:在JSON提取器下面,右键选择“添加” -> “后置处理器” -> “正则表达式提取器”。
  2. 配置正则表达式提取器:在正则表达式提取器的配置界面中,设置以下参数:
  • 应用到变量extractedHref
  • 正则表达式rowId=([^&"]+)
  • 模板$1$
  • 匹配编号1
  • 默认值NOT_FOUND

在这个正则表达式中,rowId=([^&"]+)的意思是查找rowId=之后的任何字符序列,直到遇到&"或字符串结束。圆括号()表示捕获组,用于提取匹配的部分。这样修改后,正则表达式将在遇到引号"时停止匹配,这可以防止提取到额外的字符,如在JSON响应中紧跟rowId值后的引号和其他字段。

结论

通过以上步骤,我们可以有效地从JSON响应中提取rowId的值。这种方法不仅适用于本例,也可以广泛应用于需要从嵌套信息中提取数据的场景。JMeter的强大功能使得它成为API测试和数据提取的强有力工具。文章来源地址https://www.toymoban.com/news/detail-843312.html

到了这里,关于使用JMeter从JSON响应的URL参数中提取特定值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter后置处理器——JSON提取器

    目录 1、简介  2、使用步骤         1)添加线程组         2)添加http请求         3) 添加JSON提取器 1、简介         JSON是一种简单的数据交换格式,允许互联网应用程序快速传输数据。JSON提取器可以从JSON格式响应数据中提取数据、简化从JSON原始数据中提取特

    2024年01月16日
    浏览(19)
  • jmeter常用的提取器(正则表达式和JSON提取器)

    jmeter常用的后置处理器有两种提取数据: 1、JSON提取器    获取后可以将变量token引用到其他所需要的地方 (正则表达式和JSON提取器): 2023接口自动化测试框架必会两大神器:正则提取器和Jsonpath提取器_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1824y1M7GA/?spm_id_from=333.999.0.0vd_s

    2024年02月16日
    浏览(26)
  • jmeter中json提取器,获取多个值,并通过beanshell组成数组

    特别说明:**Compute concatenation var(suffix_ALL)😗*如果找到许多结果,则插件将使用’ , \\\'分隔符将它们连接起来,并将其存储在名为 _ALL的var中 在查看结果树中选择JSON Path Tester,将表达式写在expression,点击Test json提取器获取变量nodeIds(是一个逗号连接起来的数据) 通过特定字

    2024年02月14日
    浏览(24)
  • Jmeter-解析返回参数-解析并操作json

    工作中经常会遇到JSON字符串,接口的入参和返回参数也多数是JSON格式,自动化项目中常需要写脚本处理返回结果,本文总结java或jmeter的beanshell脚本中对于json的常用操作 简单的JSON字符串:{“key”:“value”,“key”:“value”…} 如:{“id”:“1001”,“name”:“晓春”,“sex”:“

    2024年01月25日
    浏览(18)
  • jmeter--3.使用提取器进行接口关联

    目录 1. 正则表达式提取器 1.1 提取单个数据 1.2 名词解释 1.3 提取多个数据 2. 边界值提取器 2.2 名词解释 3. JSON提取器 3.1 Json语法 3.2 名词解释 3.3 如果有多组数据,同正则方式引用数据 示例数据:{\\\"access_token\\\":\\\"76_Qj8OysXMx-Vg90TtOMRwqrn3HEG4f0TJYHUZxeB_x2obewAYT5SxNefO-r5JzfWDiR_LHtF9B72b2Cd8qXy

    2024年01月22日
    浏览(32)
  • Jmeter运行特定的线程组

    写在前面: 通常情况下,jmeter脚本中,会涉及多个线程组,每个线程组代表不同的业务场景。在jmeter里如何做到,灵活配置后可以运行某个特定的线程组,以及如何在windws cmd命令行运行jmeter中运行某个特定的线程组。 什么是多个线程组? 如下截图:一个测试计划中包含两个

    2024年02月15日
    浏览(23)
  • Postman的使用——设置全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量

    如图所示,进入postman后先后点这两个位置(①Environment quick look;②Edit),新增全局变量city和XSRF-TOKEN 如图所示,在需要调用的接口请求头参数里引用上面定义的全局变量,语法:{{定义的变量名}} 类似apifox中的后置操作。 在postman中的位置是每个目录或者接口中的Tests处,如

    2023年04月09日
    浏览(30)
  • Jmeter接口关联(四)【使用正则表达式提取值】关联上下接口实际当中的运用

    文章目录 前言 一、Jmeter中正则表达式的运用(使用案例讲解) 注意 这篇主要是用一个实际的例子讲解正则表达式在2个有关联的接口中运用。 天气预报接口: 请求Key:79a35e2a5997710f3bdc86de81f21dbb 根据城市查询天气 接口地址: http://apis.juhe.cn/simpleWeather/query 请求方式: http ge

    2024年02月15日
    浏览(19)
  • Jmeter接口关联(三)【使用正则表达式提取值】以及正则表达式提取器中模板的含义及用法

    文章目录 前言 一、Jmeter中使用正则表达式匹配 1、选择 RegExp Tester 2、在线程组------》添加------》后置处理器-------里面添加一个“正则表达式提取器” 二、关于正则表达式提取器里面字段的解释 参数说明 三、进一步解释Jmeter正则表达式提取器中的模板 1、当模板设置为$0$ 

    2024年02月13日
    浏览(29)
  • 【Jmeter】JSON Extractor变量包含转义字符,使用Beanshell脚本来消除

            如果使用Jmeter的JSON Extractor提取的变量包含特殊字符,直接引用时会包含转义字符。可以使用Beanshell脚本来进行字符串转换,从而消除这些转义字符。

    2024年02月04日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包