接口测试(九)jmeter——关联(JSON提取器)

一、JSON提取器介绍

  1. 要检查的响应字段:样本数据源
  2. 引用名称:可自定义设置
  3. 引用方法:${引用变量名}
  4. 匹配数字
匹配数字含义
-1表示全部
0随机
1第一个
2第二个
以此类推
  1. 缺省值:匹配失败时的默认值ERROR,可以不写
    在这里插入图片描述

二、json path 表达式

1. 示例:使用 json path 表达式提取 data 数据
json path 表达式为:$.data

{"code":"0","msg":"success","data":"123456"
}

2. 验证表达式是否正确的方式。在响应结果中,可以选择【JSON Path Tester】,在【JSON Path Expression】中输入表达式,点击【Test】,查看是否获取成功,若获取成功,则表达式正确
在这里插入图片描述

三、需求1:短信验证码和注册接口关联

注:后置处理器,放在获取数据的请求的子级,数据一般从【察看结果树】的响应数据获取

1. 获取数据的请求为【HTTP请求-短信验证码】,因此需要在【HTTP请求-短信验证码】中添加【JSON提取器】,【JSON提取器】放在【HTTP请求-短信验证码】下面
在这里插入图片描述
2. 在响应结果中验证需要填入的JSON表达式是否正确?若表达式正确,将表达式复制到【JSON提取器】中
在这里插入图片描述
在这里插入图片描述
3. 【JSON提取器】中【Name of created variables】值为code,因此【HTTP请求-注册】中,verificationCode修改为${code},即可关联成功
在这里插入图片描述
4. 运行后,检查【察看结果树】,验证码值【HTTP请求-短信验证码】响应数据=【HTTP请求-注册】请求
在这里插入图片描述
在这里插入图片描述

四、需求2:登陆后,完善用户信息

1. 从/merchant/complete接口请求数据中得知,userId 需要根据实际进行变化,因此需要将 userId 参数化
在这里插入图片描述
2. userId是从【HTTP请求-登陆】的响应数据中获取的
在这里插入图片描述
3. 【JSON提取器】应该放在【HTTP请求-登陆】的子级中,【HTTP请求-登陆】下的【JSON提取器】配置如下
在这里插入图片描述
4. 因缺少Authorization请求头,出现验签失败提示,需要添加 token 值
在这里插入图片描述
5. 验证 json 表达式是否正确,JSON表达式为 $…token 或 $.data.token_info.token
通过 JSON Path 表达式获取 userid、token(【完善用户信息】需要依赖【登陆】返回的 token)

在这里插入图片描述

6. 将正确的JSON表达式,写入【HTTP请求-登陆】中的【JSON提取器】中,每个参数都要对应配置如下:
在这里插入图片描述

7. 【HTTP请求-完善用户信息】请求头需要包含token值,故可以单独给【HTTP请求-完善用户信息】配置【HTTP信息头管理器】。将【HTTP请求-登陆】响应结果的token值,传给【HTTP请求-完善用户信息】,作为请求头
在这里插入图片描述

8. 【察看结果树】
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言——字符串指针和字符串数组

目录 前言 一、定义区别 1、数组表示 2、指针表示 二、内存管理区别 1.字符数组 2.字符指针 三、操作区别 1、访问与修改 2、遍历 3...... 总结 前言 在C语言中,字符串随处可见,字符串是由字符组成的一串数据,字符串以null字符(\0)结尾&#…

记一次js泄露pass获取核心业务

文章目录 一、漏洞原因二、漏洞成果三、漏洞利用过程1.js泄露口令信息2、进入系统后台,管理数据库权限(22个)3、执行命令获取服务器权限4、通过添加扫描脚本,获取存活的内网信息四、免责声明一、漏洞原因 系统存在js泄露口令信息,获取系统超级管理员权限。系统为核心数据研…

ASP.NET MVC-font awesome-localhost可用IIS不可用

环境: win10, .NET 6.0,IIS 问题描述 本地IIS正常显示,但放到远程服务器上,每个icon都显示?。同时浏览器的控制台报错: fontawesome-webfont.woff2:1 Failed to load resource: the server responded with a statu…

Ubuntu下Mysql修改默认存储路径

首先声明,亲身经验,自己实践,网上百度了好几个帖子,全是坑,都TMD的不行,修改各种配置文件,就是服务起不来,有以下几种配置文件需要修改 第一个文件/etc/mysql/my.cnf 这个文件是存…

力扣4:寻找两个正序数的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1: 输入:nums1 [1,3], nums2 [2] 输出:2.00000 解释&a…

linux中的PATH环境变量

在 Ubuntu 系统中,PATH 环境变量是一个非常重要的环境变量,它决定了系统在执行命令时搜索可执行文件的路径。 当你在终端或者脚本中输入一个命令时,系统会在 PATH 环境变量指定的路径列表中依次搜索对应的可执行文件,直到找到第一个匹配的文件并执行。 PATH 环境变量通常包含…

