[转帖]Jmeter 参数化
一、Jmeter参数化概念
当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据。
参数化是自动化测试脚本的一种常用技巧。简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;
这样,脚本在运行时就可以根据需要选取不同的参数值作为输入。这种方式通常被称为数据驱动测试(Data Driven Test),参数的取值范围被称为数据池(Data Pool)
二、JMeter参数化方式之使用场景对比
| 参数化方式 | 使用场景 | |
|---|---|---|
| User Parameters(用户参数) | 适用于参数取值范围很小的时候使用 | |
| CSV Data Set Config(CSV数据控件) | 适用于参数取值范围较大的时候使用,该方法具有更大的灵活性 | |
| User Defined Variables(用户自定义变量) | 一般用于Test Plan中不需要随请求迭代的参数设置,如:Host、Port Number | |
| Function Helper(函数助手) | 可作为其他参数化方式的补充项,如:随机数生成的函数${__Random(,,)} |
三、各种方式演示
1、User Parameters(用户参数)
(1)在线程组下面添加用户参数
添加->前置处理器->用户参数,并且设置参数项和参数值

(2)添加http请求
请求参数的值使用用户参数

(3)设置线程数
设置线程数=2,即2个虚拟用户数,对应User Parameters中设置的2个用户
注意这里只能设置线程数2,如果是循环次数设置为2,那么指的是拿用户1循环。

(4)执行结果

2、CSV Data Set Config(CSV数据控件)
(1)新建数据文件

(2)在http请求上添加CSV Data Set Config
添加->配置元件->CVS数据文件设置,设置文件存在路径、文件编码、变量名称

Configure the CSV Data Source配置项&功能:
| 配置项 | 取值or选择项 |
|---|---|
| Filename(文件名) | 参数化文件的读取位置,即保存参数化数据的文件目录。可为绝对路径,也可为相对路径。在分布式测试中,还是利用相对路径比较方便,因为有的机器可能安装路径不一样,同时可避免脚本迁移时需要修改路径 |
| File Encoding(文件编码) | 编码格式,选择utf-8 |
| Variable Names(变量名称) | 变量名称。这里定义的变量名称,后面就可以直接用来引用了。(多个变量名称以逗号隔开,例如username,passwd。参数化文件中同样有对应的两列数据。) |
| Ignore first line(忽略第一行) | 忽略第一行数据(类似LR中第一行数据是变量名称,如果你的配置文件中为了记忆第一行也是变量名,可以选择是忽略该行数据) |
| Delimiter(分隔符) | Variable Names中的参数分隔符,默认为英文逗号 |
| Allow quoted data?(是否允许带引号) | 是否允许引用数据,默认false。选项为“true”时对全角字符的处理可能会出现乱码 |
| Recycle on EOF?(遇到文件结束符再次循环) | 是否循环读取参数文件内容;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入 |
| Stop thread on EOF?(遇到文件结束符停止线程) | 当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义 |
| Sharing mode(共享模式) | 共享模式,即参数文件的作用域:All Threads;Current Thread Group;Current Thread |
(3)设置http请求的参数

(4)设置线程
设置线程数3或者设置循环次数3都可以

(5)执行结果



3、User Defined Variables(用户自定义变量)
(1)添加用户自定义变量
添加->配置元件->用户定义的变量

(2)http请求的参数设置

(3)执行结果

4、Function Helper(函数助手)
(1)打开函数助手对话框,选择需要的函数并配置

(2)http请求参数设置
复制函数助手生成的函数字符串

(3)执行结果
每次执行传的参数都不一样

