jmeter设置关联

一、为什么要设置关联?

http协议本身是无状态的,客户端只需要简单向服务器请求下载某些文件,无论是客户端还是服务端都不去记录彼此过去的行为,每一次请求之间都是独立的。如果jmeter需要设置跨线程组脚本,就必须设置关联,否则无法进行对应的操作。
举个例子,jmeter设置了3个线程组(登录、进入##查询页面、点击查询),如果未设置关联,线程组进入##查询页面、点击查询将无法继承用户成功登录的状态,响应一般会返回“用户未登录系统”
在这里插入图片描述

总结一波,关联的作用就是!!

(我自己是这么觉得的~)
(1)不同线程组之间传递同个值
(2)某传递值不在请求中,在响应文本/响应信息头中,而请求之间需要调用该值才能正常运行
(3)记得添加一个HTTP Cookie管理器(添加后同个线程组就不需要设置关联)

二、如何设置关联?

1、查找关联参数

要设置关联,不得不提到Cookie、Session机制
Session机制需要借助于cookie机制在客户端保存标识,是一种服务器端机制,服务器使用一种类似于散列表的结构来保存信息
做关联的时候可以用sessionid进行关联,下图举个例子帮助理解下Cookie、Session机制的区别与联系(理解不了就算了,咱继续往下看,成功设置关联就完事!)在这里插入图片描述
具体取哪个关联值,可以询问开发,也可使用抓包工具/chrome-F12等方法,查看系统,是在什么时候提供token。
一般查看【点击登录】操作的请求可找到,大部分都是以seesionid/cookie/token来设置,下面的例子取得是token值
在这里插入图片描述

2、添加正则表达式提取器

路径:请求点击鼠标右键-添加-后置处理器- 正则表达式提取器
在这里插入图片描述

取到的值就是一个局部变量,可以在同一个线程组内调用:${token},设置如下
在这里插入图片描述

页面参数说明:
-Apply to默认选中“main sample only”即可,仅作用于父节点取样器;
-要检查的响应字段:由于需要关联的信息在响应结果头部,则选中“信息头”。若需要关联的信息在响应文本中返回,则选中“主体”;
–引用名称:关联参数的名称;
–正则表达式:设置关联函数的左右边界值;
–模板:默认为 1 1 1
–匹配数字:若取到多个值,设置的匹配数字则能选择相应的值,默认为1
–缺省值:默认为空

正则表达式的写法:
格式:左边界(匹配内容)右边界
():封装了待返回的匹配字符串;
. :匹配任何单个字符串;
*:取0至无限长度
? :找到第一个匹配项后停止
(更高深的匹配找度娘,不懂咱就问!)
在这里插入图片描述

3、添加调试取样器

调试取样器用于调试脚本,可查看关联参数的取值情况
路径:右键点击线程组-添加-取样器-调试取样器(Debug Sample)在这里插入图片描述

放置在需要查看的事务(比如登录)后面,点击运行,查看察看结果树下的返回结果。
可以看见,正则表达式成功取值(这里没图啦!察看结果树中对比查看登录请求的响应文本token值和调试取样器的token值一致即可)。

4、设置全局变量

由于jmeter中的线程组是相对独立的,线程组1设置的函数,无法在线程组2中使用,因此,如果需要调用线程组1中的函数,则需要将该函数设置为全局变量。
菜单-工具-函数助手对话框,打开函数助手窗口

在这里插入图片描述

Name of property 设置的函数名称
Value of property 函数取的值
Return original value of property(default false)? 缺省值,默认为空
选择__setProperty函数,输入属性名称及函数取值,点击生成

Ps:点击【生成】就是复制
在这里插入图片描述

添加(BeanShell后置处理器)在这里插入图片描述

将上一步复制的函数字符串粘贴在此处
在这里插入图片描述

此时全局变量则设置完成。
(注意:全局变量函数中,“__”是双下划线)
${__setproperty}为设置全局变量的函数
${__property}为调用全局变量的函数

5、调用全局变量

找到需要调用关联参数的请求,在HTTP信息头管理器中填入变量
在这里插入图片描述

6、检查调用情况

运行脚本,查看察看结果树
(1)查看关联参数取值处请求的响应信息的token
(2)查看调用关联参数请求的请求信息的token
(3)以上两个token一致,调用成功
(4)可以直接看断言是否成功
温馨提示:调试脚本可以将请求先集中在一个线程组中,先排除脚本本身的问题,再设置关联进行跨线程调试。

wuu~~
又是学到知识的一天!
为自己点个赞!
在这里插入图片描述

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

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

相关文章

【开源】基于JAVA+Vue+SpringBoot的教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

Day 1. 学习linux高级编程之Shell命令和IO

1.C语言基础 现阶段学习安排 2.IO编程 多任务编程(进程、线程) 网络编程 数据库编程 3.数据结构 linux软件编程 1.linux: 操作系统:linux其实是操作系统的内核 系统调用:linux内核的函数接口 操作流程&#xff…

深入分析AOP+自定义注解+RBAC实现操作权限管理设计思想

深入分析AOP自定义注解RBAC实现操作权限管理设计思想!经过三个小节的部署,我们已经把这个思想走了一遍。下面内容是对于此次设计思想的一个详细介绍。帮助大家完善透彻的了解,到底自定义注解是如何实现的。以及,权限管理的核心思想…

python numpy np.log 底数

np.log(),以e为底的对数 根据对数函数的性质,如果要以3位底的对数,需要除以np.log(3),即np.log(x)/np.log(3)

[Vue3]父子组件相互传值数据同步

简介 vue3中使用setup语法糖,父子组件之间相互传递数据及数据同步问题 文章目录 简介父传子props传递值 使用v-bind绑定props需要计算toRefcomputed emit传递方法 使用v-on绑定 子传父expose v-model总结 父传子 props传递值 使用v-bind绑定 父组件通过props给子…

春节宅家必备!仅需26元/月,与好友共战《幻兽帕鲁》!

开放世界游戏《幻兽帕鲁》1 月 19 日推出抢先体验版之后,热度连日居高不下,其发售仅 6 天销量就突破了 800 万份,在线人数更是突破了 200 万大关。 因为游戏自身优化问题,不少玩家也遭遇了卡顿、闪退、延迟高等问题。针对此&#…

无人机遥感技术在地质灾害监测应用分析,多旋翼无人机应急救援技术探讨

地质灾害是指在地球的发展演变过程中, 由各种自然地质作用和人类活动所形成的灾害性地质事件。给人民的生命和财产安全带来严重威胁,因此有必要开展地质灾害预测预报、灾害应急和风险区划 遥感技术的快速发展为我们提供了一种获取实时灾害信息的可靠手段…

PS一键磨皮插件Delicious Retouch for mac中文 支持PS2024

Delicious Retouch for Mac是一款优秀的Photoshop插件,专注于人像修饰。以下是该插件的一些主要特点和功能: 软件下载:Delicious Retouch for mac中文 支持PS2024 人像修饰工具:Delicious Retouch专注于人像修饰,提供了…

解决极狐GitLab release 关键字使用中 x509 证书不受信任的问题

release 关键是极狐GitLab CI/CD 中用来发布版本的一个关键字,通常用法如下: release_job:stage: releaseimage: registry.gitlab.com/gitlab-org/release-cli:latestrules:- if: $CI_COMMIT_TAG script:- echo "running release_…

开源软件:技术创新与应用的推动力量

文章目录 每日一句正能量前言开源软件如何推动技术创新开源软件的历史开源软件的开发模式开源软件与闭源软件源代码和开发许可维护特点、支持和成本开源软件的优势减少开支可定制性快速创新发展透明度和安全性 开源软件的应用 常见问题后记 每日一句正能量 不好等待运气降临&am…

【已解决】Oracle 12541 TNS 无监听程序

目录 1、找到Oracle监听服务(OracleOraDb10g_homeTNLListener),停止运行 2、首先查看监听文件是否超过4G 3、修改配置文件 连接oracle突然报错,提示Oracle 12541 TNS 无监听程序,可以按照以下步骤解决 1、找到Ora…

【用Unity开发一款横板跳跃游戏部分需要学习的技术点指南】

*** 用Unity开发一款横板跳跃游戏部分需要学习的技术点指南 空洞骑士是一款基于横板平台跳跃的传统风格2D动作冒险游戏,庞大的游戏世界交错相通,玩家控制小虫子去探索幽深黑暗的洞穴,成为了一代人茶余饭后的惦念,深受玩家喜爱。 …