Apache JMeter是一款功能强大的web压力测试软件。web压力测试工具中的佼佼者 Apache JMeter 。它可以帮助用户模拟服务器,服务器组,网络或对象组的重负载,以测试其强度或分析不同负载类型下的整体性能,总体来说还是非常不错的。有需要的用户欢迎来久友下载站下载~
使用教程:
一、安装环境
apache jmeter在Window XP / 2003 / W7 /W8基本都可以运行,前提是要安装好JDK包,jmeter是基于JAVA开发的压力测试软件。该次配置实例是在W8-64位系统中完成。
安装包:
- 本站提供的apache jmeter v4.0
- JDK版本 jdk-7u45-windows-x64(下载的时候注意自己系统版本)
二.安装步骤:
安装步骤不做介绍,JDK安装下一步,下一步就OK。jmeter不需要安装,压力包解压出来即可使用。
运行jmeter.bat(在window平台上)来运行JMeter。双击bin目录下的jmeter.bat文件,运行成功后,会出现下面的界面
注意:如果你在运行JMeter时遇到JVM 选项无效:-XX:NewSize=128m这样的错时,可能是由于你的系统中有多个JRE,建意你把你机器的所有JRE/JDK卸载后,重新再安装一个即可解决上面的问题。
三、实例环境
压力测试目标:ECSHOP商场
压力测试目的:测试ECHSOP商场300人同时登陆查看评论时,服务器压力
压力测试脚本设计:
1. 打开ECSHOP登陆页面
2. 输入账户密码登陆ECSHOP
3. 进入用户中心
4. 查看评论
5. 退出ECSHOP管理平台
压力测试预期效果:自己的测试环境,压力测试效果就不做讲解,只对配置步骤讲解。
四.测试步骤
4.1脚本录制
脚本录制,JMeter启用WEB代理,浏览器把代理上网设置为JMeter所在的IP地址,自己电脑就是127.0.0.1代理端口默认8080。至于浏览器修改代理上网服务器,不做截图。
Jmeter运行在目录 \apache-jmeter-2.10\bin下jmeter.dat文件,双击打开进入Jmeter界面
Jmeter界面
建立测试计划,录制阶段不需要更改任何配置。名称可以自己改
添加一个Cookie管理器,该次测试是需要登陆操作,如果没有Cookie管理器,登陆后的HTTP请求,在脚本运行的时候,就不会带Cookie。应该知道后果吧,就是登陆成功后的请求提示你未登陆。添加就行不需要配置。
在工作台启用HTTP代理服务器
配置目标控制器:选择刚刚建立的测试计划, Type选择HttpClient4。然后启动。
进入脚本录制,按照预设的测试脚本过程,操作一次ECHSOP。
登陆ECSHOP
进入用户管理中心
打开评论页面
退出
以上操作后,录制已经完成。录制的页面中,可能有其他的访问在里面,可以将不需要的页面删除
里面浏览器发起的请求也被录制下来,这种就可以删除。
将干扰测试的页面删除完后保存
五.测试验证脚本
录制完脚本后,运行一次。运行之前添加一个监听器,用于查看脚本运行情况,建议用观察结果树监听器,可以看到来回的HTTP交互。
运行
运行完后通过结果树查看脚本运行结果,中间栏为脚本运行请求过的页面,都是绿色表示页面请求和响应都正常。再查看下关键页面的请求和响应参数,
登陆的请求正常,账号songmin密码123456 正常提交,看下响应数据
响应数据,看到有登陆成功的关键字。OK 脚本没问题,其他页面不去验证了,测试时,根据测试流程验证关键的几个页面请求和响应数据,是否和正常操作对应。
六.开始测试
6.1 添加报表
报表格式很多种,根据自己情况使用。不清楚的话,可以都添加运行一次后,看那个报表更合适
6.2 编辑测试压力数据
300并发,10秒中300并发准备完成,循环次数永远,持续时间300秒
运行脚本
300线程数已经完成启动
6.3 查看报表
图形报表
聚合报表,看到每个页面的响应时间,错误率,请求次数等。
软件功能:
1、能够加载和性能测试许多不同的应用程序/服务器/协议类型:
①Web - HTTP,HTTPS(Java,NodeJS,PHP,ASP.NET ...)
②SOAP / REST Web服务
③FTP
④数据库通过JDBC
⑤LDAP
⑥面向消息的中间件(MOM)通过JMS
⑦邮件 - SMTP(S),POP3(S)和IMAP(S)
⑧本地命令或shell脚本
⑨TCP
⑩Java对象
2、全功能的测试IDE,允许快速的测试计划记录(从浏览器或本地应用程序),建设和调试。
3、从任何兼容Java的操作系统(Linux,Windows,Mac OSX ...)加载测试的命令行模式(非GUI /无头模式)
4、一个完整的,准备呈现动态HTML报告
5、通过从大多数流行的响应格式,HTML,JSON, XML或任何文本格式中提取数据的能力,轻松实现关联
6、完整的便携性和100%的Java纯度。
7、完整的多线程框架允许通过多个线程同时进行采样,并通过单独的线程组同时采样不同的功能。
8、缓存和离线分析/重播测试结果。
9、高度可扩展的核心:
①可插拔采样器允许无限测试功能。
②可编写脚本的取样器(与Groovy和BeanShell 等JSR223兼容的语言)
③可插拔定时器可以选择多个负载统计。
④数据分析和可视化插件允许很好的扩展性和个性化。
⑤函数可用于为测试提供动态输入或提供数据操作。
⑥通过Maven,Graddle和Jenkins的第三方开源库轻松持续集成。