Jmeter实现参数化的4种方式

发布时间:2026/7/8 5:57:43

Jmeter实现参数化的4种方式
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快参数化释义什么是参数化从字面上去理解的话就是事先准备好数据广义上来说可以是具体的数据值也可以是数据生成规则而非在脚本中写死脚本执行时从准备好的数据中取值。参数化是自动化测试脚本的一种常用技巧可将脚本中的某些输入使用参数来代替如登录时利用GET/POST请求方式传递参数的场景在脚本运行时指定参数的取值范围和规则。脚本在运行时根据需要选取不同的参数值作为输入该方式称为数据驱动测试Data Driven Test而参数的取值范围被称为数据池Data Pool。JMeter提供了多种参数化方式下面就其中常用的4种展开阐述。方式适用场景CSV Data Set Config我们通常所指的参数化。数据存储在文件中参数化取值范围大灵活性强User Parameter适用于参数取值范围很小时函数助手_Random等函数生成随机数字和随机字符串实现参数化User Defined Variables用户自定义变量更多用于设置全局变量参数化实现CSV Data Set Config在JMeter中提起参数化我们默认就想到CSV Data Set Config以下简称CSVCSV能够读取文件中的数据并生成变量被JMeter脚本引用从而实现参数化。下面我们来详细探究一下。CSV简介线程组右键–添加–配置元件–CSV Data Set Config就创建了一个CSV界面是这个样子的各项参数详解如下参 数描 述必 须Name脚本中显示的这个元件的描述性名称是Filename文件名。待读取文件的名称。可以写入绝对路径也可以写入相对路径相对于bin目录如果直接写文件名则该文件要放在bin目录中。对于分布式测试主机和远程机中相应目录下应该有相同的CSV文件是File Encoding文件编码。文件读取时的编码格式不填则使用操作系统的编码格式否Variable Names变量名称。多个变量名之间必须用分隔符分隔。如果该项为空则文件首行会被读取并解析为列名列表否Ignore first line是否忽略首行如果csv文件中没有表头则选择false是Delimiter分隔符。将一行数据分隔成多个变量默认为逗号也可以使用“\t”。如果一行数据分隔后的值比Vairable Names中定义的变量少这些变量将保留以前的值如果有值的话是Allow quoted data?是否允许变量使用双引号允许的话变量将可以括在双引号内并且这些变量名可以包含分隔符否Recycle on EOF?遇到文件结束符是否再次循环默认为 true是Stop thread on EOF?遇到文件结束符是否停止线程默认为 true是Recycle on EOF?当Recycle on EOF为False时停止线程当Recycle on EOF为True时此项无意义默认为 false是Sharing mode线程共享模式。1、All threads默认一个线程组内各个线程用户唯一顺序取值2、current thread一个线程组内各个线程用户各自顺序取值3、线程组各自独立但每个线程组内各个线程用户唯一顺序取值是需要着重说明一下的是Sharing mode也就是线程共享模式。线程共享模式是指多个线程对文件数据取值顺序模式JMeter提供了3种模式All threads所有线程。如果脚本有多个线程组在这种模式下各线程组的所有线程也要依次唯一顺序取值。例如脚本有2个线程组各有2个线程文件内有5行数据脚本运行时将如下图一样循环往复取值Current thread group当前线程组。各个线程组之间隔离线程组内的线程顺序唯一取值。Current thread当前线程。这种模式下每个线程独立顺序唯一取值。CSV实例下面看一个实例。首先有userInfo.txt的文件放置在bin目录中内容如下文件名文件在bin目录中使用相对目录变量名称两列数据分别属于mobile和password两个变量分隔符以逗号分割在HTTP请求中引用CSV生成的变量的方式是${变量名}的方式运行脚本察看结果树可以看到文件中的数据被脚本成功引用。JMeter使用CSV实现参数化就是这么简单。注意事项CSV使用中最常见的一个问题是文件路径不对。当遇到这种问题时因为运行脚本没有明显提示许多人遇到后会感觉很懵不知道问题在哪。其实仔细观察会发现右上角黄色三角处数字在增加点击该区域便打开了日志日志里记录了相应错误File userInfo2.txt must exist and be readable也就是提示参数化文件不存在或路径不可达。User ParametersUser Parameters也就是用户参数也能实现参数化。创建方式HTTP请求上右键–添加–前置处理器Pre processors–用户参数。通过【添加变量】添加mobile和password两个变量通过【添加用户】添加3组数据在HTTP请求中引用参数化的数据运行脚本设置好的数据被成功引用。这种方式相对来说简易一些数据范围有限适用场景也少。而且每个线程会一直使用一组数据。例如设置4个线程并发那么线程1使用用户_1的数据线程2使用用户_2的数据线程3使用用户_3的数据线程4使用用户_1的数据无论各个线程循环多少次。用户定义的变量用户自定义的变量也可以实现请求参数的参数化。创建方式线程组上右键–配置元件config element–用户定义的变量。如上图用起来也很简单添加变量名和相对应的值就可以了。后面引用变量和前面一样使用${mobile}的方式。【用户定义的变量】一般并非用来做HTTP请求参数化而是用来定义全局变量比如参数化文件路径、host、url等。【用户定义的变量】创建在【线程组】上则在线程组内生效如果创建在【Test Plan】上则对所有线程组生效。Random函数助手中的Random函数创建方式Tools–函数助手对话框–选择一个功能–_Random上图中生成了一个表达式${__Random(8000,9000,)}我们用这个表达式替换想要参数化的变量值例如下图中的price变量运行脚本察看结果树可以看到效果这种方式适用于值在一定区间无规律随机取值的变量参数化例如价格、数量等并不适用于有较强规则的变量进行参数化例如手机号。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

