一、使用jmeter进行接口测试
1.1 问题:
执行100次
50个请求同时请求
1.2 使用jmeter的解决方案
(1)添加【测试计划】
(2)基于添加的测试计划添加【线程组】,循环次数设置为100次
(3)在【取样器】中基于线程组添加 HTTP请求
(4)在【监听器】基于线程组添加【察看结果树】
(5)在监听器基于线程组添加【聚合报告】
二、TestPlan(测试计划)
2.1独立运行每个线程组
(1)进程:每个正在运行的应用程序
(2)线程:按照进程的指令去执行指定的代码
(3)线程组(多线程):多个线程的组合
(4)线程组(多线程)的执行顺序是并行的
勾选:让本次测试计划中所有线程组保持从上到下顺序执行
2.2Add directory or jar to classpath:
加载第三方jar包;比如:测试数据库时使用,加载数据库驱动jar包
三、Threads(User)线程组
(1)thread group(线程组)
(2)setup thread group【特殊线程组】
(3)teardown thread group 【特殊线程组】
3.1 thread group(线程组)
1、线程属性
(1)线程数:虚拟用户数
(2)Ramp-Up Period(in seconds):启动虚拟全部用户数所需要的时间
(3)循环次数:指定次数或勾选永远
(4)调度器:勾选后,调度器配置才能使用
2、调度器配置
(1)持续时间(秒):设置脚本压测持续时间
(2)启动延迟(秒):启动延迟时间
3.2 组件详解
1、HTTP请求
1、作用:
模拟前端或第三方软件向服务器请求
设置请求时的方法和参数数据
2、参数详解
a、名称:本属性用于标识一个取样器,建议使用一个有意义的名称
b、服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址
c、端口号:目标服务器的端口号,默认值为80
d、协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https,默认值为http
e、方法:发送HTTP请求的方法,可用方法包括GET、POST、PUT、DELETE
f、Content encoding:内容的编码方式,默认值为iso8859:一般设置【UTF-8】
g、路径:目标表URL路径(不包括服务器地址和端口)
h、同请求一起发送参数:请求时需要传递参数
注意:新增和更新时传入报文也需要设置Content-Type:application/json
告诉服务器我传的数据格式为json格式
设置地点:配置元件——HTTP信息头管理器
2、察看结果树
(1)作用:
a、查看请求服务器时的请求信息
b、查看服务器响应数据
c、记录信息到指定文件
(2)说明:
a、文件名:存放服务器响应的状态信息
b、取样结果:服务器响应的信息头信息
c、请求:查看向服务器请求时的信息
d、响应数据:查看服务器响应的数据
四、线程组总结:
1、setup thread group:一种特殊线程组,测试计划运行之前首先执行,一般做初始化操作
2、teardown thread group:一种特殊线程组,测试计划运行结束时运行,一般做收尾工作
3、thread group(线程组):线程组,我们测试计划中场景创建和实现都是基于此线程组