本节使用在拉手搜索KTV团购的案例,讲述Badboy导出脚本用于JMeter性能测试,以及JMeter的简单使用。
一 录制脚本(必须在Request模式下)
1. 输入http://Wuxi.lashou.com
2. 点击前进->,启动录制
3. 输入KTV,点击搜索
4. 点击Record,录制结束
5.回放脚本,以确定脚本录制无误
6.点击File—》Export to JMeter
7. 脚本命名为“Lashou_Search”.jmx, 点击Save,脚本导出成功。
Badboy与jmeter使用注意事项:
1 导出jmeter脚本的时候,脚本不被导出,因为jmeter无内嵌浏览器,jscrīpt元素无法执行.
2 data sources不被导出.
二 JMeter简介
如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。其它你可能需要下载的软件:
· BeanShell
· Java Activation Framework - JavaMail需要
· Java Mail - mail 显示 and SOAP 测试需要
· JMS - JMS 取样器
· General Java download page
1. 配置安装JDK1.4 或更高版本。并设置JAVA_HOME环境变量。下载地址:http://www.oracle.com/technetwork/indexes/downloads/index.html?ssSourceSiteId=ocomen
2. 解压缩到D盘下,点击bin下的Jmeter.bat
3. 界面打开成功
4. 为方便对界面的熟悉度,可以将语言改为中文
三. 运行Lashou_Search脚本测试性能
1. 打开JMeter会有一个默认的测试计划,点击文件-打开,选中录制的脚本文件如:Lashou_Search.jmx,
2. 命名测试计划为Lashou,同时可以自定义描述,
3. 重命名线程组为Search,点击保存
4. 给Search线程组上添加监听器-聚合报告(用于分析测试结果)
5. 命名为“Search_Aggregate report”,点击保存
6.点击运行-启动或工具栏上的启动按钮,开始测试
7. 测试结果展示在聚合报告中
1. 在Jmeter中打开上节课(10)Badboy导出的在拉手网查询KTV的脚本Lashou_Search.jmx.
2. 右击Lashou节点,Add->Listener->Aggregate Graph & Graph Results
3. 对图像报表进行配置(配置省略)
4. 点击Search节点,线程组配置界面展开:
5. 在线程组里设置负载信息,即线程属性,选中Start next thread loop , 线程数: 10 , Ramp-up period(inseconds): 0, 循环次数: 1
说明1. :向测试计划中增加相关负载设置是Jmeter需要模拟十个请求者,每个请求者在测试过程中并发请求,并且连续请求2次。
线程数代表发送请求的用户数目,Ramp-up period(inseconds)代表每个请求发生的总时间间隔,单位是秒。假如我的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是 10/5,也就是2秒。如果设置为0就代表并发请求。Loop Count代表请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数。
说明2:调度器配置
启动时间:测试计划什么时候启动,启动延迟会覆盖它。
结束时间:测试计划什么时候结束,持续时间会覆盖它。
持续时间:测试计划持续多长时间,会覆盖结束时间。
启动延迟:测试计划延迟多长时间启动,会覆盖启动时间。
6. 点击Aggregate Graph, 点击运行后观察运行结果
7. 观察并行测试的结果
8. 再次运行一次10人查询并发测试,我们可以观察到Result界面下记录了所有运行的报告趋势,我们可以指定一个文件路径和输出文件名,保存这个报告,代码优化或性能改进后,我们再次调用此报告,对比改进效果。