[转帖]Jmeter 参数化的更多相关文章
- JMeter参数化(一)
JMeter参数化的4种方法:
- 性能测试——jmeter环境搭建,录制脚本,jmeter参数化CSV
一.Jmeter+jdk环境搭建 1.http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk. 直接安装就行了 ...
- Jmeter 参数化请求实例
Jmeter 参数化请求实例 在jmeter中的请求可以参数化,其中参数化的方式有4种: 1.CSV Data Set Config 2.数据库 3.用户自定义变量 4.用jmeter中的函数获取参数 ...
- Jmeter参数化的方法
测试接口时,使用Jmeter在请求中输入参数,若是有多种情况,有多条测试参数,是不是要每个情况逐条输入呢?逐条输入会让人觉得比较麻烦,因此,就有了Jmeter参数化. Jmeter参数化的方法: 用户 ...
- jmeter参数化读取数据进行多次运行
jmeter参数化数据,可以使用csv,还可以使用数据库的方式 1.使用csv读取数据 在线程组中,配置原件中,选择csv data set config 1.本地创建了16个数据,存为test.tx ...
- Jmeter 参数化之 CSV Data Set Config 循环读取参数
对于做接口和性能测试,个人感觉Jmeter是一个非常方便易学的工具,今天随笔记录Jmeter 参数化之 CSV Data Set Config. 首先在开始记录之前,先搞明白2个问题 1.什么是参数化 ...
- Jmeter参数化-CSV Data Set Config
前言 一般来说,我们使用Jmeter来模拟HTTP请求时,比如模拟查询学生信息,我们通常把查询接口的入参(如学生姓名)写在HTTP请求中.当只需要查询1个学生的信息时,我们可以把这名学生的姓名准确的写 ...
- Jmeter参数化、检查点、集合点教程
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的,这个时候我们就可以使用参数化登录. 一.badboy录制需要的脚本.也可以用fiddler ...
- jmeter 参数化大数据取唯一值方式
jmeter 参数化大数据取唯一值方式 一.用时间函数: 因为时间戳永远没有重复,jmeter参数化,而且要取唯一值,可以考虑用时间函数加上其他函数一起: # 以13位的时间戳作为 userID no ...
- jmeter——参数化、关联、断言
1.jmeter——参数化 三种方式: ${变量名} 1.1用户定义的变量 比如注册,登录都得用到手机号码,那就把手机号码自定义为变量 1)添加一个线程组--注册.登录HTTP请求--察看结果树--用 ...
随机推荐
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 04.角色感知组件PawnSensingComponent和更平滑的转身
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本文章对应课程第十一章 43.44节.本文讲述PawnSensingComponent中的视觉感知的使用,以及对 ...
- 2023-08-16:用go语言如何解决进击的骑士算法问题呢?
2023-08-16:用go写算法.一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上, 你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的 ...
- Spring系列:基于注解的方式构建IOC
目录 一.搭建子模块spring6-ioc-annotation 二.添加配置类 三.使用注解定义 Bean 四.@Autowired注入 五.@Resource注入 六.全部代码 从 Java 5 ...
- Redis核心技术与实战
最近在读一篇关于Redis的专栏,叫做<Redis核心技术与实战>,作者在Redis方面研究颇深,读后非常受益,特在此做记录. 一.Redis基础 1)知识图和问题画像图 Redis知识全 ...
- 神经网络基础篇:关于 python_numpy 向量的说明(A note on python or numpy vectors)
关于 python_numpy 向量的说明 主要讲Python中的numpy一维数组的特性,以及与行向量或列向量的区别.并说一下在实际应用中的一些小技巧,去避免在coding中由于这些特性而导致的bu ...
- 云图说 | GPU共享型AI容器,让AI开发更普及
摘要:容器以其独特的技术优势,已经成为业界主流的AI计算框架(如Tensorflow.Caffe)的核心引擎,为了进一步解决企业在AI计算性能与成本上面临的问题,华为云量身打造了AI容器产品. 容器以 ...
- PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据
PNG文件识别 之前写过<JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析>,JPEG文件是以,FFD8开头,FFD9结尾,中间存储着以0xFFE0~0xFFEF ...
- Appuploader工具让ipa上传到App Store 的最新流程和步骤
苹果官方提供的工具xcode上架ipa非常复杂麻烦.用appuploader 可以在 mac 和windows 上制作管理 证书 ,无需钥匙串工具 条件:1.以Windows为例,创建app打包i ...
- 火山引擎 DataTester 揭秘:字节如何用 A/B 测试,解决增长问题的?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 上线六年,字节跳动的短视频产品--抖音已成为许多人记录美好生活的平台.除了抖音,字节跳动旗下还同时运营着数十款 ...
- Axure 弹出框遮罩层灯箱效果
灯箱效果:比较适合Web, 效果不太理想,还是自己做个比较合适 弹出效果:就是弹框 推动效果:A 元件显示的时候,把 B元件往下.右移动.如Web左侧菜二级单效果