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://xiahunao.cn/news/3247891.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

“论软件维护方法及其应用”精选范文,软考高级论文,系统架构设计师论文

论文真题 软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范围内,为了改正错误或满足 新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的, 根据维护的原因不同,可以将软件维护…

FastAPI 学习之路(五十六)将token缓存到redis

在之前的文章中,FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,FastAPI 学习之路(二十八)使用密码和 Bearer 的简单 OAuth2,FastAPI 学习之路&…

[Redis]典型应用——缓存

什么是缓存 缓存(Cache)是一种用于临时存储数据的机制,目的是提高数据访问速度和系统性能。 核心思路就是把一些常用的数据放到触手可及(访问速度更快)的地方,方便随时读取 缓存是一个相对的概念,比如说&#xff0c…

域泛化(Domain Generalization)

仓库:https://github.com/jindongwang/transferlearning 综述:https://arxiv.org/pdf/2103.03097、https://arxiv.org/pdf/2103.02503 1.问题及解决方案 出发点:需要解决domain shift、out-of-distribution (OOD)问题 解决方案:绕…

面试题整理 - 进程与线程问题

1.进程线程区别: 1.从本质上区分: 进程是操作系统资源分配的基本单位 线程是任务调度和执行的基本单位 2.在开销方面: 每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销 线程可以看做轻量级的进程&…

爬虫案例(读书网)(下)

上篇链接: CSDN-读书网https://mp.csdn.net/mp_blog/creation/editor/139306808 可以看见基本的全部信息:如(author、bookname、link.....) 写下代码如下: import requests from bs4 import BeautifulSoup from lxml import etreeheaders{…

设计模式:真正的建造者模式

又臭又长的set方法 经常进行Java项目开发使用各类starter的你一定见过这种代码: public class SwaggerConfig {Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any…

解决VMware虚拟机在桥接模式下无法上网的问题

解决VMware虚拟机在桥接模式下无法上网的问题 windows11系统自动启动了热点功能,开启热点可能会干扰虚拟机的桥接设置。 方法一:windows11可以提供网络热点服务 方法二:手动指定桥接的物理网卡 方法一:关闭热点功能 优点&#xff…

少儿编程启蒙宝典:Scratch动画游戏108变

一、编程教育的时代价值与意义 随着数字时代的深入发展,社会对人才的需求正发生深刻变革,计算思维与编程能力已成为衡量个人竞争力的重要指标。在此背景下,培养孩子们运用计算思维解决实际问题的能力,成为教育领域的重要任务。编…

运动用什么骨传导耳机好?推荐这五款运动骨传导耳机!

在运动生涯,我见证了自我挑战与超越的每一个瞬间,而这一切都离不开那如影随形的运动骨传导耳机。一款出色的运动耳机,其重要性不言而喻——它不仅是提升运动效率的得力助手,更是开启多元化运动体验的金钥匙。近年来,运…

网络结构-组件-AI(九)

深度学习网络组件 RNN公式讲解计算示意图讲解 CNN计算示意 Normalization(归一化层)Normalization常见两种方式 Dropout层 RNN 循环神经网络(recurrent neural network) 主要思想: 即将整个序列划分成多个时间步,将每一个时间步的…

创建通用JS公共模块并发布至npm

title: 创建通用JS公共模块并发布至npm tags: UMD rollup verdaccio npm categories: 模块化 概要内容 创建:JS公共模块 打包:使用rollup 打包公共模块 发布:js公共模块至verdaccio平台 发布:js公共模块至npm平台 如何创建JS公共模…

媒体邀约宣传做了13年,我们总结了哪些经验?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 「51媒体」作为一家在媒体邀约宣传领域深耕13年的专业机构,积累了一些经验。现在与大家分享下: 合理的制定媒体邀约传播方案 在进行媒体邀约前,首先需…

木舟0基础学习Java的第二十天(线程,实现,匿名有名,休眠,守护,加入,设计,计时器,通信)

多线程 并发执行的技术 并发和并行 并发:同一时间 有多个指令 在单个CPU上 交替执行 并行:同一时间 有多个指令 在多个CPU上 执行 进程和线程 进程:独立运行 任何进程 都可以同其他进程一起 并发执行 线程:是进程中的单个顺…

【人工智能】深度剖析AI伦理:强化隐私防线,推动算法公平性的核心议题

文章目录 🍊1 人工智能兴起背后的伦理及道德风险1.1 算法偏见与歧视1.2 数据隐私侵权1.3 透明度受限1.4 决策失衡1.5 AI生成内容的危险性 🍊2 建构AIGC伦理观:实现人机共创的永续提升2.1 技术手段与伦理预防2.2 即时警告与紧急关停措施2.3 法…

图片如何去水印,PS 图片去水印的几种常见方法

在数字图像的世界里,水印常常被用来标识版权或防止未经授权的使用,但有时它们却成为了美观的障碍。无论是出于个人偏好还是专业需求,去除图片上的水印已经成为一项常见的任务。 Adobe Photoshop 作为行业标准的图像编辑软件,提供…

队列(Queue),循环队列,双端队列(Deque)and LeetCode刷题

队列(Queue),循环队列,双端队列(Deque)and LeetCode刷题 1. 队列的概念2.队列的使用3. 队列的模拟实现3.1 用链式结构实现队列3.2 用顺序结构实现队列 4. 循环队列5. 双端队列(Deque&#xff09…

【内网安全】横向移动-Wmi-Smb-CME密码喷射

目录 环境介绍域信息收集-横向移动前置判断是不是在域内获取域控主机的内网ip端口扫描内网获取主机密码 域横向移动-WMI-自带&命令&套件&插件1.wmic系统自带:(单执行:即无回显) 2.cscript系统自带:(交互式) 3.wmiexec-impacket&a…

文献阅读:A Case for Managed and Model-less Inference Serving

目录 知识点记录推理服务在线推理特点 动机:为什么作者想要解决这个问题?贡献:作者在这篇论文中完成了什么工作(创新点)?规划:他们如何完成工作?1.挑战1.1 选择一个模型变体1.2 异构硬件1.3 资源提供1.4 启…

MySQL双主双从实现方式

双主双从(MM-SS) 前言 避免单一主服务器宕机,集群写入能力缺失 从 1 复制 主1 ,从 2 复制 主 2 主 1 复制 主 2,主 2 复制主 1 也就是 主 1 和主 2 互为主从。主1主2互为主从, 是为了以下情景&#xff0c…