Jmeter关联

案例脚本实现:选择商品加入购物车

  客户端发送一个登录的HTTP请求,服务端返回一个带着token的响应,后续发出一个带token信息的加入购物车的HTTP请求,返回响应。

关联:当请求直接由依赖关系的时候,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。

当有关联关系的俩个请求在同一个线程组中时,可以使用下面三种提取器的变量来实现数据传递。

但是如果在不同的线程组里面,不可用,这时候就用到Jmeter属性。JSON提取器+Jmeter或者其他另外两种提取器+Jmeter属性。

Jmeter中常用的关联方法:

---正则表达式提取器

---XPath提取器

---JSON提取器

正则表达式提取器:

正则表达式

就是一个公式,或者说是一套规则,使用这套规则可以从任意字符串中提取出想要的数据内容。

. : 通配符,可以代表任意字符(除换行回车)。

* : 代表前面的字符出现0次或者多次。

.* : 找到左边界值,往右查找右边界,找到最后面的有边界,中间的所以数据都被记录下来。

左边界(.* ?)右边界:可以提取出想要获取的数据内容。

? : 代表非贪婪匹配,找到左边界之后,往右查找匹配的右边界,只要右匹配的右边界就停止继续查找;再次重新查找左右边界。

案例:原始文本如下,要求是匹配出城市号,地区号,个人号码三组。

021-1234-1234

022-1234-1235

正则表达式结果:(.*?)-(.*?)-(.*?)\n

通过一个正则表达式可以提取出多组数据,每组数据设置对应的左右边界。

正则表达式提取器:

作用:针对任意格式的响应数据进行提取

位置:测试计划---》线程组---》HTTP请求---》右键添加后置处理器---》正则表达式提取器

引用名称:存放提取出的值的参数名称,供下一个请求引用,如填写title,则可以用${title}引用它。

正则表达式:():括起来的部分就是要提取的

. : 匹配任何字符串

+  : 一次或者多次

? :不要太贪了,在找到第一个匹配项后停止。

模版:表示我们要找到正则表达式的第几组值,用$$引用起来,如果在正则表达式中有多个提取值,则可以用$2$,表示解析到第几组值给title,如:$1$表示解析到的第1组值。

匹配数字:代表我们提取出来的那一组值,是让他返回那些数据。0代表随机取值,-1代表全部取值,1代表取第一个值。

缺省值:如果参数没有取得到值,那默认给一个值让他取。

XPath提取器

作用:针对HTML格式的响应结果数据进行提取

位置:测试计划---》线程组---》HTTP请求---》右键添加后置处理器---》XPath提取器 

Use Tidy:当需要处理的页面是HTML格式时,必须选中该项。当需要处理的页面 的ML或者是XHTML时,取消选中。

引用名称:存放提取出的值的名称

XPath Query:用于提取值的XPath表达式。//表示。如果提取网页的tltle值,则//title。

匹配数字:如果XPath路径查询出许多结果。则可以选择提取哪个。0表示随机,-1表示提取所有结果,1表示第1个值

缺省值:参数的默认值


JSON提取器

作用:针对JSON格式的响应结果数据进行提取。

位置:测试计划---》线程组---》HTTP请求---》右键添加后置处理器---》JSON提取器

Name of created variables:存放提取出的值的参数名称。

JSON Path Expression :JSON路径表达式

Match to :如果JSON路径匹配出许多结果,则可以选择提取哪个。0:表示随机,-1表示提取所有结果,1表示第一个结果。

Default Values:参数的默认值。

案例:提前某个城市的天气,返回城市名称,在传递给百度。

Jmeter属性

_setProperty函数:将值保存成Jmeter属性。借助BeanShell取样器来执行。

_property函数:在其他线程组中使用此函数读取属性

步骤:添加线程组1;添加HTTP请求-天气;添加JSON提取器;添加BeanShell取样器(将JSON提取器提取的值保存为JMeter属性);添加线程组2,添加百度HTTP请求(读取JMeter属性);查看结果树。

注意:因为是两个线程组串行执行,别忘了勾选测试计划中的独立运行。

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

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

相关文章

Python项目中的.gitignore配置

在Git项目中,.gitignore 文件用于指定哪些文件和目录应该被Git忽略,不纳入版本控制。对于Python项目,通常需要忽略一些特定的文件和目录,如编译生成的文件、虚拟环境、日志文件等。以下是一个常见的Python项目 .gitignore 配置示例…

FreeRTOS的中断管理、临界资源保护、任务调度

什么是中断? 简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断。 中断优先级分组设置 ARM Cortex-M 使用了 8 位宽的寄存器来配置中断的优先等级,这个寄存器就是中断优先级…

Python | Leetcode Python题解之第242题有效的字母异位词

题目: 题解: class Solution:def isAnagram(self, s: str, t: str) -> bool:s_c Counter(s)t_c Counter(t)if(len(s_c) ! len(t_c)):return Falseelse:for key, value in s_c.items():if t_c.get(key) ! value:return Falsereturn True

使用Java和Apache Kafka Streams实现实时流处理应用

使用Java和Apache Kafka Streams实现实时流处理应用 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 引言 实时流处理已经成为现代应用开发中不可或缺的一部分。Apache Kafka Streams是一个强大的库…

Halcon机器视觉15种缺陷检测案例_5产中的凹坑检测

