文章目录
概要
提示:在看本文章前,需要先了解jmeter的基本使用方法
接口测试
一.模块化测试
什么是模块化测试?有什么用呢?
- 拆分功能:将整个系统分解成若干个功能模块,每个模块独立完成特定的任务。例如,电商系统可以拆分为登录模块、搜索模块、购物车模块、支付模块等。
- 隔离测试:模块化测试要求在隔离环境下对每个模块进行单独测试,不依赖其他模块。这种隔离可以通过模拟数据、使用测试桩(stubs)或模拟对象(mocks)来实现。
- 减少复杂性:将大规模系统分解为多个小模块,每个模块的功能和逻辑都相对简单,测试也更加方便。
在我们编写好测试的功能模块后,在通过’线程组‘去执行。这样我们每次需要使用到这个测试模块时,就可以直接调用,以实现测试模块的复用,常用于大型项目的测试。
二.公共数据维护
’用户自定义变量‘
在实际的工作中,我们有不同的环境,例如:开发环境,测试环境。然而每次使用不同的环境,我们的地址是不同的,每次都需要修改,如果模块过多,修改起来是很繁琐的,所以我们需要统一维护管理。
这里就要用到’用户自定义变量‘
’用户自定义变量‘具体配置:
http请求:
csv数据文件设置
通过循环控制器读取数据,用来测试不同数据时的结果
http请求修改:
csv文件:
三.接口结果判定
在我们通过多次循环测试获得响应数据后,如果数据量少的话,我们或许能通过肉眼去比对校验数据,但如果我们的响应结果是成百上千的时候,我们还能去用肉眼比对校验吗?这显然是不可行的,因此这就需要用到我们的接口结果判定。
接口结果判断我们可以利用断言(添加在HTTP请求下):常用的格式是json,所以这里我选择了json断言
添加json断言:
配置json断言:
查看结构树:
四.接口依赖处理:
在完成登录后,我们进行其他操作时,都需要进行token校验,但是token都是有时效限制的,所以接下来我们来解决token提取与使用。
token从哪来?当我们登录完成后,返回的json中就包含token:
提取token---->json提取器:
编辑json提取器:
HTTP请求的token使用:
五.生成测试报告:
只需要一行命令:
这是在我电脑上运行的命令(每个人的文件路径不同,需要修改):
D:\Tools\apache-jmeter-5.6.3\bin\jmeter -n -t 商城测试计划.jmx -l test1.jtl -e -o D:\University\Testing\report