Jmeter的几种参数化方式

1.为什么要做参数化?

        在用jmeter脚本进行压测的时候,为了更真实的模拟起到更好的效果,我们需要让参数动态变化起来,也就是参数化。通过参数化我们也可以更好、更灵活的维护我们的测试脚本。

2.参数化的方式

        能够实现参数化的方式有很多种,比如定义全局变量、通过函数助手、从文件中读取等方式,这里先只描述几种我比较熟悉的参数化方式,其它的之后再进行补充完善。

2.1.定义全局变量

        定义全局变量非常简单,只需要在测试计划页面“用户定义的变量”下维护变量名和对应的变量值,然后在需要调用变量的地方使用${变量名}即可调用变量实现参数化,如下图所示。

2.2.函数助手

        函数助手也是我们经常用于参数化的方式之一,可以选择随机数(_Random)或者随机字符串(_RandomString)通过生成随机数据来进行参数化。

2.2.1.随机数

        想用随机数可以在函数助手中选择_Random函数,然后设置最小值和最大值,点击生成按钮可以生成随机数的表达式,将其拷贝到所需要引用的地方即可,如生成1000~9999范围内的随机数,如下图所示。

2.2.2.随机字符串

         想用随机字符串可以在函数助手中选择_RandomString函数,然后设置字符串长度和取值范围,点击生成按钮可以生成随机字符串的表达式,将其拷贝到所需要引用的地方即可,如生成1000~9999范围内的随机数,如下图所示。

2.3.从文件中读取

        在函数助手中选择_CSVRead函数,在“用于获取值的CSV文件|*别名”处维护待参数化文件的路径,在“CSV文件列号”所在行维护取值列,然后点击生成按钮,即可生成变量表达式,如下图所示。

        参数化文件中列与列之间用英文逗号分隔,在参数化取列的值时0代表第一列,1代表第二列,依此类推。

 

        在实际执行过程中还发现,当有多个线程循环读取的时候,每个线程只读取1行值,如5个线程循环2次,共执行10次,只会读取到前5行所在值,1个线程循环10次都在读取第一行所在值。

 

小结:

         csv_read函数特点:每个并发用户只读取1行,且永远使用同一行数据,无论并发用户循环多少次,执行多少个http请求。

        使用场景:某些业务场景是流程式,需要分成多个http请求,且多个http请求需要用到一个共同的参数,如:用户id、用户名。

2.4.csv文件参数化

        在线程组中添加“CSV数据文件设置”配置元件,在文件设置中“文件名”处维护参数化文件的路径,文件编码根据需求选择,我这里选择“UTF-8”,在“变量名称”处维护要从文件中取值的变量名,如果要取多列值,不同变量之间用英文逗号分隔,“分隔符”所在处输入英文逗号,在需要引用变量的地方用${变量名}进行引用即可。

        需要注意的是:遇到文件结束符再次循环和遇到文件结束符停止线程两个值是相反的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 磁盘分区步骤

1.lsblk用于查看磁盘分区情况,lsblk -f用于查看uuid字符串以及挂载点。 以下是虚拟机部分添加磁盘的步骤。 其余没展示的都按照默认设置进入下一步即可。 2.添加完成后使用reboot重新进入后再使用lsblk就会发现磁盘sdb已经有了,但是没有分区。现在添加分…

LitCTF2024部分wp

litctf wp 第一次ak了web和misc,非常激动,感谢lictf给我这个机会 最终成果 全靠队里的密码逆向✌带飞。一个人就砍了近一半的分数 这里是我们队的wp web exx 题目名反过来就是xxe,考察xxe,查看登录的数据包 发现传的就是xml…

华为高斯数据库招聘

西安华为,部门直招数据库开发,测试,维护,hc充足,流程快。 语言不限,专业不限,与业内数据库大佬共事,致力于做数据库行业领军者。 一、岗位职责: 1.负责数据库系统内核模…

Qt信号槽与函数直接调用性能对比

1. 测试方法 定义一个类Recv,其中包含一个成员变量num和一个成员函数add(),add()实现num的递增。 另一个类Send通过信号槽或直接调用的方法调用Recv的add函数。 单独开一个线程Watcher,每秒计算num变量的增长数值,作为add函数被调…

SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束的无损凸化

上一篇blog翻译了 Lars Blackmore(Lars Blackmore is principal rocket landing engineer at SpaceX)的文章,SpaceX 使用 CVXGEN 生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载…

Spring自带定时任务@Scheduled注解

文章目录 1. cron表达式生成器2. 简单定时任务代码示例:每隔两秒打印一次字符3. Scheduled注解的参数3.1 cron3.2 fixedDelay3.3 fixedRate3.4 initialDelay3.5 fixedDelayString、fixedRateString、initialDelayString等是String类型,支持占位符3.6 tim…

