1. JMeter介绍与安装

  1. JMeter介绍
    JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter也可以应用的接口测试上。
  2. JMeter下载、安装及启动

下载

访问JMeter官网:https://jmeter.apache.org/download_jmeter.cgi

image.png

点击下载windows版本apache-jmeter-5.1.1.zip

安装

解压到D盘即可使用,目录结构:

  • bin目录:启动命令
  • jmeter.bat  在Windows可启动的批处理文件
  • jmeter.sh   在Linux可执行的shell脚本
  • jmeter.properties: 核心配置文件(配置中文编码)

lib目录:存放Jmeter依赖的jar包,同时安装插件放于lib中的ext目录中

image.png

启动

  • 进入bin目录,双击jmeter.bat文件即可启动jmeter

(如果打不开,则说明其工作环境JDK没搭建好,原因:JMeter需要基于Java环境)

  • 在dos中进入到apache-jmeter的bin目录中,然后执行命令:jmeter也可以启动

3、配置jmeter工作环境

方式:安装jdk并配置环境变量

1)安装jdk,要求是1.8级以上版本

在安装jdk的过程中,记得把路径复制一份,方便后面使用。

2)配置jdk的系统环境变量:

a》java_home:jdk的安装路径,(需要新建)

b》path:增加jdk的工作目录bin  ( %java_home%\bin; )  
(只需编辑,往里添加工作路径)

3)验证:

A、在dos中输入命令:javac,显示javac命令的格式及选项

B、启动bin目录中jmeter.bat能正常打开。

设置界面为简体中文,如下:

image.png

2、使用JMeter来做接口功能测试

过程:测试计划-》线程组-》http请求-》响应断言-》断言结果-》参看结果树!

image.png image.png其中测试计划是自带的。

测试计划:相当于项目,某某项目-测试计划

  1. 添加线程组:相当于功能点、或者接口,某某接口-线程组
  • 在“测试计划”上右键-->添加-->线程(用户)-->线程组。

JMeter——介绍与安装及接口功能测试(二)-小白菜博客
然后可以对线程组进行设置(一般在做性能测试时才需要去设置,接口几乎不用)

线程组参数详解

  • 名称:根据业务来设置合适名称,接口测试就是接口名称,性能测试就是功能点2. 遇错误的动作:默认“继续”,忽略错误继续完成请求3. 线程数:虚拟用户数,默认是1个,一个用户占用一个线程。多用户并发测试时就需要在这里设置并发用户数,也就是设置多少个线程数。
  • Ramp-Up 时间(秒):启动所有虚拟用户所需的时间。含义如下:    比如:如果线程数为10,启动时长为2秒,那就意味着2秒内需启动10个用户,平均下来就是每秒启动5个用户。启动时间为0,则代表同时启动 ,并发。
  • 循环次数:每个用户发送请求的次数,好比参数化。如果线程数为10,循环次数为5,  那么每个线程(用户)发送5次请求。总请求数为10*5=50 如果勾选了“永远”,      那么所有线程会一直发送请求,直到手动停止运行或者设置了调度器。
  • 调度器:设置线程组启动的持续时间和延迟时间(调度器需勾选循环次数为永远才有效)  持续时间(秒):测试持续的时间:24小时=24*3600秒       启动延迟(秒):测试延迟启动的时间
  1. 添加HTTP请求:相当于测试用例中的测试步骤,某某-HTTP请求
  • 在“线程组”上右键-->添加-->取样器-->HTTP请求

image.png

  • 设置HTTP请求信息:

基本》

2.1. Web服务器

协议:向目标服务器发送HTTP请求的协议,可以是HTTP或HTTPS,默认为HTTP

服务器名称或IP :HTTP请求发送到的目标服务器名称或IP ,比如:www.jd.com

端口号:目标服务器的端口号,默认值为80 ,可以不写,https为443。

注意: 服务器名称或IP”中不用输入http://, 请求时会自动加入 ;
2.2.  Http请求

  • 方法:发送HTTP请求的方法,包括GET、POST等。
  • 路径:目标URL路径(服务器名称与参数之间的部分)
  • 内容编码 :编码方式默认值为iso8859,改为utf-8支持中文。跟随重定向:当HTTP请求的响应是302/301时,JMeter会跟随重定向到目标页面。
  • 使用keepAlive :jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信保持长  连接,减少连接的次数,进而缩短了连接时间****

2.3.  请求参数

  • A)参数: get请求所携带的数据列表,名值对  (同请求一起发送参数)
  • B)消息体数据:   post请求所携带的请求数据是json格式数据,类似于字典
  • C)文件上传:  post请求本地文件上传,文件类型一定是file说明:所添加的参数中有中文时需要勾选“编码”
    Http请求 示例 https://www.jd.com/,打开京东首页get请求

image.png

  1. 添加响应断言

在“HTTP请求”上右键-->添加-->断言-->响应断言(检查请求后的响应是否正确)

image.png

需要设置的断言的内容:

image.png

包括:适用范围(那个请求),响应的字段,匹配规则以及添加要检查的测试模式

3.1、apply to: 表达的是断言那个请求,默认是只断言主请求(main sample only)

3.2、测试字段: 表达的是断言的内容,有响应文本,响应代码,响应信息等等,一般都是断言响应文本

3.3、模式匹配规则: 表达的是断言的方式,有包括、匹配、相等等等,一般使用包括或者相等

3.4、测试模式: 根据业务来编写,可以理解为我们的预期结果

4. 添加断言结果

在“HTTP请求”上右键 -> “添加”-> “监听器” -> “断言结果” ,查看断言的结果

JMeter——介绍与安装及接口功能测试(二)-小白菜博客
【断言】又名:检查点

含义: 检查预期数据与实际数据是否匹配

方式: 先添加响应断言再添加断言结果,是一个组合

断言成功 : 断言结果只有一行,为请求的名称,则表示成功。
断言失败 :断言结果有两行,第二行显示失败的原因。

5. 察看结果树, 目的是查看请求发送后 的结果:

在“HTTP请求”上右键-->添加-->监听器-->察看结果树

image.png

点击发送请求,image.png结果如下

image.png

image.png