一、Apache JMeter的基本介绍
1.1 简单介绍
JMeter是一个纯粹的Java编写的应用程序,它主要是用来进行负载和性能测试。原先它是为Web/HTTP测试而设计的。设计JMeter最初始的目的是用来测试Web Application但是现在已经扩展了很多功能。JMeter通常被用来对一些静态的或者动态资源(比如PHP, Java,ASP.Net等编写的Web,或者是Java Object, Data Bases and Queries, FTP 服务器等等)进行性能测试。 它通常模拟大量的数据对一个Server或者一个Server Group 网络等进行负载测试。然后通过分析它产生的性能图表来判断测试结果。和其他性能压测工具相比较,还是比较轻量级的,不够好像不支持IP伪装。官网有更详细的介绍 http://jmeter.apache.org/
1.2 我们为什么使用它
-
- 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
- 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
- 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
- 多平台支持,可在Linux,Windows,Mac上运行
- 轻量级,和其他测试工具相比更加灵活性
二、Apache JMeter的安装配置
2.1 Windows下Jmeter下载安装
点击http://jmeter.apache.org/download_jmeter.cgi下载apache-jmeter-3.2.zip文件并解压到 D:\apache-jmeter-3.2
2.1 直接进入D:\apache-jmeter-3.2\bin目录双击jmeter.bat(注意:我这里默认JDK环境已经准备好了)直接弹出UI操作界面
2.3 可以配置环境变量
-
- 变量名JMETER_HOME,变量值D:\apache-jmeter-3.2在变量名CLASSPATH新增
- %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
- %JMETER_HOME%\lib\jorphan.jar;
- 在Path新增%JMETER_HOME%/bin;
- 配置好后,在cmd输入jmeter.bat或者在安装目录bin里面直接点击也是可以的;
2.4 /bin 目录常用文件介绍
-
- examples:目录下包含Jmeter使用实例
- ApacheJMeter.jar:JMeter源码包
- jmeter.bat:windows下启动文件
- jmeter.sh:Linux下启动文件
- jmeter.log:Jmeter运行日志文件
- jmeter.properties:Jmeter配置文件
- jmeter-server.bat:windows下启动负载生成器服务文件
- jmeter-server:Linux下启动负载生成器文件
- /docs目录——Jmeter帮助文档
- /extras目录——提供了对Ant的支持文件,可也用于持续集成
- /lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录
- /licenses目录——软件许可文件,不用管
- /printable_docs目录——Jmeter用户手册
三、Apache JMeter的使用流程
3.1 打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件
3.2 添加线程组:在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,测试场景设置组件,接口测试中一般设置为1个“线程数”,测试数据的个数设定“循环次数”
3.3 添加“HTTP Cookie管理器”(如果接口不是基于Cookie验证的,比如不需要登录或者使用token来校验可以忽略)
3.4 添加“Http请求默认值”组件
3.5 在“HTTP 请求默认值”组件配置页面,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有“HTTP Sampler”可默认使用此设置
3.6 在“线程组”里添加“HTTP 请求”的Sampler
3.7 在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表
3.8 最后添加对应的监听器来查看压测响应报表即可
五、Apache JMeter使用注意事项
- 使用过程中,一定要注意控件的执行顺序以及变量的作用域。
- Windows下支持"/""\"并存模式,推荐使用"/",方便跨平台使用。
- 如果要测试的接口可以组成一个流程,只需要顺序添加多个“HTTP 请求”的Sampler,各请求之间可以提取需要在上下文传递的数据作为参数,以保证流程中数据的一致性