效果 代码 *6产中的凹坑检测 dev_update_off ()read_image (Image, 6产中的凹坑检测.png) *分割出环形区域 threshold (Image, Region, 100, 255) *连通 connection (Region, ConnectedRegions) *选择圆环区域 select_shape (ConnectedRegions, SelectedRegions, area, and, 3…

Qt QJson组装数据Sig传递

有时候界面输入的值&#xff0c;不想创建结构体&#xff0c;那么直接用QString类型传输&#xff0c;更便捷方便&#xff0c;速度更快 QJson是你选择的一种方式 组合&#xff1a; #include <QCoreApplication> #include <QJsonDocument> #include <QJsonObjec…

【PostgreSQL】PostgreSQL 教程

博主介绍&#xff1a;✌全网粉丝20W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

音频可视化--柱形波状图

<!--* Author: liszter <liszterqq.com>* Date: 2024-07-11 16:06:39* LastEditTime: 2024-07-11 18:25:36* LastEditors: lishutao* Description: 暂无* FilePath: \vueee\src\components\record-draw\record-draw-html\index.vue--><template><div clas…

stm32入门-----EXTI外部中断(上 ——理论篇)

目录 前言 一、中断系统 1.基本概念 2.执行过程 二、stm32中断 1.stm32中断类型 2.NVIC总管 3.NVIC的优先级分组 三、EXIT外部中断 1.基本概念 2.AFIO复用IO口 3.EXIT执行过程 前言 本期我们就开始进入到学习stm32的中断系统了&#xff0c;在此之前我们学习过51的知道中…

2024.7.16日 最新版 docker cuda container tookit下载!

nvidia官方指导 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 其实就是这几个命令&#xff0c;但是有墙&#xff1a; curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/shar…

R语言实现对模型的参数优化与评价KS曲线、ROC曲线、深度学习模型训练、交叉验证、网格搜索

目录 一、模型性能评估 1、数据预测评估 2、概率预测评估 二、模型参数优化 1、训练集、验证集、测试集的引入 2、k折线交叉验证 2、网格搜索 一、模型性能评估 1、数据预测评估 ### 数据预测评估 #### 加载包&#xff0c;不存在就进行在线下载后加载if(!require(mlben…

C语言——指针简介及基本要点

C语言中的指针是C语言的核心特性之一&#xff0c;它允许程序员直接访问内存地址。指针变量存储的是变量的内存地址&#xff0c;而不是变量的值。通过指针&#xff0c;程序可以更加灵活地操作内存中的数据&#xff0c;进行数据的动态分配和访问。下面是一些关于C语言指针的基本概…

优先级策略:在Eureka中配置服务实例优先级

标题&#xff1a;优先级策略&#xff1a;在Eureka中配置服务实例优先级 在微服务架构中&#xff0c;服务的负载均衡和故障转移是关键的运维任务。Eureka作为Netflix开源的服务发现框架&#xff0c;提供了一种机制来管理服务实例的优先级&#xff0c;从而优化服务的负载均衡和故…

uniapp 开发 App 对接官方更新功能

插件地址&#xff1a;升级中心 uni-upgrade-center - App - DCloud 插件市场 首先创建一个 uni-admin 项目&#xff0c;选择你要部署的云开发服务商&#xff1a; 然后会自动下载模板&#xff0c;部署云数据库、云函数 第二步&#xff1a;将新创建的 uni-admin 项目托管到…

2024-07-16 Unity插件 Odin Inspector5 —— Conditional Attributes

文章目录 1 说明2 条件特性2.1 DisableIf / EnableIf2.2 DisableIn / EnableIn / ShowIn / HideIn2.3 DisableInEditorMode / HideInEditorMode2.4 DisableInInlineEditors / ShowInInlineEditors / HideInInlineEditors2.5 DisableInPlayMode / HideInPlayMode2.6 ShowIf / Hi…

目标检测入门:4.目标检测中的一阶段模型和两阶段模型

在前面几章里&#xff0c;都只做了目标检测中的目标定位任务&#xff0c;并未做目标分类任务。目标检测作为计算机视觉领域的核心人物之一&#xff0c;旨在从图像中识别出所有感兴趣的目标&#xff0c;并确定它们的类别和位置。现在目标检测以一阶段模型和两阶段模型为代表的。…

SpringBoot集成MQTT实现交互服务通信

引言 本文是springboot集成mqtt的一个实战案例。 gitee代码库地址&#xff1a;源码地址 一、什么是MQTT MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订阅&#xff08;publish/subscribe&…

IDEA自带的Maven 3.9.x无法刷新http nexus私服

问题&#xff1a; 自建的私服&#xff0c;配置了域名&#xff0c;使用http协议&#xff0c;在IDEA中或本地Maven 3.9.x会出现报错&#xff0c;提示http被blocked&#xff0c;原因是Maven 3.8.1开始&#xff0c;Maven默认禁止使用HTTP仓库地址&#xff0c;只允许使用HTTPS仓库地…

【单片机毕业设计选题24069】-物联网节水灌溉系统设计

系统功能: 完成基于物联网的节水灌溉系统的电路图以及软件代码编写。要求系统可以通过传感器监测土壤的湿度和环境温湿度&#xff0c;如果土壤湿度低于限值和环境温湿度超过限值&#xff0c;则需开启继电器&#xff0c;打开电机水泵进行供水灌溉&#xff1b;当土壤湿度高于限值…

高数知识补充----矩阵、行列式、数学符号

矩阵计算 参考链接&#xff1a;矩阵如何运算&#xff1f;——线性代数_矩阵计算-CSDN博客 行列式计算 参考链接&#xff1a;实用的行列式计算方法 —— 线性代数&#xff08;det&#xff09;_det线性代数-CSDN博客 参考链接&#xff1a;行列式的计算方法(含四种&#xff0c;…