jmeter 参数化3种
一、利用函数助手获取参数值
选项->函数助手对话框
__CSVRead,
__Random,
生成的函数字符串:${__Random(,,)}第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;
${__CSVRead(,)}第一个参数是文件名(包含路径),第二个参数是文件中的列(列数从0开始);
参数化数据
__CSVRead:复制生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以了,点击运行会调用相应路径下的参数文件
_Random函数是从某数据段随机读取数据替换参数,当需要添加多条数据记录且某些字段需要唯一性时使用。
二、利用配置元件(CSV Data Set Config)
1.选中线程组,点击右键,添加-配置元件-CSV Data Set Config
1)、Filename:文件名,指保存信息的文件目录,可以相对或者绝对路径
2)、File encoding:csv文件编码,可以不填,一般为UTF-8
3)、Variable Names(comma-delimited):变量名称,用逗号分隔,test1代表参数化文档中的第一列,test2代表参数化文档中的第二列,变量使用格式 ${name}
4)、Delimiter(use '\t for tab'):定义分隔符为',',若参数化文档中有多列,则每列间用逗号分隔
5)、Allow quoted data:是否允许引用数据(没用过)
6)、Recycle on EOF:到了文件尾处,是否循环读取参数。因为CSV Data Set Config一次读入一行,分割后存入若干变量交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
7)、Stop thread on EOF:到了文件尾处,是否停止线程,和Recycle on EOF会有矛盾:
a. 当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义
b. 当Recycle on EOF 选择flase时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次
c. 当Recycle on EOF 选择flase时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求错误
8)、Sharing mode:共享模式,All threads –所有线程,Current thread group—当前线程组,Current thread—当前线程。经试验得出来的结果是(不考虑线程组迭代):
a. 如果测试计划中有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn,CSV Data Set Config放在线程组A的下级组织树,不管怎么设置Sharing mode,都只针对线程组A且取之情况一样:线程A1取第一行,线程A2取第二行。
b. CSV Data Set Config放在测试计划下级组织树(与线程组并列),情况如下 :
All threads:测试计划中所有线程,线程组A、线程组B共用一个CSV文件,所取数据与线程实际执行顺序有关(先执行先取)。补充一点:线程组之间是并行执行,各线程实际执行时间根据Ramp-UP Period而来,如下图,若线程A、线程B均设置Ramp-Up Period:2,取之情况是:线程A1取第1行,线程B1取第2行,线程A2取第3行,线程B2取第4行。
2.填写刚才定义好的变量
还要注意CSV Data Set Config放的位置影响取数结果:
场景一:如果放在循环控制器的上面:线程数:1,循环数:10,实际情况:循环上面的csv数据只读了线程数,下面的循环请求没有重新拿数据,还是使用第一次线程拿的数据,如图:
场景二:如果放在循环控制器的下面:线程数:1,循环数:10,实际情况:循环下面的csv数据只读了线程数,每次循环都会拿新的数据顺序取值,如图:
所以CSV Data Set Config放的位置和取数方式有很大的关系。
三、用户自定义变量
一般定义测试系统的固定使用的变量,比如主机地址端口号,数据库账号密码等。选中线程组,点击右键,添加-配置元件-用户定义的变量
值可以直接输入,也可通过函数__CSVRead从文件中读取,还可以通过前缀加随机数和方法获取。
比如用户名为user_0到user_100的用户,那么用户名可设置名user_${__Random(0,100,)}
但是这种每次执行的多个线程所替换的参数一样,因为先获取到随机参数,再执行多个HTTP请求。
转自原文:https://blog.csdn.net/seven_five577/article/details/55106155
jmeter 参数化3种的更多相关文章
- Jmeter参数化四种方式
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config/CSV数据配置文件 4.用户自定义变量 一.用户参数 位置:添加-前置处理器-用户参数 操作 ...
- jmeter——参数化、关联、断言
1.jmeter——参数化 三种方式: ${变量名} 1.1用户定义的变量 比如注册,登录都得用到手机号码,那就把手机号码自定义为变量 1)添加一个线程组--注册.登录HTTP请求--察看结果树--用 ...
- 【Jmeter基础知识】Jmeter的三种参数化方式
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
- jmeter的三种参数化方法
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
- 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-参数化: 参数化的作用:调用接口入参时.有时要求参数经常变化,如果每次去修改就会变得很繁琐,这时候就需要把经常变化的值改变为提前编辑好的文档或函数中,便于调用时使用不同的值. Jmete ...
随机推荐
- ceph命令拷屏
常用命令ceph -w ceph df ceph features ceph fs ls ceph fs status ceph fsid ceph health ceph -s ceph statu ...
- Loadrunner test web service which need username and password
Action(){ char * position; char * str; int offset; char * search_str = "ERROR"; // web_s ...
- list列表操作(创建、增加、删除、取值)
list ####(一)列表的创建[].追加(append,extend,insert).删除(remove.del.poop).修改 ##创建一个空列表.一个字符串列表.一个数字列表 lis0 = ...
- jmeter 函数学习
https://jmeter.apache.org/usermanual/functions.html#__threadNum
- docker容器之间的通信
容器之间互通 新建两个容器 docker run -d --name box1 busybox /bin/sh -c "while true;do sleep 3600;done" ...
- 破解Pycharm 2019.2
参考:https://www.cnblogs.com/pig66/p/11432446.html 1.下载补丁文件 https://pan.baidu.com/s/112tS3XjAENIHaJ-aS ...
- 负载均衡实现故障vip自动漂移
环境说明演示vip自动漂移 192.168.237.50 192.168.237.51 vip: 192.168.237.5 keepalived开源软件实现 keepalived可以实现当vip挂的 ...
- 关于KiCAD的一些插件
关于KiCAD的一些插件 https://gitee.com/KiCAD-CN/KiCad-CN-Forum/blob/master/KiCad_help_zh_CN.md#swapit-%E5%B7 ...
- zabbix生产环境案例(三)
生产环境案例(三) 链接:https://pan.baidu.com/s/1q5YwJMTcZLcS5OQ0iOu44A 提取码:8gdi 复制这段内容后打开百度网盘手机App,操作更方便哦 1. Z ...
- 前端学习(十七)js数组(笔记)
数组: 1. var arr=[1,2,3,4]; 2. var arr=new Array(1,2,3,4,5); 区别: 1.写法不一样,选择第一种(好写) ...