jmeter是怎么用的,怎么设计接口测试用例的
如何使用:
Apache JMeter 是一款广泛使用的开源性能测试工具,用于对各种服务(如 Web 应用、数据库、FTP、WEB 服务等)进行负载测试和性能测试。以下是如何使用 JMeter 的基本步骤。
1. 安装 JMeter
-
下载 JMeter:访问 Apache JMeter 官方网站 下载最新版本的 JMeter 压缩包。
-
解压缩:将下载的文件解压到你想要的目录。
-
确保 Java 环境已安装:JMeter 需要 Java 运行环境支持,可以用以下命令确认 Java 是否已安装:
java -version
2. 启动 JMeter
-
进入解压后的 JMeter 目录,然后执行以下命令启动 JMeter:
./bin/jmeter如果是在 Windows 上,请运行
bin/jmeter.bat。
3. 创建测试计划
一旦启动 JMeter,您可以按照以下步骤创建和配置测试计划:
步骤 1: 创建测试计划
- 在 JMeter 窗口中,右键单击“测试计划”(Test Plan),选择“添加”(Add) -> “线程(用户)”(Threads (Users)) -> “线程组”(Thread Group)。
步骤 2: 配置线程组
- 线程数(Number of Threads):控制虚拟用户的数量。
- Ramp-Up Period:设置所有线程启动所需的时间(单位:秒),例如,5 个线程设置为 10 秒,表示每个线程每 2 秒启动一次。
- 循环次数(Loop Count):设置每个线程运行的次数。
步骤 3: 添加请求
- 在刚才创建的线程组上右键单击,选择“添加”(Add) -> “取样器”(Sampler) -> “HTTP 请求”(HTTP Request)(如果要测试 Web 应用)。
- 填写请求的详细信息,例如:
- 服务器名称或 IP:要测试的服务器。
- 端口号:如果使用的不是默认端口(如 80 或 443),则指定端口号。
- HTTP 方法:选择
GET、POST等请求方法。 - 路径:你要测试的资源路径。
步骤 4: 添加断言(可选)
- 为了验证响应是否符合预期,可以在请求下添加断言(Assertions)。右键单击 HTTP 请求,选择“添加” -> “断言” -> “响应断言”(Response Assertion),添加需要检查的条件。
步骤 5: 添加监听器
- 为了查看测试结果,需要添加监听器。在线程组上右键单击,选择“添加” -> “监听器” -> “聚合报告”(Aggregate Report)或“图形结果”(Graph Results)等。
4. 运行测试计划
- 配置完成后,点击 JMeter 窗口上方的绿色“开始”按钮运行测试。运行时,监听器将实时显示测试结果。
5. 分析结果
- 测试完成后,通过监听器查看结果。你可以查看请求的成功率、响应时间、错误信息等。
6. 保存和分享测试计划
- 测试计划可以通过“文件”菜单下的“保存”选项保存为
.jmx文件,方便后续使用或分享给他人。
设计接口测试用例的原则
在设计接口测试用例时,可以遵循以下原则:
-
功能性测试:
- 验证接口是否能正确处理有效请求并返回预期结果。
- 验证接口在接收到无效参数时的处理,如错误提示和状态码。
-
边界条件:
- 测试边界值,例如输入参数的最大、最小、空值等情况。
-
性能测试:
- 在负载高峰时检查接口的响应时间、吞吐率等性能指标。
-
安全性测试:
- 验证接口的安全性,确保敏感信息不被泄露,如身份验证、权限控制等。
-
异常处理:
- 测试接口在意外情况下的表现,比如数据库故障、网络中断等。
示例接口测试用例设计
假设我们有一个用户登录接口,使用 POST 方法:
- 接口 URL:
/api/login - 请求参数:
username:用户名称password:用户密码
测试用例示例
-
正常登录:
- 测试用例:有效的用户名和密码。
- 预期结果:返回状态码 200,返回用户信息。
-
错误用户名:
- 测试用例:无效的用户名。
- 预期结果:返回状态码 401,返回错误信息提示。
-
错误密码:
- 测试用例:有效的用户名但错误的密码。
- 预期结果:返回状态码 401,返回错误信息提示。
-
缺少参数:
- 测试用例:请求中缺少用户名或密码。
- 预期结果:返回状态码 400,返回错误信息提示。
-
边界值测试:
- 测试用例:输入极限长度的用户名和密码。
- 预期结果:根据系统设定返回适当的结果。
-
性能测试:
- 测试用例:在高并发下进行多次登录请求。
- 预期结果:响应时间在可接受的范围内(例如,< 500ms)。
运行和分析结果
- 在配置完成后,点击上方的“启动”按钮开始运行测试。
- 通过添加的监听器查看结果,分析接口在不同条件下的表现。
总结
Apache JMeter 是一个强大的性能测试工具,能够有效地设计和执行接口测试用例。通过合理的测试设计,可以全面评估接口的功能性、安全性和性能,确保应用程序在高负载和各种边界条件下的稳定性和可靠性。
相关文章:
jmeter是怎么用的,怎么设计接口测试用例的
如何使用: Apache JMeter 是一款广泛使用的开源性能测试工具,用于对各种服务(如 Web 应用、数据库、FTP、WEB 服务等)进行负载测试和性能测试。以下是如何使用 JMeter 的基本步骤。 1. 安装 JMeter 下载 JMeter:访问…...
数据挖掘示例
案例背景,有公司进行橡胶玩具的生产,一共生产两种产品,分别为橡皮鱼和橡皮鸭。 已知条件为: 1、公司的橡胶原材料能够生产500只橡皮鸭或者400条橡皮鱼。 2、生产效率为公司产量不会高于400只橡皮鸭和300条橡皮鱼。 3、每只橡皮…...
【PHP】在ThinkPHP6中Swoole与FPM的简单性能测试对比
一、前言 本文主要测试在ThinkPHP 6框架中,使用Swoole扩展库与使用PHP-FPM两者的HTTP并发性能差距,测试方法较简单,仅供参考。 二、测试环境 系统:Ubuntu 22.04 PHP版本:7.4.33 Swoole版本:4.8.13 ThinkPHP版本:6.1.5 ThinkPHP-Swoole扩展库版本:3.1.4 测试工具:A…...
论文写作学习--POLYGCL
POLYGCL: GRAPH CONTRASTIVE LEARNING VIA LEARNABLE SPECTRAL POLYNOMIAL filters 今天由于开了一天的积极分子会议以及要写汇报,因此,只来得及学一会。 摘要 第一步,设定背景 Recently, Graph Contrastive Learning (GCL) has achieved …...
【高等数学】无穷级数
0. 了解 无穷级数是指将无穷多个数按照一定的规律相加起来的表达式。 打个比方,就像你有一个无穷长的梯子,每一级梯子代表一个数。把这些数一个一个加起来,就形成了无穷级数。 比如常见的等比级数,这里是首项,是公比。如果,这个等比级数是收敛的,也就是它的和是一个有限…...
计算机网络——无连接传输UDP
UDP用于流媒体应用和事务性应用(一次往返搞定的应用)...
DS几大常见排序讲解和实现(下)(15)
文章目录 前言一、快排的思想二、Hoare版基本思路代码实现 三、挖坑法基本思路代码实现 四、双指针法基本思想代码实现 五、三数取中六、小区间优化七、三路划分八、自省排序总结 前言 其实下篇就单独讲个快速排序 你可能会想这是什么神通,竟然能单独开一篇来讲…...
电脑视频剪辑大比拼,谁更胜一筹?
随着短视频的火爆,越来越多的人开始尝试自己动手制作视频,无论是记录生活点滴还是创作个性短片,一款好用的视频剪辑软件是必不可少的。今天,我们就从短视频运营的角度,来聊聊几款热门的电脑视频剪辑软件,看…...
计算机毕业设计 基于Web的景区管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
计算生物学与生物信息学漫谈-2-测序深度/读长质量和Fasta处理
上一篇文章中我们介绍了测序技术的由来与发展,那么在介绍第三代测序的时候,我们提到了关于测序深度和读长的问题,那么本篇文章就详解介绍一下。 计算生物学与生物信息学漫谈-1-测序一路走来-CSDN博客 目录 1.测序深度SEQUENCING DEPTH &…...
基于SSM+微信小程序的电子点餐管理系统(点餐1)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的电子点餐管理系统实现了管理员及用户。管理员实现了首页、个人中心、餐品分类管理、特色餐品管理、订单信息管理、用户管理、特价餐品管理、活动订单管理、系统管理。…...
IO进程---day5
1、使用有名管道实现两个进程之间的相互通信 //管道文件 #include<myhead.h> int main(int argc, const char *argv[]) {//创建有名管道文件1if(mkfifo("./pipe1",0664)-1){perror("创建管道文件失败");return 0;}if(mkfifo("./pipe2",066…...
ROS理论与实践学习笔记——5 ROS机器人系统仿真之URDF(Unified Robot Description Format)语法详解
URDF 文件是一个标准的 XML 文件格式,用于在 ROS 中描述机器人模型的结构。URDF 通过预定义的一系列标签,简洁地表达机器人的组成和运动关系。虽然机器人模型可能非常复杂,但在 URDF 中可以主要简化为两个核心部分: 连杆ÿ…...
常见SQL注入攻击示例与原理及其防御措施
SQL 注入(SQL Injection)是一种代码注入技术,用于攻击数据驱动的应用程序,主要通过在输入字段或 URL 查询参数中插入恶意 SQL 语句来实现。攻击者利用应用程序对用户输入数据的未充分验证或过滤,将恶意 SQL 语句注入到…...
Node.js 中的 WebSocket 底层实现
WebSockets 是一种网络通信协议,可实现双向客户端-服务器通信。 WebSockets 通常用于需要即时更新的应用程序,使用 HTTP 之上的持久双工通道来支持实时交互,而无需持续进行连接协商。服务器推送是 WebSockets 的众多常见用例之一。 本文首先…...
MySQl数据库的基本操作
1.1创建数据库 使用CREATE DATABASE语句可以轻松创建MySQL数据库,语法如下: CREATE DATABASE 数据库名; 例:创建fruitsales数据库 CREATE DATABASE fruitsales;1.2 查看数据库 使用SHOW语句查看当前服务器下所有已经存在的数据库 SHOW DAT…...
Egg.js 项目的合理 ESLint 配置文件模板
Egg.js 项目的合理 ESLint 配置文件模板 安装依赖 npm install eslint babel/eslint-parser eslint-plugin-import eslint-plugin-promise eslint-plugin-node --save-dev extends: 扩展了 eslint-config-egg 以及其他一些常用的插件配置。 parser: 使用 babel/eslint-parse…...
算法专题七: 分治归并
目录 1. 排序数组2. 交易逆序对的总数3. 计算右侧小于当前元素的个数4. 翻转对 1. 排序数组 算法思路: 本道题使用归并的思路进行排序, 先讲数组分为左右两个区间, 然后合并两个有序数组. class Solution {vector<int> tmp; public:vector<int> sortArray(vector&…...
一个基于vue功能强大的表格组件--vxe-table的二次封装
基础使用 一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等… <vxe-grid v-bind"gridOptions1"…...
CSS网页布局(重塑网页布局)
一、实现两列布局 许多网站有一些特点,如页面顶部放置一个大的导航或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权信息等。 一般情况,此类网页布局的两列都有固定的宽度,而且从内容上很容易…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
