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

jmeter接口测试及详细步骤以及项目实战教程

如果看完这篇文章还是不太明白的话,可以看看下面这个视频

2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频_哔哩哔哩_bilibili2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频共计16条视频,包括:1.【Jmeter】什么是接口测试?为什么要做接口测试?、2.【Jmeter】接口架构设计分类以及接口协议、3.【Jmeter】Jmeter界面介绍和常用组件详解等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1Ux4y1L7Lj/?spm_id_from=333.337.search-card.all.click在接口测试项目实战中,JMeter是一款非常强大和流行的自动化测试工具,它可以测试各种类型的应用程序,并通过采样和报告来识别性能瓶颈和API的问题。本文将为你提供一个基于实际项目的JMeter接口测试项目实战教程,指导你如何使用JMeter进行接口测试并分析测试结果。

一、最佳实践

在进行接口测试之前,请务必遵循以下最佳实践:

  1. 使用合适的工具 - JMeter是非常强大的工具,提供了大量的功能,可以满足各种类型的测试需求。使用正确的工具可以大大简化测试流程,增加测试效率。同时,也需要注意工具的易用性和使用难度,以提高测试的效率和准确性。

  2. 测试环境的准备 - 在进行接口测试之前,需要对测试环境进行准备工作,包括:搭建服务器、安装应用程序、预测试准备、数据准备等。

  3. 确定测试场景 - 测试场景应该根据实际的生产环境和产品需求制定, 定义好测试场景和测试计划可以使测试更加高效和有针对性。

  4. 编写测试用例 - 编写测试用例是接口测试的关键环节。测试用例应该覆盖应用程序的所有功能。通过执行测试用例,可以发现应用程序中的各种缺陷。

  5. 设置合适的负载 - 设置合适的负载是关键环节,这可以模拟实际用户的行为、预测应用程序的能力,并识别应用程序的缺陷。

  6. 监控性能数据 - 在测试期间,应该对性能数据进行监控,以检测性能问题、确定应用程序的强度测试和确认可扩展性。

二、测试步骤

下面是使用JMeter对API接口进行性能测试的步骤:

  1. 在JMeter中创建测试计划。
  2. 创建线程组,设置线程数、循环次数、启动时间和延迟时间。
  3. 添加Http请求,并设置Http方法,请求URL,请求头和请求正文。
  4. 添加断言检查响应数据,以确保响应数据符合预期。
  5. 添加监控器,以收集应用程序性能指标。
  6. 配置测试计划, 设置负载并运行测试。
  7. 分析测试报告,获取测试结果。

三、一个示例

接下来,我们将通过一个完整的示例来演示如何使用JMeter进行接口测试。

我们使用GitHub API来演示接口测试。该API提供了有关repositories、commits、branches等信息。

  1. 在JMeter中创建测试计划。

  2. 创建线程组,设置线程数、循环次数、启动时间和延迟时间。

  3. 添加Http请求,并设置Http方法(GET或POST方法),请求URL,请求头和请求正文。

    下面是我们在一个HTTP请求示例中配置的URL和请求头;

   1. URL: https://api.github.com/repos/:owner/:repo2. 请求头: Accept : application/vnd.github.v3+jsonUser-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64)
  1. 添加断言检查响应数据,以确保响应数据符合预期。

    比如,我们通过添加响应断言,确保响应带有特定的HTTP状态码,如404(资源未找到):

四、接口测试项目实战,

JMeter是一款非常强大和流行的自动化测试工具,它可以测试各种类型的应用程序,并通过采样和报告来识别性能瓶颈和API的问题。本文将为你提供一个基于实际项目的JMeter接口测试项目实战教程,指导你如何使用JMeter进行接口测试并分析测试结果。

步骤一:确定测试场景

首先,需要定义好测试场景,把握好测试目标,来模拟真实场景的使用情况。测试的场景可能是:

  1. 接口性能测试 - 测试不同的API在不同负载下的性能表现。
  2. 接口压力测试 - 测试应用程序在超出最大负载水平的极限情况下是否会崩溃。
  3. 接口负载测试 - 测试应用程序在正常和高负载条件下的性能表现。
  4. 接口并发测试 - 测试应用程序在同时处理多个请求时的性能。

步骤二:创建JMeter测试计划

  1. 打开JMeter并创建新的测试计划。
  2. 在测试计划中创建一个线程组来模拟虚拟用户,设置线程数、延迟时间、持续时间和循环次数。
  3. 添加Http请求,并设置Http方法、请求URL、请求头和请求体。
  4. 添加断言,检查响应数据是否符合预期。
  5. 添加监听器,以查看响应信息、错误信息以及应用程序的性能数据。

