Jmeter学习(一)

时间:2023-03-09 15:24:23
Jmeter学习(一)

最近测了一个导出功能,感觉应该学习下Jmeter,WEB系统的性能系统还是需要有一定累积。

选择Jmeter而不是LR,很简单的原因是QTP和LR不能装一台机器上。

也有很多测试人员推荐Jmeter,做日常的WEB性能测试是足够的。

1. Jmeter安装

安装之前需要安装JDK。安装完成后在bin目录下点jmeter.bat运行。

同时可以安装badboy,作为录制工具,导出jmx文件供jmeter使用。

2. Jmeter元件及其作用域与执行顺序

Jmeter学习(一)

a. 测试计划

由测试计划发起,纵观整个测试参与元件及执行流程

b. 线程组

线程组~=虚拟用户组,1个线程~=1个虚拟用户

准备时长(ramp-up period)那所有用户准备时长 ,0时为同时启动

c. 驱动测试各元件

以执行顺序排列如下:

1) 配置元件:静态配置方面如参数配置

Jmeter学习(一)

如CSV Data set config:可以从.dat/.csv文件中读取值配置参数供HTTP请求调用。

如HTTP Cookie Manager: 一个测试计划只能有一个cookie管理器,可以通过查看结果树查看cookie信息。Cookie可以自动收集存储在每个线程的cookie存储区域,也可以导入站点cookie。(从火狐插件firebug导出)。

如设置各种请求默认值。

如用户定义变量。

2)前置处理

Jmeter学习(一)

3)定时器

Jmeter学习(一)

Constant throughput thimer: 设置线程每分钟固定发出多少请求

4)Sample 取样器:驱动测试核心元件

设置向服务器发送请求,如HTTP请求

5)逻辑控制器:驱动测试核心元件

设置线程执行逻辑,如IF, FOR等

6)后置处理

Jmeter学习(一)

7) 断言

即设置checkpoint,作用于请求。若在某逻辑控制器下,则作用于控制器下所有请求

8)监听器

处理查看测试结果及数据,以ms为单位

各元件作用域:

Sample不存在相互作用;

除Sample和控制器外的6类元件,如果它们是取样器的子节点,则对其父节点起作用;

除Sample和控制器外的6类元件,如果取样器不是它们的父节点,则对其父节点下所有后代节点起作用,包括子节点的子节点;