JMeter当初是为性能测试而生,与loadrunner形成竞争之势,相对于loadrunner,JMeter在性能测试方面有自己的优点:
后来,因为其便捷的关联功能、丰富的断言以及Beanshell的存在,使JMeter成为接口测试的利器。
各版本JMeter下载地址,本文及后续都使用的5.1.1版本,即下图中红圈中。
JMeter的运行依赖于Java环境,因此在使用JMeter之前要先保证已正确安装JDK。下面以Windows系统为例,演示JDK1.8的安装过程。
JAVA_HOME
,变量值:C:\Program Files\Java\jdk1.8.0_80
(jdk解压目录),确定保存;
CLASSPATH
,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
输入javac,出现列表,通过以上两个即可验证jdk已经正确安装。
JMeter其实是免安装的,将下载的压缩包解压,即可使用。将jmeter.bat创建快捷方式到桌面,就可以双击图标运行JMeter了。
JMeter安装后,可能会会遇到一些异常,例如:
'findstr' 不是内部或外部命令,也不是可运行的程序或批处理文件。
Not able to find Java executable or version. Please check your Java installation
errorlevel=2
请按任意键继续…
或者是:
jmeter安装启动报错:Not able to find Java executable or version,Please check your Java installation
解决方案就是:环境变量PATH添加:%SystemRoot%/system32;%SystemRoot%;
说起接口测试,首先要读懂接口文档,以最常见的http协议接口为例,接口文档大多是这样的:
HOST
(地址):http://api.test.com
path
(路径):/user/login
请求方式:POST
参数:
参数名称 | 参数类型 | 是否必填 | 字段说明 |
---|---|---|---|
username | String | 是 | 用户名 |
password | String | 是 | 密码 |
device | String | 否 | 登录设备:web、Android、IOS |
上面是一个登录接口文档,提供了请求地址、路径、请求方法和参数信息,那么怎么用JMeter按照这个接口文档调用该接口呢?请往下看。
TestPlan
(测试计划)是JMeter
所有组件的根节点,打开JMeter
即默认有一个TestPlan
,也只能有一个TestPlan
。在TestPlan
下添加线程组,线程组可以添加多个,线程组是相对独立的。
首先在线程组上右键–取样器-HTTP请求,添加了一个HTTP请求取样器,按照接口文档填入信息:
下面用WeatherWS Web
接口实际测试一下:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?op=getSupportCityString
接口描述是这样的:
POST /WebServices/WeatherWS.asmx/getSupportCityString HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: application/x-www-form-urlencoded
Content-Length: length
theRegionCode=string
添加【察看结果树】:
运行,察看结果:
一个简单的http接口调用就这样完成了,但接口测试还远不止这些,比如断言(响应断言和Beanshell断言)、关联等,这些内容可见后续文章。
在JMeter bin目录下的jmeter.properties文件中,插入下图中语句并重启JMeter即可: