51Testing软件测试论坛
标题:
jmeter中的变量
[打印本页]
作者:
wsuyixing
时间:
2020-2-16 16:21
标题:
jmeter中的变量
本帖最后由 wsuyixing 于 2020-2-16 22:37 编辑
变量简介:
1)Jmeter中的变量分为局部变量和全局变量(和其他高级语言一样)
在一个计划中有多个线程组,如第一个线程用于登陆操作,第二个线程用于登陆后上传图片操作,第二个线程需要用到第一个线程中的cookie,但是发现引用了第一个线程的cookie,还是报错,这种情况就需要把第一个线程组中的cookie设置成全局变量,第二个线程组就好用了,和高级语言一样,看变量的作用域
2)在不同的线程中,变量名相同,值可以相同也可以不同
3)变量引用方法是${varname}
4)大小写敏感
5)变量的定义方式有多种
下面介绍六种设置变量的方法:
1.随机变量:
添加/配置元件/随机变量,设置引用方式:
[attach]128354[/attach]
变量的引用方式:如${teleph}
2.用户定义的变量:
添加/配置元件/用户定义的变量:
每条设置一个变量,适用于变量比较少的情况
[attach]128355[/attach]
3.用户参数当有多组用户的时候,可以用“用户参数”的方式,当进程数设置与用户组数相同的时候,就可以看到进程调用每个用户组
1).用户参数设置:
[attach]128349[/attach]
2).参数调用
[attach]128352[/attach]
3).线程组设置
[attach]128350[/attach]
4).运行结果
[attach]128351[/attach]
5).疑问?
用户参数/“每次迭代更新一次”,我为线程组设置不同的次数、循环周期,勾选和不勾线“每次迭代更新一次”,都看不出调用时候取值的变化,求解,希望有大佬能够留言回答我的疑问
[attach]128353[/attach]
4.CVS数据文件设置:
添加/配置元件/CVS数据文件设置
[attach]128356[/attach]
方法如下:
1).Filename文件名:即参数化要引用的文件名,如D:\number.txt 或D:\number.cvs
2).File enconding文件编码:可以不填。
3).Variable Names(comma-delimited)变量名(用逗号分隔):多个变量可以引用自同一个文件,用逗号分隔(也可以有其他分隔符,要和D:\number.txt中的一致)如,下面的username,password
4).Delimiter(Use ‘\t’ for tab):参数文件中多个变量的分隔符,\t表示用tab键分隔,默认是用逗号分隔;
5).Recycle on EOF?:结束后是否循环?默认是true
6).文件格式可以是.txt或.cvs
文件中的内容大概如虚线下方这样(以“,”为分隔符):
----------------------------------------------------
username,password
星星,123456
悦悦,123456
妞妞,123456
----------------------------------------------------
也可以以下面的方式出现(设置的时候与上面的略有不同)-----“或略首行(只在设置了变量名称后才生效):
----------------------------------------------------
星星,123456
悦悦,123456
妞妞,123456
----------------------------------------------------
5.正则表达式用户参数
添加/前置处理器/正则表达式用户参数
添加/后置处理器/正则表达式提取器
6.函数助手
Tools/函数助手对话框
(打开tools/function Helper dialog)
[attach]128357[/attach]
jmter全局变量的设置和使用:
设置:
方法1:
${__setProperty(Cookie1,${Cookie},)}
[attach]128359[/attach]
方法2:(借助函数助手)
[attach]128362[/attach]
使用:
${__P(Cookie1,)}
[attach]128361[/attach]
url带有变量的情况要注意下:
[attach]128358[/attach]
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2