步骤三:配置测试计划

  1. 设置Http请求中的URL,创建具有相关参数的URL。
  2. 配置线程组,配置并发使用者以便在测试期间模拟实际用户进行的请求。
  3. 设置高级线程组选项,如延迟时间、启动时间和循环次数。
  4. 添加HTTP请求,并在请求模板中添加相应的参数和并发用户的数量。
  5. 设置监听器并配置高级选项,如聚合数据和实时数据,以便获得有关测试响应时间和性能数据的更多信息。
  6. 最后,保存测试计划并运行测试。

步骤四:分析测试结果

  1. 查看JMeter测试运行后的测试结果文件,并通过图表和表格来分析结果。
  2. 查看查询各项指标表格。这是JMeter性能测试结果中最重要的部分,你需要查看每个请求的响应时间,错误率,吞吐量,以及连接数等信息。
  3. 查看响应时间柱状图,展示HTTP响应时间的分布,可以观察到响应时间较慢的请求和响应时间较快的请求,并能识别应用程序中可能存在的性能瓶颈和问题。
  4. 查看错误和异常信息,以便找出导致失败的错误逻辑和异常。可以通过使用JMeter记录错误信息并查看堆栈数据来进行定位。
  5. 展示汇总信息以及性能报告,以便将数据可视化,形成方便格式的报告,并进行更好的结果跟踪和分析。

结论

JMeter可以帮助测试人员快速创建、执行和验证API测试用例。本篇文章提供了一个基于实际项目的JMeter接口测试项目实战教程,通过了解测试场景、创建JMeter测试计划并分析测试结果,能够让测试人员提高测试效率,更精确的定位到API问题以及瓶颈,从而优化应用程序性能,提高用户体验。

相关文章:

jmeter接口测试及详细步骤以及项目实战教程

如果看完这篇文章还是不太明白的话,可以看看下面这个视频 2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频_哔哩哔哩_bilibili2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频共计16条视…...

抖音进攻,B站退守

“爱优腾芒”等长视频平台的崛起,在一定层面上丰富了人们的日常生活,而抖音、快手等短视频平台的出现,则在很大程度上改变了用户观看视频的方式。只不过,近几年,随着流量增长逐渐遭遇瓶颈,各视频平台便纷纷…...

2022国赛E题完整成品文章数据代码模型--小批量物料的生产安排

基于LSTM循环神经网络的小批量物料生产安排分析 摘要 某电子产品制造企业面临以下问题:在多品种小批量的物料生产中,事先无法知道物料的 实际需求量。企业希望运用数学方法,分析已有的历史数据,建立数学模型,帮助企业…...

学生党,快来 Azure 一起学习 OpenAI (一):注册 Azure 和申请 OpenAI

大家好我是微软学生大使 Jambo , 在刚结束的微软学生开发者峰会 2023中我们了解到微软为学生提供了 Azure for Student 大礼包,通过 Azure for Student 除了学习和部署云原生的应用外,还可以申请使用 Microsoft OpenAI Service 。在这个 AIGC 火热的年代…...

深入理解【正则化的L1-lasso回归和L2-岭回归】以及相关代码复现

正则化--L1-lasso回归和L2-岭回归1- 过拟合 欠拟合 模型选择2- 正则L1与L23- L2正则代码复现3-1 底层逻辑实现3-2 简洁实现1- 过拟合 欠拟合 模型选择 1-1 欠拟合: 在训练集和测试集上都不能很好的拟合数据【模型过于简单】 原因: 学习到的数据特征过少 …...

入侵检测——如何实现反弹shell检测?

反弹shell的本质:就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。 反弹shell的结…...

Python常用语句学习

人生苦短,我用Python。 ——吉多范罗苏姆 文章目录前言一、判断语句(一)if语句1. 作用2. 构成3. 语法4. 样例5.说明(二)if嵌套二、循环语句(一)while循环1. 作用2. 语法3. 样例4. 说明&#xff…...

测试3年还不如应届生,领导一句点醒:“公司不是只雇你来点点点的”

你的身边,是否有这样的景象? A:写了几年代码,写不下去了,听说测试很好上手,先来做几年测试 。 B:小文员一枚,想入行 IT,听说测试入门简单,请问怎么入行 。 …...

