性能测试之(九):JMeter关联

关联:当请求之间有依赖关系,比如下一个请求的入参是上一个请求返回的数据,这需要进行关联处理;
关联场景1:登录之后返回token,后续的请求需要带token;

常用的关联方法:(在后置处理器中)正则表达式提取器;Xpath提取器;JSON提取器;

一、正则表达式提取器

1、正则表达式介绍

.:是通配符,可以代表任意字符(除回车换行);
*:代表前边的字符出现0次或多次;
?:代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的右边界就停止继续查找右边界;
在这里插入图片描述

2、正则表达式提取器

2.1 正则表达式提取器参数介绍
在这里插入图片描述
2.2 正则表达式提取器使用示例
(1)场景:提取https://www.taobao.com的title中的数据,作为http://www.baidu.com 的参数
(2)操作步骤:
首先新建线程组-新建http(https://www.taobao.com)请求1–>在请求1 下添加 正则表达式提取器–>填写正则表达式提取器内容–>添加http请求2–>http请求2调用http请求1的响应结果作为参数
在这里插入图片描述
在这里插入图片描述
(3)结果如下:
在这里插入图片描述
若正则表达式提取器的结果有多个,可以用Debug Sampler(调试取样器),查看列表中每个值对应的参数名

二、XPath提取器

使用场景:返回的数据是页面的元素时(返回的还是html格式);
XPath提取器参数介绍
在这里插入图片描述

三、JSON提取器

使用场景:适用于返回的数据类型为JSON格式的情况;
参数介绍:
在这里插入图片描述
小tips:如果某个数据包含在上一层的目录下的[]中,则无法提取该数据,只能整个层级一起提取;

四、跨线程组关联(多个线程组执行时,根据情况选择测试计划是否需要串行)

当有依赖关系的2个请求,放入到不同的线程组中时,就不能使用 提取器 保存的变量来传递参数,而是要使用JMeter属性来传递参数

1、JMeter属性的配置方法

函数实现:
1._setProperty函数:将值保存成JMeter属性
2._property函数:在其他线程组中使用property读取属性

2、操作步骤

(1)创建第一个线程,并添加第一个http请求,在第一个http请求中添加JSON提取器
在这里插入图片描述

(2)在线程一 中添加BeanShell取样器 ,并用_setProperty函数生成一个函数,并将函数复制到BeanShell取样器中。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2c93b4295ec648df88ad26a969be992d.png
在这里插入图片描述

3、创建线程2 ,并添加取样器二,使用函数助手的property生成一个函数
在这里插入图片描述
在这里插入图片描述
4、查看返回结果:
在这里插入图片描述

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

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

相关文章

Unity | 渡鸦避难所-5 | 角色和摄像机之间的遮挡物半透明

1 前言 角色在地图上移动到岩石后面时,完全被岩石遮挡,玩家只能看到岩石。这逻辑看起来没问题,但并不是玩家想要看到的画面,玩家更希望关注角色的状态 为了避免角色被遮挡,可以使用 Cinemachine Collider 功能&#x…

AI:110-基于深度学习的药物分子结构生成与预测

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

C++面向对象语法总结(二)

目录 《C面向对象语法总结(一)》 十一、继承 继承,可以让子类拥有父类的多有成员(变量、函数)如下面的代码:Student是子类(subclass,派生类),Person是父类(superclass…

echarts点击柱子、线节点、横坐标标签

echarts点击柱子、线节点、横坐标标签 x轴标签要为标签文字添加点击事件,必须先在xAxis里设置响应事件 xAxis: {triggerEvent: true, },然后直接监听 thisChart.on("click" ,function (params) {console.log(params) });通过params.componentSubType来…

互联网分布式应用之SpringCloud

SpringCloud Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 微服务项目介绍 2. Eure…

深度学习:大规模模型分布式训练框架DeepSpeed

深度学习:大规模模型分布式训练框架DeepSpeed DeepSpeed简介DeepSpeed核心特点DeepSpeed如何工作?DeepSpeed如何使用?参考文献 DeepSpeed简介 随着机器学习模型变得越来越复杂和庞大,训练这些模型所需的计算资源也在不断增加。特别…

开源CalDAV和CardDav网页客户端InfCloud

本文应网友 畅天 的要求折腾。他遇到了跨域问题,所以老苏找了个二合一的镜像来规避。其中使用的 Baikal 和 InfCloud 都是最新的版本; 什么是 Baikal ? Baikal 是一个免费的开源自托管 CalDAV 和 CardDAV 服务器,适用于想要管理其…

智能化校园:深入探讨云端管理系统设计与实现(二)

系列文章目录 智能化校园:深入探讨云端管理系统设计与实现(一) 文章目录 系列文章目录功能开发登录功能分析验证码功能实现登录校验功能登录后跳转功能 系统管理器实现验证码响应图片功能实现异步图片上传头像功能实现全局修改密码功能实现 …

PAM认证

介绍 PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些 动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理 员可以灵活地根据需要给不同的服务配置不同的认证…

【Spring】19 AOP介绍及实例详解

文章目录 1. 定义1)什么意思呢?2)如何解决呢? 2. 基本概念1)切面(Aspect)2)切点(Pointcut)3)通知(Advice)4)连…

mysql生成数据库字典文档

项目交付离不开项目数据库字典文档。下面用python轻松生成交付文档字典。 一 生成doc文档数据库字典效果: 1 生成doc文件,如下图: 2 打开文件字典格式内容 ,如下图: 二 python生成doc字典文档代码 生成doc数据库字典…