JMeter 十一:参数化
Test Plan中定义变量
打开测试计划,在用户定义的变量中定义变量。

这里定义了一个HOST变量,值为“www.baidu.com”。
之后就可以使用 ${HOST} 来引用这个变量。

User Defined Variables中定义变量
线程组上右键 –> 添加 –> 配置元件 –> User Defined Variables 。
User Defined Variables最好放置在 Thread Group 的开头位置,或者 Test Plan下面。
Name:输入变量名
Value:输入变量值

使用函数生成动态值
1. 打开函数助手对话框
JMeter –> 选项 –> 函数助手对话框


2. 生成字符串
选择一个功能:这里选择 “__Random”
选择一个功能之后,可以看到下方“函数参数”会随着变化。这里有3个函数参数。
一个范围内的最小值:生成的随机数最小范围,比如我们这里可以输入 “1”。
一个范围内允许的最大值:生成的随机数的最大范围,比如我们这里可以输入“100”。
Name of variable in which to store the result(option):变量名称。比如这里可以输入”var1“。主要用作区分。可以不填。
上面都填写好之后,点击右下方的“生成”按钮,就可以生成函数字符串。这里就是“${__Random(1,100,var1)}”。

3. 使用
在需要用到随机数的地方,用“${__Random(1,100,var1)}”代替即可。
使用 Random Variable 控件生成变量
线程组上右键 –> 添加 –> 配置元件 –> Random Variable 。
Random Variable 会产生随机数字给变量。相当于 User Defined Variables + __Random()函数的结合。
Variable Name: 储存随机数的变量名称。这里就是 “PERTHREAD”。
Output Format:输出格式。默认就是参数的数字。如果定义的话,比如这里是“USER_000”,假设产生的随机数是076,那么PERTHREAD=USER_076。
Minimum Value:产生随机数的最小值
Maximum Value:产生随机数的最大值
Random Seed:随机数产生器的种子。默认是当前时间。
Per Thread:如果选择False,则所有线程共享该随机数产生器。否则,每个线程拥有自己的随机数产生器。

从CSV文件读取数据
1. 新建配置元件
在线程组上右键 –> 添加 –> 配置元件 –> CSV Data Set Config 。

2. 配置元件配置
Filename:这里填写保存数据的文件名。可以是相对路径也可以是绝对路径。这里我把 log.csv和xx.jmx文件放在一个路径下,所以直接填写 log.csv即可。
File encoding:数据文件的编码。可以不填写。
Variable Names:这里填写保存数据的变量名。多个的话,以“,”进行分隔。比如这里填写“num1,num2”,到时候就可以使用 ${num1} 获取变量值。这里的顺序决定取到的数据的内容。
Delimiter:数据文件里面,变量的分隔符。默认是“,”。
Allow quoted data: 这个不知道是啥意思。。。。。
Recycle on EOF :数据读取到最后一行后,是否运行程序从第一行开始继续读取数据。
Stop thread on EOF: Recycle on EOF是 False的情况下,数据读取到最后一行,是否停止Thread。
Sharing mode :这里可以选择哪些Thread 共享数据文件指针。比如选中“All threads”的话,当前Thread读取到第4行,下一个Thread就可以沿着第5行开始读。

3. 使用参数
在需要使用数据的地方,使用 ${num1}即可。
这里没有LoadRunner那么灵活,有多种取值方式。
我试验之后发现,数据是顺序取值。假设线程数是2,循环次数为10。那么第一个Thread 读取第一行数据,第二个Thread读取第二行数据,这样一直顺序下来。如果循环多次,也继续顺序下去,比如第一个Thread进行第二次循环时,就读取第3行数据。
4. 其他
这里也可以使用函数 __CSVRead 来读取CSV数据。这里不细说。

JMeter 十一:参数化的更多相关文章
- 7 jmeter之参数化
badboy里参数化(前面4 jmeter badboy脚本开发技术详解已讲过) jmeter里参数化-1 用户参数 1.打开badboy工具,点击红色按钮开始录制,在地址栏目中输入地址:www.so ...
- Jmeter性能测试-----参数化方法CSVRead函数
Jmeter里面参数化的方法有很多,大家可以结合自己的项目情况来使用哪种方式来调用测试 数据. 下面我给大家介绍下Jmeter里CSVRead函数来获取参数的方法: 我这里已去到直播间发表评论为例(这 ...
- JMeter学习-参数化
JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户 ...
- 转 7 jmeter之参数化
7 jmeter之参数化 badboy里参数化(前面4 jmeter badboy脚本开发技术详解已讲过) jmeter里参数化-1 用户参数 1.打开badboy工具,点击红色按钮开始录制,在地 ...
- 聊一聊Jmeter的参数化
背景 前面一篇讲了 JMeter 的一个最简单的例子,这篇聊一下 JMeter 的参数化. 在开始之前先来一个单元测试的例子,感受一下参数化. 上面是一个用 xUnit 写的单元测试,这个单元测试就是 ...
- Jmeter之参数化
Jmeter参数化分为两类,一类是在badboy录制脚本时进行参数化,二是再Jmeter里进行参数化 一:badboy录制脚本时进行参数化的步骤 1.脚本录制成功后->在左下角,点击variab ...
- JMeter学习参数化User Defined Variables与User Parameters
偶然发现JMeter中有两个元件(User Defined Variables与User Parameters)很相近,刚开始时我也没注意,两者有什么不同.使用时却发现两者使用场景有些不同,现在小结一 ...
- 【jmeter】参数化User Defined Variables与User Parameters
偶然发现JMeter中有两个元件(User Defined Variables与User Parameters)很相近,刚开始时我也没注意,两者有什么不同.使用时却发现两者使用场景有些不同,现在小结一 ...
- Jmeter使用——参数化
最近一个想项目使用jmeter进行测试,陆续将遇到并解决的问题记录下来,本次主要记录参数化得一些问题. 1. 单台压力机 多个线程组不重复数字,注意分布式负载时多个压力机会出现重复的问题 主要思路分别 ...
随机推荐
- LOJ #6280. 数列分块入门 4-分块(区间加法、区间求和)
#6280. 数列分块入门 4 内存限制:256 MiB时间限制:500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 题目描述 给出一个 ...
- 洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]
题目传送门 黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 8 的倍数, 于是每 ...
- Java流(一)
流: 概念:Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存中,形成了流,然后将这些流还可 以写到另外的目的地(文 ...
- Tyvj1933绿豆蛙的归宿
给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以 ...
- 如何使用Web字体?
如何使用Web字体 嵌入Web字体的关键是@font-face规则,通过它可以指定浏览器下载web字体的地址,以及如何在样式表中引用该字体 @font-face { font-family: Voll ...
- CSS页面排版的一点笔记
CSS页面排版 字体族 字体族的值是一个字体备选列表,多个字体使用英文逗号隔开,字体名称如果有空格则需要引号. font-family: "Georgia Pro", " ...
- Python开发基础-Day8-装饰器扩展和迭代器
wraps模块 让原函数保留原来的说明信息 import time import random from functools import wraps def auth(func): '''auth ...
- [BZOJ1563][NOI2009]诗人小G(决策单调性优化DP)
模板题. 每个决策点都有一个作用区间,后来的决策点可能会比先前的优.于是对于每个决策点二分到它会比谁在什么时候更优,得到新的决策点集合与区间. #include<cstdio> #incl ...
- Semaphore(信号量)源码分析
1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现. 关 ...
- linux安装Node(Centos)
步骤 1.打开node官网,找到node版本的下载地址 这里我找到的地址是: https://npm.taobao.org/mirrors/node/v8.2.1/node-v8.2.1-linux- ...