jmeter如何参数化?Jmeter参数化设置的5种⽅法
jmeter如何参数化?我们使⽤jmeter在进⾏测试的时候,测试数据是⼀项重要的准备⼯作,每次迭代的数据当不⼀样的时候,需要进⾏参数化,从参数化的⽂件中来读取测试数据。那么,你知道jmeter如何进⾏参数化吗?接下来⼩编就给⼤家总结了Jmeter参数化设置的5种⽅法,主要详细介绍的是⽤Csv Data配置元件来进⾏参数化,对于Jmeter参数化设置不太了解到的⼩伙伴⼀定要仔细看哦!!
apache jmeter v3.1 英⽂官⽅免费版
类型:编程⼯具
⼤⼩:46.4MB
语⾔:英⽂软件
时间:2019-06-17
查看详情
⽤Jmeter测试时包含两种情况的参数,⼀种是在url中,⼀种是请求中需要发送的参数。
对于post请求,⽤jmeter录制后,可以在请求的“同请求⼀起发送参数”和“同请求⼀起发送⽂件”中到。
参数化Jmeter脚本时,使⽤参数的地⽅书写格式为$
Jmeter参数化设置的5种⽅法:
1. ⽤Jmeter中的函数获取参数值,__Random,__threadNum,__CSVRead,__StringFromFile,具体调⽤⽅法如下:
${__Random(,,)},$,${__CSVRead(,)},${__StringFromFile(,,,)}。
参看Jmeter函数的使⽤,通过菜单“选项”->“函数助⼿对话框”,即可在“函数助⼿”弹出框上到Jmeter的函数。
其中${__Random(,,)}⽅法的第⼀个参数为随机数的下限,第⼆个参数为随机数的上限,第三个参数为储存随机数的变量名;${__CSVRead(,)}⽅法中第⼀个参数是⽂件名,第⼆个参数是⽂件中的列(列数从0开始);${__StringFromFile(,,,)}⽅法中第⼀个参数是⽂件
名,${__StringFromFile(,,,)}⽅法中没有指定读取⽂件中的哪⼀列的参数,所以${__StringFromFile(,,,)}只能读取包含⼀列的⽂件。
2.⽤户定义的变量
2.1 添加“配置元件”->“⽤户定义的变量”
2.2 “名称”中输⼊变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输⼊值,也可以通过Jmeter的函数
__CSVRead,__StringFromFile从csv或dat⽂件中读取,还可以通过前缀加随机数的⽅法设置参数。
当参数值是某个前缀加⼀个数字时,可以⽤前缀名加${__Random(,,)}或$的⽅法设置参数值。如进⾏登录测试之前,先准备了⽤户名为perf_0到perf_1000的⽤户,那么⽤户名就可以设为perf_{__Random(0,1000,)}。
当参数值没有规律的且量不太⼤时,可以通过${__CSVRead(,)},${__StringFromFile(,,,)}从⽂件中读取,如将⽤户名和密码保存在user.csv⽂件中,user.csv的内容如下:
oriana,123456
admin,admin
dandan,123456
因为user.csv⽂件中有两列数据,所以只能⽤${__CSVRead(,)}函数,username参数后的值设为${__CSVRead(user.csv,0)},password参数后的值设为${__CSVRead(user.csv,1)}。
3. 从csv⽂件中读取(⽤Csv Data配置元件来进⾏参数化)
当参数的值没有规律且量不太⼤时,可以⽤这种⽅法。
具体做法如下:
1、打开jmeter图形界⾯⼯具,打开之前的脚本。
2、右键【添加】-【配置元件】-【Csv Data Set Config】
3、这个配置元件可以允许从你输⼊的路径来读取⽂件,然后根据分隔符获取到数据。
正则化英文4、如下图,输⼊的数据。
讲解:
a,名称和注释不需要过多解释,⾃⼰定义。
b,Filename:参数化⽂件的读取位置。这个路径可以是绝对路径也是可以相对路径。在分布式测试中,还是利⽤相对路径⽐较⽅便,因为有的机器可能安装路径不⼀样。
c,File Encoding:编码格式,选择utf-8
d,Variable Names:变量名称。这⾥定义的变量名称,后⾯就可以直接⽤来引⽤了。(多个变量名称以逗号隔开。例如username,passwd。参数化⽂件中同样有对应的两列数据。)
e,Ignore first line:忽略第⼀⾏数据。(类似loadrunner中第⼀⾏数据是变量名称,如果你的配置⽂件中为了记忆第⼀⾏也是变量名,可以选择是忽略这⾏数据)
f,Delimiter:分隔符,默认逗号。
g,Allow quoted data:是⾮选项,是否允许变量中间有分隔符,这⾥最好先默认false,数据中间最好不要有分隔符。
h,Recycle on EOF和Stop thread on EOF按需设置。是否循环,到结尾是否停⽌测试。我这⾥设置了True和False
i,Sharing mode:先选择所有的线程都可以利⽤此参数化。
5、准备测试数据。这⾥只是简单的写了⼏个数据来演⽰效果。
6、在请求中引⽤该变量。
引⽤⽅法是 ${} ;其中{}内写⼊参数化中的变量。
注:在parameter中加⼊⼀些多余的参数没有问题,故在访问百度的请求后⾯随意加了⼀个参数。
7、修改循环次数。这⾥设置6次,是因为参数⾥⾯有5个数据,测试⼀下数据取完之后的效果。
8、点击运⾏,查看结果树。
可以看到共发送了6次请求,⽽且请求参数中已经获取了变量的数据。
9、打开第⼆个请求。可以看到第⼆个请求的参数⾥⾯变量值为data-b。顺序读取的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论