【JMeter-1】JMeter安装与接口测试入门

时间:2022-07-25
本文章向大家介绍【JMeter-1】JMeter安装与接口测试入门,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

JMeter当初是为性能测试而生,与loadrunner形成竞争之势,相对于loadrunner,JMeter在性能测试方面有自己的优点:

  1. JMeter开源,而loadrunner收费。
  2. JMeter轻量级,安装包只有几十兆,安装简便。loadrunner安装包则有数个G,安装繁琐。
  3. JMeter有丰富的插件支持,扩展性非常强。
  4. 个人感觉JMeter相对于loadrunner操作简易许多。

后来,因为其便捷的关联功能、丰富的断言以及Beanshell的存在,使JMeter成为接口测试的利器。

1 JMeter安装

下载地址

各版本JMeter下载地址,本文及后续都使用的5.1.1版本,即下图中红圈中。

JDK安装与配置

JMeter的运行依赖于Java环境,因此在使用JMeter之前要先保证已正确安装JDK。下面以Windows系统为例,演示JDK1.8的安装过程。

  • jdk安装:在官网下载jdk1.8版本压缩包,解压到指定文件夹即可。
  • 环境变量配置
    1. 右键点击计算机图标–属性—高级系统配置—环境变量—系统变量
    1. 在系统变量栏单击“新建”,变量名:JAVA_HOME,变量值:C:Program FilesJavajdk1.8.0_80(jdk解压目录),确定保存;
    1. 再次单击“新建”,变量名:CLASSPATH,变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
    1. 选择“path”,点击“编辑”,在原来值的最前面添加下面的信息:%JAVA_HOME%bin;%JAVA_HOME%jrebin
  • 验证jdk安装是否成功,打开DOS窗口,输入java -version,出现以下字样: 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其实是免安装的,将下载的压缩包解压,即可使用。将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%;

2 JMeter接口测试

说起接口测试,首先要读懂接口文档,以最常见的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请求取样器,按照接口文档填入信息:

  • 协议:分为http和https(加密的http),测试环境一般采用http,生产环境使用https。
  • 服务器名称或IP:填入host对应的内容(api.test.com是域名,因为测试环境做了相关配置,否则使用IP)。
  • 端口号:如果服务器地址填IP,这项就要填写相应的IP,具体也看测试环境配置。
  • 路径:填入接口文档的path即可

下面用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断言)、关联等,这些内容可见后续文章。

3 问题解决

响应乱码问题

在JMeter bin目录下的jmeter.properties文件中,插入下图中语句并重启JMeter即可: