ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

API接口测试-jmeter实战

2022-07-25 20:36:42  阅读:132  来源: 互联网

标签:http 请求 接口 JSON API 线程 HTTP jmeter


一、JMeter的介绍

JMeter是开源软件,100%的使用Java语言来进行开发的,支持主流的协议(HTTP,HTTPS,WebService,gRPC)的API测试和性能测试,是一款非常优秀的测试工具软件。

二、JMeter的下载

JMeter的下载地址为:https://jmeter.apache.org/download_jmeter.cgi

 

 

 

下载后将压缩包放在安装目录解压,解压后的文件目录如下:

三、JMeter的运行方式

java 语言编写的程序,程序要运行,对外运行的程序有两种方式(基本一样):

1、.war

2、.jar 启动方式: java -jar .war java -jar .jar

img

四、JMeter的配置文件

 

 

 五、JMeter的基本应用

在一个测试计划里面可以有很多的线程组

 

 

 

线程组可以等价为PostMan里面的Collections,也就是集合,那么在一个线程组里面可以有很多的API测试用例。

1、Text/xml

以获取手机号码归属地为例,接口协议如下:

1)在jmeter中创建如下图的线程组和http请求,并填写请求方法和请求地址。

2)执行下图操作,在Test Plan右键选择添加【查看结果树】

3)通过点击下图中的绿色箭头,执行线程组,在【查看结果数】中查看测试结果,如下图所示:

 

 

 

2、表单格式

以获取手机号码归属地为例,接口协议如下:

1)在jmeter中添加如下图的HTTP信息头管理器,并填写请求头。

2)在jmeter的表单方式获取手机号码线程组中添加http请求,并填写请求方法、请求地址和请求参数。

3)执行2)中的http请求,在查看结果树中查看测试结果,如下图所示:

3、xml格式

以获取手机号码归属地为例,接口协议如下:

1)在jmeter中添加如下图的HTTP信息头管理器,并填写请求头。

2)在jmeter的xml格式获取手机号码归属地线程组中添加http请求,并填写请求方法、请求地址和消息体数据。

3)执行2)中的http请求,在查看结果树中查看测试结果,如下图所示:

4、json格式

以风暴测试平台登录为例,通过浏览器的Network抓包得到以下接口数据

 

 

 

 

 

1)在jmeter中添加如下图的HTTP信息头管理器,并填写请求头。

2)在jmeter的登录线程组中添加http请求,并填写请求方法、请求地址和消息体数据。

3)执行2)中的http请求,在查看结果树中查看测试结果,如下图所示:

六、JMeter实战(以风暴测试平台为例)

创建以下目录结构:

1、HTTP信息头管理器

注释:jmeter中的变量是整个线程组的,所以先调用变量再定义变量不会出错。

2、HTTP请求默认值

1)通过如下图步骤,在测试平台线程组下添加HTTP请求默认值

2)HTTP请求默认值中填写请求的ip地址和端口号,以及内容编码,之后可以一劳永逸,在所有http请求的请求地址中的IP和端口号可以省略不写,只需在一个地方维护。

注释:HTTP信息头管理器与HTTP请求默认值属于全局变量,所以放在线程组下,http请求上。

3、登录

1)登录的http请求如下图所示:

①如下图所示在通过添加【后置处理器】的【JSON提取器】,创建名为“获取Token”的JSON提取器;因为token是一个动态参数,所以要在JSON提取器中定义token。

②在JSON提取器中填写以下信息:

2)验证用户昵称

3)验证手机号码

4)验证用户状态

4、首页

5、产品管理

1)添加产品

①JSON提取器

如下图所示,因为产品id是变化的,所以产品id是一个动态参数,因此通过json提取器定义这个动态参数。

 

 

 

②验证新增产品名称

③验证产品id

2)查询产品

①默认查询

a.http请求

b.响应断言

②模糊查询

a.http请求

b.JSON断言

③精确查询

a.http请求

b.JSON断言

3)修改产品

①修改产品名称

a.http请求

b.JSON断言

②修改产品类型

a.http请求

b.JSON断言

③修改产品版本

a.http请求

b.JSON断言

④修改产品负责人

a.http请求

b.JSON断言

⑤修改产品描述

a.http请求

b.JSON断言

4)删除产品

①删除产品-状态码

a.http请求

b.响应断言(通过状态码验证)

②删除产品-删除后查询产品为空

a.http请求

b.响应断言(通过响应文本验证)

jmeter中如何处理动态参数?

以登录为例,登录请求返回的数据token就是一个动态参数,在登录测试用例下添加"后置处理器"的"JSON提取器",在请求头中添加Authorization,使用${token}进行动态参数的调用。

 

 

 

 

 

 

 

 

 

标签:http,请求,接口,JSON,API,线程,HTTP,jmeter
来源: https://www.cnblogs.com/cch6842/p/16518701.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有