本人日常是使用loadrunner的,因为某些原因,可能只能用jmeter,因此参照loadrunner学习总结了一下jmeter。
在loadrunner里的脚本增强,jmeter都可以做到,只是最后的结果报告要稍逊一筹,也能了解下jmeter的插件。
下面是用jmeter实现loadrunner的一般功能:
1.代理录制
--http代理服务器。启动输入栏增加事务前缀(设置分组)。http cookie管理器。录制控制器
2.整体结构
线程组-录制控制器-(循环控制器-事务控制器-集合点-结果树)-结果树+聚合报告
(线程组参数:线程数,线程启动时间,迭代次数;调度器:持续时间)
3.集合点(在事务起始url前加入)
添加-定时器-Synchronizing Timer
需要调整的参数(集合点等待数,集合点等待时间)
4.事务(事务控制器)
添加-逻辑控制器-事务控制器-将事务部分的url拖到事务控制器下级(录制分组功能会有简单控制器,将简单控制器改为事务控制器最简单)
5.循环
在事务控制器上层添加循环控制器
6.参数化
本地新建CSH.bat文件,利用函数助手生成调用函数(_CSVRead)
参数化随机取值${__CSVRead(D:\test.bat,${__Random(1,6,)})}
7.关联(正则表达式)
利用抓包工具找到服务器动态返回值 (.+?)取值并调用${}
8.计算状态查询
从query请求中提取状态(正则表达式提取),再加一个固定定时器,上级添加while控制器,计算条件为fales时跳出循环(即status=finshed时跳出循环)
${__javascript("${status}"!="finished")}