力扣382:链表随机结点

给你一个单链表,随机选择链表的一个节点,并返回相应的节点值。每个节点 被选中的概率一样 。 实现 Solution 类: Solution(ListNode head) 使用整数数组初始化对象。int getRandom() 从链表中随机选择一个节点并返回该节点的值。链表中所有…

从零学习大模型(七)-----LoRA(中)

自注意力层中的 LoRA 应用 Transformer 的自注意力机制是模型理解输入序列之间复杂关系的核心部分。自注意力层通常包含多个线性变换,包括键(Key)、查询(Query) 和 值(Value) 三个权重矩阵的线…

Vue开发

新建 Vue 项目 vue create project_name按照自己的需求模块进行安装 选择安装 Router、Vuex 插件 选择 Vue3 版本 是否使用 history 模式的路由,按需选 Y 或者 n 后面的选项都默认即可 是否记住上面的选择项:否 总体配置 启动项目 cd demo…

solr安装ik分词器

环境 系统 windows docker v4.34.3 solr:8.11.2 ik:ik-analyzer-solr7-7.x 1.安装步骤 1.1启动solr 1.1启动(为了方便编辑配置文件,挂载了文件目录) docker run -d -p 8983:8983 -v C:\docker\solr\classes:/opt/solr/server/solr-webap…

Windows解决localhost拒绝了连接请求

最近,在开发前端Vue项目时,Vue项目启动成功,没有任何报错,服务控制台已出现APP访问地址,如下图所示。 览器打开后页面先是空白,然后过了一会儿显示无法访问此网站,localhost拒绝了我们的连接请…

【前端】Next.js的安装及配置

Next.js介绍 Next.js 是一个流行的 React 框架,它具有以下优点: 服务器端渲染(SSR):Next.js 支持服务器端渲染,这意味着页面可以在服务器上预渲染,然后发送给用户,这可以加快首屏加…

关于写更新接口的一些理解

“更新”接口的思路 在上篇文章中,我们讲了如何编写删除接口。这篇文章将讲解如何编写更新接口。 其实,更新接口和新增接口非常相似。整体思路都是传入form参数,然后在service层将form转换成entity,最后调用updateById方法&…

idea删除git历史提交记录

前言:此文章是我在实际工作中有效解决问题的方法,做记录的同时也供大家参考! 一、 首先,通过idea的终端或系统的cmd控制台,进入到你的项目文件根目录,idea终端默认就是项目根目录。 二、确保你当前处于要删…

ECMAScript与JavaScript的区别:深入解析与代码示例

目录 引言 ECMAScript与JavaScript的定义 ECMAScript JavaScript ECMAScript与JavaScript的关系 区别详解 定义上的区别 功能上的区别 实现上的区别 代码示例 ECMAScript 6 (ES6) 特性示例 箭头函数 模板字面量 JavaScript 特有的扩展 在Web开发中的应用 ECMAS…

【数据结构与算法】之栈 vs 队列

栈和队列是计算机科学中最基础也是最常用的两种线性数据结构,它们提供了一种组织和管理数据的方式。它们的主要区别在于元素的添加和删除顺序。理解它们的特点、差异以及底层实现对于选择合适的结构解决特定问题至关重要。本文将更详细地比较栈和队列,并…

Java多线程详解①(全程干货!!!)

这里是Themberfue 今天,我们将正式进入多线程章节的讲解,希望我的讲解能够让你理解😎 进程 在进入多线程的讲解中,我们先引入进程的概念及其解释 操作系统都是大家耳熟能详的名词,常见的操作系统主要有:Li…

opencv - py_ml - py_knn k-最近邻算法

文章目录 1.理解 k-最近邻算法目标理论OpenCV 中的 kNN其他资源 2.使用 kNN 对手写数据进行 OCR目标手写数字的 OCR英文字母的 OCR其他资源 1.理解 k-最近邻算法 目标 在本章中,我们将理解 k-最近邻算法 (kNN) 的概念。 理论 kNN 是监督学习中最简单的分类算法之…

从0到1学习node.js(path模块以及HTTP协议)

文章目录 一、path模块二、HTTP协议1、常见状态码分类2、IP地址3、端口 一、path模块 // 引入path模块 const path require(path)// 拼接地址 const resolveData path.resolve(__dirname, ./index) console.log(__dirname, __dirname) console.log(resolveData, resolveData…

【js逆向专题】12.RPC技术

目录 一. websocket1. 什么是websocket2. websocket的原理3. websocket实现方式1. 客户端2.服务端3. 实际案例1. 案例目标2. 解析思路 二. RPC1. RPC 简介2.Sekiro-RPC1. 使用方法1. 执行方式2.客户端环境3.使用参数说明 2. 测试使用1. 前端代码2. SK API3.python调用代码 三.项…