Jmeter学习
Jmeter特点
Jmeter工作原理
1、通过多线程模拟服务器访问压力
2、通过代理方式录制脚本
Jmeter目录结构
1) Bin目录是可执行文件,jmeter.bat启动,里面可以设置JVM参数
2) 根据经验,heap(堆内存)最多设置为物理内存的一半,默认设置为512M。如果heap超过物理内存的一半,可能运行Jmeter会慢,甚至出现内存溢出。
3) Jmeter的log在Jmeter.log中查看
4) Jmeter.properties文件中有一个属性log_level.JMeter可以设置改变日志详细度。默认是info,可改为debug
5) Docs下是Jmeter的java docs
6) Printable_docs的usermanual目录下是Jmeter用户手册,其中component_reference.html是最常用的核心元件帮助手册;Jmeter页面帮助菜单打开也是帮助文档
7) Extras目录下的文件提供了对ant的支持,可以利用ant来实现自动化,例如批量执行脚本,产生HTML报告等
8) 运行Jmeter的时候会产生一个jtl文件,把他放到extras目录下,运行ant-Dtest=文件名 report就可以生成测试统计报表
9) Lib目录下的ext子目录是Jmeter的核心jar包;junit子目录是放junit脚本的。
10) 用户扩展所依赖的包直接放到lib下即可,不要放到lib/ext下
Jmeter--工作台--右键添加---非测试元件---Property Display
相当于Jmeter.properties以GUI方式展现
Jmeter常用功能
测试计划:用来描述一个性能测试,所有内容都是基于这个计划的
线程(用户)
1) 一般常用线程组:可以理解为Loadrunner中的虚拟用户组
2) 添加线程组:测试计划---右键---Threads(Users)---线程组
3) Setup thread group:可用于执行预测操作。这些线程的行为完全像一个正常的线程组元件。类似Loadrunner中的init
4) Tearddown thread group:可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。类似Loadrunner中的end
Jmeter的两种录制脚本方法
1、Badboy录制(建议)
Badboy下载: http://www.badboy.com.au/
- 打开badboy工具,点击工具栏上红色按钮,在地址栏输入被测项目的地址
- 录制完成后,点击工具栏旁边的黑色按钮,结束录制。选择“文件”--Export to Jmeter...
- 打开Jmeter工具,选择“文件”----“打开”选择刚才保存的文件(.jmx)类型,将文件导入
-
2、代理录制
1) 创建一个线程组(右键点击“测试计划”---“添加”---“线程组”)
2) 在“工作台”--非测试元件--添加“http代理服务器”
3) 代理服务器端口,默认8080
4) 目标控制器:录制的脚本存放的位置,可选择项为测试计划中的线程组(选择测试计划--线程组)
5) 分组:对请求进行分组。“分组”的概念是将一批请求汇总分组,可以吧url请求理解为组
6) ---“不对样本分组”:所有请求全部罗列
7) ---“在组间添加分隔”:加入一个虚拟的以分割线命名的动作,运行同“不对样本分组”,无实际意义
8) ---“每组放入一个新的控制器”:执行时按控制器给输出结果
9) “只存储每个组的第一个样本”:对于一次url请求,实际很多次http请求的情况
10) 点击启动
11) 设置IE浏览器
12) “internet属性”---“连接”---局域网设置
13) 现在点击jmeter上的启动按钮,
14) 打开浏览器输入需要录制的web项目地址,jmeter会自动记录IE所访问的页面
停止:在http代理服务器停止