相关新闻

跨平台PDM文件解析利器:ParsePDM深度解析与实战指南

跨平台PDM文件解析利器:ParsePDM深度解析与实战指南

2026/7/8 5:47:43

跨平台PDM文件解析利器:ParsePDM深度解析与实战指南 【免费下载链接】ParsePDM Mac os 查看PDM文件 项目地址: https://gitcode.com/gh_mirrors/pa/ParsePDM 在Mac OS环境下优雅查看PDM文件,ParsePDM项目为开发者提供了高效的跨平台解决方案。这个…

FFmpeg 6.1 视频变速实战:setpts与atempo滤镜详解,音画同步3种方案对比

FFmpeg 6.1 视频变速实战:setpts与atempo滤镜详解,音画同步3种方案对比

2026/7/8 5:47:43

FFmpeg 6.1 视频变速实战:setpts与atempo滤镜深度解析与音画同步方案对比 在视频处理领域,变速操作是最基础也最常用的功能之一。无论是制作快节奏的短视频内容,还是需要慢放分析细节的专业场景,变速技术都扮演着关键角色。FFmpeg…

vue3组合式函数(Composables)的艺术——将业务逻辑从UI组件中连根拔起

vue3组合式函数(Composables)的艺术——将业务逻辑从UI组件中连根拔起

2026/7/8 5:47:43

上一篇文章我们把目录按 DDD 拆得很漂亮&#xff0c;但打开组件一看&#xff0c;<script setup>里还是塞满了接口请求、表单校验、定时器清理……这不就是换了个地方的意大利面吗&#xff1f;目录结构只是物理层面的解耦&#xff0c;真正的灵魂解耦&#xff0c;在于你如何…

DDrawCompat:终极DirectDraw兼容性解决方案,让经典游戏在Windows 10/11上完美运行

DDrawCompat:终极DirectDraw兼容性解决方案,让经典游戏在Windows 10/11上完美运行

2026/7/8 7:17:46

DDrawCompat&#xff1a;终极DirectDraw兼容性解决方案&#xff0c;让经典游戏在Windows 10/11上完美运行 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: htt…

GTA5线上小助手:一站式免费开源游戏增强工具集

GTA5线上小助手:一站式免费开源游戏增强工具集

2026/7/8 7:17:46

GTA5线上小助手&#xff1a;一站式免费开源游戏增强工具集 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 还在为GTA5线上模式的复杂操作而烦恼吗&#xff1f;想要更轻松地定制角色、优化载具性能、快速…

如何选择合适的锡膏存储方案?

如何选择合适的锡膏存储方案?

2026/7/8 7:17:46

选型核心原则在选择合适的锡膏存储方案时&#xff0c;应重点关注其是否能够实现全流程的自动化管理、精准的温控能力、数据追溯以及系统集成等关键维度。本文旨在提供一个全面的选型方法论&#xff0c;而非推荐具体产品或品牌。通用选型标准1. 全流程自动化管理理想的智能锡膏存…

不会写代码怎么选量化软件:回测提醒和仓位记录要清楚

不会写代码怎么选量化软件:回测提醒和仓位记录要清楚

2026/7/8 7:17:46

不会写代码的人选量化软件&#xff0c;先别追复杂框架。更实用的检查项是&#xff1a;回测能不能看懂&#xff0c;提醒有没有原因&#xff0c;仓位和止损有没有记录。牛股王股票这类面向普通投资者的量化辅助软件&#xff0c;适合把低门槛规则、最长 5 年历史回测、智能盯盘、调…

基于WebView2与健康度引擎的Cloudflare友好型数据采集方案

基于WebView2与健康度引擎的Cloudflare友好型数据采集方案

2026/7/8 7:17:46

摘要&#xff1a;本文介绍了一种使用 WebView2 真实浏览器配合 Session 健康度引擎&#xff0c;实现任意 IP 稳定通过 Cloudflare 验证的低成本数据采集方案。通过实时评估 Cloudflare 反馈动态调整请求间隔&#xff0c;结合基于 OpenCV 的系统级自动点击&#xff0c;让采集行为…

DDrawCompat:3步解决Windows老游戏兼容性难题的终极方案

DDrawCompat:3步解决Windows老游戏兼容性难题的终极方案

2026/7/8 7:07:46

DDrawCompat&#xff1a;3步解决Windows老游戏兼容性难题的终极方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDra…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能&#xff1a;SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/8 6:29:42

1. 项目概述&#xff1a;6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下&#xff0c;AI工程师岗位需求同比增长217%&#xff08;LinkedIn数据&#xff09;。不同于传统算法工程师需要3-5年培养周期&#xff0c;现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/7 13:20:59

1. 项目背景与核心价值在计算机视觉领域&#xff0c;YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备&#xff08;如树莓派、Jetson Nano或手机终端&#xff09;时&#xff0c;立刻会遇到两个致命问题&#xff1a;模型体积庞大&#xff08;原始YO…

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

2026/7/8 0:07:15

1. 项目概述&#xff1a;这不是又一个笔记软件教程&#xff0c;而是一套可复用的“认知操作系统”搭建逻辑你有没有试过&#xff0c;在读完Andrej Karpathy那篇著名的《Software 2.0》之后&#xff0c;满脑子都是“神经网络即代码”的震撼&#xff0c;但合上网页&#xff0c;打…

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

2026/7/8 0:07:15

校园服饰细分赛道测算程序&#xff08;Python&#xff09;——学生平价国风 & 机能穿搭市场规模预估&#xff08;TAM / SAM / SOM&#xff09;一、实际应用场景描述&#xff08;真实业务抽象&#xff09;在《时尚产业与品牌创新》课程中&#xff0c;细分市场切入&#xff0…

Visual C++运行库完整解决方案:告别软件兼容性问题

Visual C++运行库完整解决方案:告别软件兼容性问题

2026/7/8 0:07:15

Visual C运行库完整解决方案&#xff1a;告别软件兼容性问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾为打开游戏时弹出的"DLL缺失"错误…