华为网络设备之路由策略,前缀列表(使用,规则)

华为网络之路由策略 前言:在企业网络的设备通信中,常面临一些非法流量访问的安全性及流量路径不优等问题,故为保证数据访问的安全性、提高链路带宽利用率,就需要对网络中的流量行为进行控制,如控制网络流量可达性、调…...

白噪音简介与实现

一、简介: 白噪音(White Noise)是一种具有平均功率频谱密度的噪音信号,其功率在所有频率上均匀分布。白噪音是一种随机信号,其包含所有频率成分的等幅随机振荡。因此,白噪音看起来像是一种随机的“嘈杂声”…...

Springboot结合线程池的使用

1.使用配置文件配置线程的参数 配置文件 thread-pool:core-size: 100max-size: 100keep-alive-seconds: 60queue-capacity: 1配置类 Component ConfigurationProperties("thread-pool") Data public class ThreadPoolConfig {private int coreSize;private int ma…...

AOP工作流程

AOP工作流程3,AOP工作流程3.1 AOP工作流程流程1:Spring容器启动流程2:读取所有切面配置中的切入点流程3:初始化bean流程4:获取bean执行方法验证容器中是否为代理对象验证思路步骤1:修改App类,获取类的类型步骤2:修改MyAdvice类,不增强步骤3:运行程序步骤…...

Modbus相关知识点及问题总结

本人水平有限,写得不对的地方望指正 困惑:线圈状态的值是否是存储在线圈寄存器里面?是否有线圈寄存器的说法?网上有说法说是寄存器占两个字节,但线圈的最少操作单位是位。类似于继电器的通断状态,直接根据电…...

【MySQL】函数

文章目录1. DQL执行顺序2. 函数2.1 字符串函数2.2 数值函数2.3 日期函数2.4 流程函数2.5 窗口函数2.5.1 介绍2.5.2 聚合窗口函数2.5.3 排名窗口函数2.5.4 取值窗口函数1. DQL执行顺序 2. 函数 2.1 字符串函数 函数功能concat(s1,s2,…sn)字符串拼接,将s1,s2…sn拼…...

MySQL高级

一、基础环境搭建 环境准备:CentOS7.6(系统内核要求是3.10以上的)、FinalShell 1. 安装Docker 帮助文档 : https://docs.docker.com/ 1、查看系统内核(系统内核要求是3.10以上的) uname -r2、如果之前安装过旧版本的D…...

带你弄明白c++的4种类型转换

目录 C语言中的类型转换 C强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast RTTI 常见面试题 这篇博客主要是帮助大家了解和学会使用C中规定的四种类型转换。首先我们先回顾一下C语言中的类型转换。 C语言中的类型转换 在C语言中,如果赋…...

8个明显可以提升数据处理效率的 Python 神库

在进行数据科学时,可能会浪费大量时间编码并等待计算机运行某些东西。所以我选择了一些 Python 库,可以帮助你节省宝贵的时间 文章目录1、Optuna技术提升2、ITMO\_FS3、Shap-hypetune4、PyCaret5、floWeaver6、Gradio7、Terality8、Torch-Handle1、Optun…...

互联网公司吐槽养不起程序员,IT岗位的工资真是虚高有泡沫了?

说实话,看到这个话题的时候又被震惊到。 因为相比以往,程序员工资近年来已经够被压缩的了好嘛? 那些鼓吹泡沫论的,真就“何不食肉糜”了~~~ 而且这种逻辑就很奇怪, 程序员的薪资难道不是由行业水平决定么&#xff…...

Excel 进阶|只会 Excel 也能轻松搭建指标应用啦

现在,Kyligence Zen 用户可在 Excel 中对指标进行更进一步的探索和分析,能够实现对维度进行标签筛选、对维度基于指标值进行筛选和排序、下钻/上卷、多样化的透视表布局、本地 Excel 和云端 Excel 的双向支持等。业务人员和分析师基于现有分析习惯就可以…...

RabbitMQ中TTL

目录一、TTL1.控制后台演示消息过期2.代码实现2.1 队列统一过期2.2 消息过期一、TTL TTL 全称 Time To Live(存活时间/过期时间)。 当消息到达存活时间后,还没有被消费,会被自动清除。 RabbitMQ可以对消息设置过期时间&#xff0…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展&#xff0c;养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下&#xff0c;而且难以实现精准监控和管理。为了提升尾水处理的效果和效率&#xff0c;同时降低人力成本&#xff0c;某大型水产养殖企业决定…...