06_函数\分布式
一,Jmeter常用函数:
-
是程序中的封装单元(最小的),封装一些功能实现
-
易读,易维护
-
实现功能复用
1,Jmeter 中使用函数,打开内置函数功能模块 2,选择要调用的函数,传参数,生成调用格式 3,哪里需要粘哪里
- __CSVRead
- __counter 计算器
- __Random 随机数函数
- __time
- __setProperty 属性设置
- __property 属性获取
一,启动方式:
1) 菜单(选项)-->函数助手对话框
2) Ctrl+Shift+F1
3) 工具栏倒数第二个 图标"记事本"
二,函数的格式:.
${__functionName(var1,var2,var3)}
1) ${} 函数引用固定格式和参数化相同
2) __functionName匹配被调用的函数名称;
3) 用圆括号包含函数的形参,例如${__time(YMD)},不同函数要求的参数也不同;
4) 有些JMeter函数不要求参数,则可以不使用圆括号,例如${__threadNum};
1)_CSVRead:
通过CSVRead函数读取csv.txt内容,作为请求时接口所需参数的值使用
http://127.0.0.1:8000/api/departments/? $dep_id_list=${__CSVRead(E:\jmeterScript\参数\csv.txt,0)}
,${__CSVRead(E:\jmeterScript\参数\csv.txt,1)}
csv.txt内容
T01,T02
T03,T04
T05,T06
1)0表示第一行第一列数据,1表示第一行第二列数据..........(跟之前的a,b,c....似的) 文本数据还是JSON 格式
2)第二次执行从第二行第一列开始 类推
3)执行多次用的是线程数,就是几个用户,每个用户执行一行这个意思
4)CSV Data Set Config 执行多次,使用的是循环次数
5)文本转成ANSI 不然中文进去都是乱码
2)_counter:
在这两个地方可以加计数:
FALSE两个用户用一个计数器
TURE两个用户用两个计数器
3)_Random:
随机数函数跟计数器一个用法,只不过是随机的数字
线程组循环N次,随机给标1—6的数字,1和6都算,
4)_time:
yyyy/MM/dd HH:mm:ss ==年/月/日 小时/分钟/秒
5)_setProperty
6)_property
跨线程组关联使用这两麦逼
思想流程:
1,在第一个线程组里获取数据,转成公共数据
2,第二个线程组调用上面的公共数据执行
工作台查看公共数据位置:
一般不是很推荐设置公共数据的操作,因为设置了之后,提取的数据生存时间变的长的不行,日积月累的,系统会越来越卡的说
二,分布式
控制机安排工作下去,一堆执行机操作,完成后,数据回归控制机整合
在一台电脑上玩的话,开3个JMETER就是了称为伪分布式
复制2个,就三个了,改两个端口号,想怎么(。・∀・)ノ゙嗨就怎么(。・∀・)ノ゙嗨
控制机(本机)这里两个改成上面两个小弟的端口6666,7777
改成这样
这样打开小弟们,无图形化界面的,因为是小弟
控制机改这里,上面那行改成注释,下面那行改出来,下面这图是改好了的
执行机改这里,上面那行注释掉,下面的打开,下图是改好了的,两个执行机都改
点这里运行,线程组设置为50的
两个小弟的DOS命令行显示