用幻灯片讲解C++手动内存管理

用幻灯片讲解C手动内存管理 1.栈内存的基本元素 2.栈内存的聚合对象 3.手动分配内存和释放内存 注意:手动分配内存,指的是在堆内存中。 除非实现自己的数据结构,否则永远不要手动分配内存! 即使这样,您也应该通过std::allocator…

gitlabcicd-k8s部署runner

一.环境信息 存储使用nfs挂载持久化 k8s环境 helm安装 建议helm 3 二.部署gitlab-runner 1.查看gitlab版本 进入容器可通过执行:gitlab-rake gitlab:env:info rootgitlab-647f4bd8b4-qz2j9:/# gitlab-rake gitlab:env:info System information System: Current Us…

重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)

重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介) 3.3 内容协商3.3.1 基础简介3.3.2 演示效果 3.3 内容协商 3.3.1 基础简介 默认规则 基于请求头的内容协商(默认开启) 客户端向服务器发送请求,携带 HTTP 标…

php: centos+apache 启动php项目

指导文件 :PHP: Apache 2.x on Unix systems - Manual 下载路径 :Index of /httpd configure: error: APR not found. 解决方案: APR(Apache Portable Runtime)库。APR是Apache HTTP服务器的可移植运行时环境&…

51建模网3D编辑器:一键为3D模型设置特殊材质

3D设计师要对3D模型设置玻璃或者钻石材质时,操作比较复杂,但是利用51建模网的3D编辑器,不用下载安装软件,在线通过浏览器即可编辑,具有一键设置特殊材质的功能。目前,它支持钻石材质、玻璃材质和水波纹材质…

nvme-cli常见命令分析

一、背景 nvme-cli命令常常用于获取或者设置SSD参数,比如常见的nvme list,nvme id-ctrl等,都是获取SSD的基本信息,也有nvme admin-passthru用于读取或者设置自定义命令。作为使用者,我们并不知道nvme-cli源码怎么实现…

程序员修炼之道 07:调试

不记录,等于没读。 这里是我阅读《程序员修炼之道》这本书的记录。 软件缺陷以各种方式表现出来,从对需求的误解到编码错误。现在的计算机系统仍有局限性,能干你让它干的事情,但不一定能干你想让它干的事情。本章介绍调试中涉及的…

基于STC12C5A60S2系列1T 8051单片机实现串口调试助手软件与单片机相互发送数据的RS485通信功能

基于STC12C5A60S2系列1T 8051单片机实现串口调试助手软件与单片机相互发送数据的RS485通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功…

编译原理总结

编译器构成 1. 前端分析部分 1.1 词法分析 确定词性,输出为token序列 1.2 语法分析 识别短语 1.3 语义分析 分析短语在句子中的成分 IR中间代码生成 2. 机器无关代码优化 3. 后端综合部分 目标代码生成 机器相关代码优化 4. 其他 全局信息表 异常输出

SOCKS 代理 和 HTTP 代理, WebSocket

SOCKS 代理 和 HTTP 代理 的区别 SOCKS 代理 和 HTTP 代理 都是代理服务器,它们充当客户端和目标服务器之间的中介,但它们的工作方式和应用场景有所不同。 1. SOCKS 代理: 工作原理: SOCKS 代理是一种更底层的代理,…

列存在 OceanBase 数据库架构中的应用与演进

OceanBase 4.3 版本上线了列存功能,以满足实时分析的需求。 本文作为《特性解读:列存技术》的后续,将详细阐述列存技术在OceanBase数据库架构中的应用、发展历程,以及未来的趋势。 一、前言 1970 年,关系模型之父 Co…

Java物业管理系统+数据库应用程序开发[JavaSE+JDBC+idea控制台+MySQL]

背景: 使用JavaSEJDBCMySQL技术实现一个物业管理系统,具体要求如下 物业管理系统需求: 需求分析 1.1用户需求分析 在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统,为…

PCL 抛物线回归拟合(Quadratic,二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里仍然是最小二乘法的应用,其推导过程如下所述: 1.二次函数模型: 其中,a、b 和 c 是需要确定的参数。 2.最小二乘法 假设我们有一组数据点 ( x 1 ​ , y

负压实验室设计建设方案

随着全球公共卫生事件的频发,负压实验室的设计和建设在医疗机构中的重要性日益凸显。负压实验室,特别是负压隔离病房,主要用于控制传染性疾病的扩散,保护医护人员和周围环境的安全。广州实验室装修公司中壹联凭借丰富的实验室装修…