Jemeter实战:http接口自动化测试 之 基本入门操作

一、新建测试计划,取名为测试/压测任务的名字

如下,建立一个搜索主流程测试计划,可以在计划种添加公共变量

Jemeter实战:http接口自动化测试 之 基本入门操作

二、添加线程组。测试计划右键—>threads(user)—>线程组。

每个线程组对应一个压测任务,可以在线程属性中对压测时间及并发量做设置,此处暂不详述。仅做自动化测试的时候,保持线程组默认设置,更改线程数即可。此处线程数用以控制执行次数。下图表示线程组中的所有请求执行三次。

Jemeter实战:http接口自动化测试 之 基本入门操作

三、配置元件

a)线程组右键—>配置元件—>http请求默认值。用于设置线程组中所有http样本的公共信息。

协议:http或者https

服务器名称或ip:填写待测试系统的公共域名

路径:如果待测试api请求路径前缀相同也可以在路径设置默认路径。一些必须的公共参数如地址信息等也可以在此设置。

Jemeter实战:http接口自动化测试 之 基本入门操作

b)线程组右键—>配置元件—>http信息头管理器。用于设置http请求的header参数值

参数:参数名及参数值,参数值既可以是jemeter变量,也可以是固定值,还可以调用jemeter函数

Jemeter实战:http接口自动化测试 之 基本入门操作

c)线程组右键—>配置元件—>cookie管理器。用于设置http请求中的cookie值

参数:参数名及参数值,参数值既可以是jemeter变量,也可以是固定值,还可以调用jemeter函数。注意正确填写域名和路径,否则可能解析不到。

Jemeter实战:http接口自动化测试 之 基本入门操作

P.S.用户名、地址信息等网站公用信息,一般都存在cookie里面。这些参数值既可以在cookie管理器中单独设置,也可以在信息头管理其中添加一项cookie参数,图示为cookie中用户名两种设置方式。

  • 构建http请求

操作:线程组右键—>添加-->samlper-->HTTP请求,用于设置我们需要测试的API的请求路径和数据

协议/服务器名称或ip:如果已经设置了http默认值,http请求取样中可以不做设置。

方法:http请求方法,post和get使用最多

 

Jemeter实战:http接口自动化测试 之 基本入门操作

路径:该请求独立路径。如果默认值设置域名为color,设置路径为/m,http取样器设置路径为/search,则取样器最终的请求路径为 color/m/search

Parameters:以参数名—参数值的形式填写,不同参数分开填写,此种方式最常使用;勾选编码选项jemeter会自动进行url转码

P.S. 可以直接从浏览器http请求中复制参数,点击Add from Clipboad按钮从粘贴板中复制参数,自动填写到jemeter

Body Data:以参数名=参数值的形式填写,不同参数以&符号分割,需要事先进行url转码。

P.S. Jemeter函数助手中有提供url转码/解码函数:__urlencode/__urldecode,可以直接调用函数转码,但需要注意特殊字符转义

Jemeter实战:http接口自动化测试 之 基本入门操作

P.S. chrome开发者工具中,可以对http请求中的参数进行url转码,如下图

Jemeter实战:http接口自动化测试 之 基本入门操作

Files Upload:有时候请求参数太大,直接使用会拖慢jemeter运行速度,可以将参数保存在文件中,请求时读取文件。需要特别注意文件编码格式。

  • 添加监听器

监听器用户监控取样结果,最常用的监听器是查看结果树和聚合报告,其中前者用于查看每一个取样器的详细信息,后者用于监控所有取样器的性能表现,多用于压测。这里主要介绍查看结果树。

操作:线程组右键—>添加-->监听器-->查看结果树

Jemeter实战:http接口自动化测试 之 基本入门操作

查看结果树中,每一个取样器每次运行会得到一个结果,UI如图,我把标注了重要区域

  1. 文件名:监听结果可以写入文件,右侧可以选择写入内容的范围,其中configure按钮点开可以进行最详细的配置
  2. Search:在所有结果中搜索文本或者匹配正则表达式,满足搜索条件的取样器结果会在区域C勇红色边框标注;点击取样结果,可以在UI最下侧B2区域查找对应结果中的待匹配文本,此时查找到的文本会以绿色底色醒目标出
  3. D取样结果:点击区域C每个取样器的名字,右侧区域D展示对应的具体结果。

Jemeter实战:http接口自动化测试 之 基本入门操作

取样器结果:线程组名字、响应头、响应数据大小,响应时间、是否成功、效应等信息,可以选择raw/parse两种展示方式,后者以表格形式展示

Jemeter实战:http接口自动化测试 之 基本入门操作

请求:对应http请求的具体请求信息,包括请求方式、请求链接、请求消息体、cookie和消息头等。

P.S.http请求取样器的这个字段值多半是JMeterVariables

响应数据:该取样器的返回数据,如果是http请求,该字段为请求返回数据。

P.S.可以在区域C选择区域D的编码方式,默认为text编码,其中Json PathTester可以将返回结果自动转为json格式,如下图

Jemeter实战:http接口自动化测试 之 基本入门操作

  • 启动测试计划

点击启动按钮,运行该计划下所有线程组中启用状态的取样器。

Jemeter实战:http接口自动化测试 之 基本入门操作

其中Start no pauses:表示无停顿启动运行测试计划,以忽略定时器 并且再启动时运行更快。运行过程中可以随时点击stop按钮停止运行。运行完成后在查看结果树种查看具体信息。