当前位置: 首页 > news >正文

Jmeter接口测试详解

今天笔者呢,想给大家聊聊Jmeter接口测试流程详解,废话不多说直接进入正题。

一、jmeter简介

Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以;

Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。

二、jmeter安装

首先需要安装jdk(最好是最新版的);

其次去官网下载最新的jmeter版本;

然后配置jmeter的环境变量;

最后双击jmeter.bat或者在“命令提示符”输入jmeter,运行jmeter。

具体安装步骤请自行网上查看

三、设置jmeter的中文界面

进入jmeter的bin目录,找到“jmeter.properties”文件,打开文件搜索“language”,将“#language=en”改为“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。

四、jmeter主要元件

(1)测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器

(2)线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

(3)配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。

(4)前置处理器:负责在请求之前工作,常用来修改请求的设置

(5)定时器:负责定义请求之间的延迟间隔。

(6)取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。

(7)后置处理器:负责在请求之后工作,常用获取返回的值。

(8)断言:用来判断请求响应的结果是否如用户所期望的。

(9)监听器:负责收集测试结果,同时确定结果显示的方式。

(10)逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

五、Jmeter元件的作用域和执行顺序

(1)元件作用域

配置元件:影响其作用范围内的所有元件。
前置处理器:在其作用范围内的每一个sampler元件之前执行。
定时器:在其作用范围内的每一个sampler有效
后置处理器:在其作用范围内的每一个sampler元件之后执行。
断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。
监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。
总结:从各个元件的层次结构判断每个元件的作用域。

(2)元件执行顺序:

配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器

六、jmeter接口测试流程步骤

(1)测试计划—打开Jmeter,在菜单左侧出现 “测试计划”

 (2)线程组—鼠标单击“测试计划”

线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数

Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。

循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

(3)HTTP请求—鼠标右键单击“线程组”

HTTP请求的名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。
端口号:目标服务器的端口号,默认值是80。
协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。
路径:目标URL路径(不包括服务器地址和端口)
内容编码:内容的编码方式,常用UTF-8。
自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
对Post使用multipart/from-data:当发送POST 请求时,使用multipart/from-data方法发送,默认不选中。
同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

(4)添加断言—响应断言

(5)添加监听器—察看结果树、聚合报告

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2025最新版】字节大牛讲的最全最细的自动化测试全套教程!永久白嫖,拿走不谢,全程干货无废话!逼自己15天内学完,从软件测试基础到项目实战一套全通关!

http://www.dtcms.com/a/58024.html

相关文章:

  • torch 中 model.eval() 和 model.train() 的作用
  • 肿瘤检测新突破:用随机森林分类器助力医学诊断
  • 【JAVA架构师成长之路】【Redis】第18集:Redis实现分布式高并发加减计数器
  • 小程序事件系统 —— 33 事件传参 - data-*自定义数据
  • AI视频生成工具清单(附网址与免费说明)
  • 支持向量机的深度解析:从理论到C++实现
  • 栈概念和结构
  • Linux安装RabbitMQ
  • 01-简单几步!在Windows上用llama.cpp运行DeepSeek-R1模型
  • 计算机毕业设计SpringBoot+Vue.js制造装备物联及生产管理ERP系统(源码+文档+PPT+讲解)
  • FFmpeg-chapter7和chapter8-使用 FFmpeg 解码视频(原理篇和实站篇)
  • 【2024_CUMCM】图论模型
  • SwanLab简明教程:从萌新到高手
  • NO.30十六届蓝桥杯备战|C++输入输出|单组测试用例|多组测试用例|isalpha|逗号表达式(C++)
  • C语言-语法
  • vocabulary is from your listening,other speaking and your thought.
  • 如何借助人工智能AI模型开发一个类似OpenAI Operator的智能体实现电脑自动化操作?
  • 什么是美颜SDK?从几何变换到深度学习驱动的美颜算法详解
  • 免费AI图片生成工具推荐
  • 005-获取内存占用率
  • C运算符 对比a++、++a、b--、 --b
  • 【数据结构】后序线索二叉树找前驱、后继
  • 计算机毕业设计SpringBoot+Vue.js车辆管理系统(源码+文档+PPT+讲解)
  • PDFelement Pro v11.4.8.3352 万兴PDF国际解锁版 下载
  • 【Academy】HTTP Host 标头攻击 ------ HTTP Host header attacks
  • 关于C++数据类型char的类型是整数的思考
  • K8S单机部署
  • 中级网络工程师面试题参考示例(1)
  • filter_var()函数用于过滤和验证用户输入的数据
  • 强化学习中的值迭代算法与实现