最近测了一个导出功能,感觉应该学习下Jmeter,WEB系统的性能系统还是需要有一定累积。
选择Jmeter而不是LR,很简单的原因是QTP和LR不能装一台机器上。
也有很多测试人员推荐Jmeter,做日常的WEB性能测试是足够的。
1. Jmeter安装
安装之前需要安装JDK。安装完成后在bin目录下点jmeter.bat运行。
同时可以安装badboy,作为录制工具,导出jmx文件供jmeter使用。
2. Jmeter元件及其作用域与执行顺序
a. 测试计划
由测试计划发起,纵观整个测试参与元件及执行流程
b. 线程组
线程组~=虚拟用户组,1个线程~=1个虚拟用户
准备时长(ramp-up period)那所有用户准备时长 ,0时为同时启动
c. 驱动测试各元件
以执行顺序排列如下:
1) 配置元件:静态配置方面如参数配置
如CSV Data set config:可以从.dat/.csv文件中读取值配置参数供HTTP请求调用。
如HTTP Cookie Manager: 一个测试计划只能有一个cookie管理器,可以通过查看结果树查看cookie信息。Cookie可以自动收集存储在每个线程的cookie存储区域,也可以导入站点cookie。(从火狐插件firebug导出)。
如设置各种请求默认值。
如用户定义变量。
2)前置处理
3)定时器
Constant throughput thimer: 设置线程每分钟固定发出多少请求
4)Sample 取样器:驱动测试核心元件
设置向服务器发送请求,如HTTP请求
5)逻辑控制器:驱动测试核心元件
设置线程执行逻辑,如IF, FOR等
6)后置处理
7) 断言
即设置checkpoint,作用于请求。若在某逻辑控制器下,则作用于控制器下所有请求
8)监听器
处理查看测试结果及数据,以ms为单位
各元件作用域:
Sample不存在相互作用;
除Sample和控制器外的6类元件,如果它们是取样器的子节点,则对其父节点起作用;
除Sample和控制器外的6类元件,如果取样器不是它们的父节点,则对其父节点下所有后代节点起作用,包括子节点的子节点;