1.JMeter介绍
1.1JMeter长啥样
在开始之前,先给大家看看JMeter长啥样,如下图:
我个人觉得,在压力测试以及接口的功能自动化测试上,JMeter真的太好用了,它可以完全满足这两种测试的需求。我在做自动化测试/接口测试/压力测试的时候(包括编写框架,以及编写测试脚本),一般都会遵循5个基础原则,而借助JMeter我基本都可以实现这些原则,即:
- 参数化:可以将所有的全局固定参数,都保存在“配置元件-用户定义的变量”中,通过参数名称进行调用。用例内部的局部参数,以及请求之间的入参、出参,都通过“BeanShell处理程序”进行定义,或者通过“后置处理器”,包括“正则提取器”、“XPath提取器”、“JSON提取器”等进行操作。
- 按功能划分层次,按逻辑划分步骤:JMeter中提供了“逻辑控制器”系列,可以用来给脚本划分清晰的逻辑。
- 脚本用例高独立性:每个脚本都有其独立性,即任意挑选一个或多个用例,都可以正常执行,相互之间没有耦合和关联。
- 详细的断言:每个请求都有对应的断言,例如响应码断言、响应头断言、响应报文断言、重定向子请求断言、参数断言、BeanShell断言、精确匹配、模糊匹配、正则匹配等,以确保用例的准确执行,以及出现问题时的快速定位。
- 基础方法/可重用功能的独立封装:为了保证用例的高独立性,用例的整体步骤一般分为三步:数据清扫->数据建立->测试点执行。其中数据清扫和数据建立两块的操作一般都是公共的、可重用的操作,因此可以使用“测试片段”,对其进行封装,然后在用例中,通过“逻辑控制器-模块控制器”直接进行调用即可。
1.2JMeter功能介绍
JMeter的功能包括:
- 能够加载和测试许多不同的应用程序/服务器/协议类型:
- Web的HTTP,HTTPS(java,Nodejs,PHP,ASP.NET,…)
- SOAP / REST Webservices
- FTP 文件传输协议
- Database via JDBC
- LDAP
- Message-oriented middleware (MOM) via JMS
- 邮件传输协议 - SMTP(S), POP3(S) 和 IMAP(S)
- 本地命令或Shell 脚本
- TCP
- Java Objects
- 全功能测试IDE,允许快速记录测试计划(来自浏览器或本地应用程序),构建和调试。
- 基于Java开发,支持Linux、Windows、MAC OSX等平台。
- 可以生成完整的动态HTML报告。
- 通过从最流行的响应格式、HTML、JSON、XML或任何文本格式提取数据的能力,可以轻松地进行传参或者断言。
- 全多线程框架允许多线程并发采样,同时通过不同的线程组进行不同功能的同时采样。
- 缓存和离线分析/重放测试结果。
- 高度可扩展内核。
2.JMeter安装
2.1安装Java
Win安装Java的教程网上已经很详细了,在这里不赘述,不过还是提醒下几个关键的步骤:
- 安装Java的JDK,包括JDK(Java Development Kit,Java的开发工具)和JRE(Java Runtime Enviroment,Java的运行环境组件);
- 新建环境变量“JAVA_HOME”,步骤为:“我的电脑” 右键菜单—>属性—>高级—>环境变量—>系统变量—>新建。
- 为系统变量“PATH”添加JAVA_HOME。
- 在cmd窗口中输入命令:javac -version判断JDK是否安装成功。
2.2下载
直接去官网下载即可,地址如下:
http://jmeter.apache.org/download_jmeter.cgi
截至此博客发表日,JMeter的版本是5.1.1。官网的下载速度还可以,不需要翻墙也不需要镜像。
2.3安装JMeter
其实根本就不用装,哈哈,解压即用:
解压后,进入…\apache-jmeter-5.1.1\bin\,双击ApacheJMeter.jar启动(注:一定要配置Java环境)。然后你会看到
至此安装完毕。