如何使用jmeter进行接口测试?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)添加监听器—察看结果树、聚合报告

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小阳的戒S笔记

文章目录 写在前面2024年5月8日21:12:172024年5月9日21:48:242024年5月10日08:04:141、记录昨夜之身体变化2、自身制定之计划1.此亦乃要事,特定问了度娘与GPT,找时间还得咨询专业医师。2.通过跑步宣泄,同时锻炼身体3.我不会有压力&#xff0c…

【intro】Graph Isomorphism Network(GIN)

论文 https://arxiv.org/pdf/1810.00826 abstract 图神经网络(gnn)是一种有效的图表示学习框架。gnn采用邻域聚合方案,通过递归聚合和变换相邻节点的表示向量来计算节点的表示向量。已经提出了许多GNN变体,并在节点和图分类任务上取得了最先进的结果。…

【RPC】Dubbo接口测试

关于rpc,推荐看看这篇 : 既然有HTTP协议,为什么还要有RPC 一、Dubbo 是一款alibaba开源的高性能服务框架: 分布式服务框架高性能和透明化的RPC远程服务调用方案SOA服务治理方案 二、Dubbo基础架构 三、 Dubbo接口测试 1、jme…

升级WSL Ubuntu内核从5.10到5.15

【未成功】可以使用$ uname -r察看当前版本,如果不是最新的版本可以简单通过$ sudo apt update 和$ sudo apt upgrade来升级内核。但是,它可能不会立即更新到最新的内核版本。可以手动安装最新内核,通过$ sudo add-apt-repository ppa:cappelikan/ppa 添加Ubuntu内核仓库,然…

什么是弹性云服务器?

在当今云计算领域,弹性云服务器成为了一种备受关注的服务器架构。弹性云服务器是一种基于云计算技术的服务器架构,具有自动伸缩、高可用性、灵活性和高性能等特点。相比传统的物理服务器或虚拟服务器,弹性云服务器具有更多优势和特点。 1、弹…

等保测评技术方案(四)

(七)测评内容 1.三级测评项: 安全类 安全控制点 测评项数 安全通用要求 安全物理环境 物理位置选择 2 物理访问控制 1 防盗窃和防破坏 3 防雷击 2 防火 3 防水和防潮 3 防静电 2 温湿度控制 1 电力供应 3 电磁防护 …

Java转Kotlin

Kotlin 是一种静态编程语言 2011JetBrains开始开发Kotlin,用于多平台应用(能脱离虚拟机,直接编译成可以在win,mac,linux运行的二进制代码) 2017获得谷歌官方支持 语法简洁(减少了大量的样板代码,语法糖&…

Pytorch张量广播

Pytorch 中的主要的数据结构包括标量、向量、矩阵、张量,同时支持数据之间的运算。在 Pytorch 中有一个张量广播的概念,就是要把小的放大,最后在一起做计算,并不是所有的张量都可以计算,规则如下 首先比较维度&#x…

一、写给Android开发者之harmony入门

一、创建新项目 对比 android-studio:ability类似安卓activity ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务) 启动模式 1、 singleton启动模式:单例 2、 multiton启动模式&#xff1…

25 | MySQL是怎么保证高可用的?

主备延迟 “同步延迟”。与数据同步有关的时间点主要包括以下三个: 主库 A 执行完成一个事务,写入 binlog,我们把这个时刻记为 T1;之后传给备库 B,我们把备库 B 接收完这个 binlog 的时刻记为 T2;备库 B 执行完成这个事务&#…

Pycharm 执行pytest时,会遇见某些case Empty suite

我这边的情况是有些case就是执行不了,百度了很多,有说设置选pytest的,有命名规范的,都没有成功。后面问了同事之后才发现,pytest 的框架,pytest.ini 执行的时候,加了个标签,主动把某…

在uniapp中如何安装axios并解决跨域问题

目录 1、安装axios 2、导入 3、使用(发请求) 2.解决跨域问题 1.为什么要解决跨域问题? 2.前端如何解决跨域问题? 1、安装axios npm install axios 2、导入 在main.js中导入使用 import axios from axios; // 创建一个名…

【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程

目录 🌞前言 🌊1. SVN 的简介 🌍1.1 SVN是什么 🌍1.2 SVN 工作原理 🌍1.3 TortoiseSVN 术语及定义 🌊2. TortoiseSVN 安装与汉化 🌊3. SVN 基本操作-TortoiseSVN 🌍3.1 浏览…

AI助力制造行业探索创新路径

近期,著名科技作家凯文凯利(K.K.)来到中国,发表了一场演讲,给广大听众带来了深刻的启示。他在演讲中强调了人工智能(AI)对全球经济的重大影响,并提出了AI发展的多个观点: AI的多样性…

gitee 简易使用 上传文件

Wiki - Gitee.com 官方教程 1.gitee 注册帐号 2.下载git 安装 http://git-scm.com/downloads 3. 桌面 鼠标右键 或是开始菜单 open git bash here 输入(复制 ,粘贴) 运行完成后 刷新网页 下方加号即可以添加文件 上传文件 下载 教程…

大型医疗挂号微服务“马上好医”医疗项目(5)Swagger的使用

Swagger的简单介绍 Swagger 是一个 RESTful 接口文档的规范和工具集,它的目标是统一 RESTful 接口文档的格式和规范。在开发过程中,接口文档是非常重要的一环,它不仅方便开发者查看和理解接口的功能和参数,还能帮助前后端开发协同…

记录Postgresql 报错 the database system is in recovery mode

在开发环境中,突然有一天来到公司启动项目的时候报错 看到这个报错肯定是数据库出啥问题了,我们的数据库是部署在docker里面的。 远程服务器之后,使用命令查看容器,发现数据库容器还是启动着的 docker ps 那就进去容器内部看看…

推荐几款国内的AI写作工具,好用免费还能在线生成AI文案

AI写作简介: 在专业领域中,人工智能技术的进步正以前所未有的速度推动着写作行业的革新。当前,我们见证了生成式人工智能(AI)在文本产生领域的广泛应用,其对提升创作效率和拓展创意边界的贡献是显著的。以…

python 获取最大值对应的字典

造数据 s AABBBCCCDDDDDDDDEEEFGGHHHHIJKLMMM dict_s {k:s.count(k) for k in s} print(dict_s)--->{A: 2, B: 3, C: 3, D: 8, E: 3, F: 1, G: 2, H: 4, I: 1, J: 1, K: 1, L: 1, M: 3} 一、获取最大值对应的字典方法一,使用zip()函数与max函数结合 zip(dict…

10秒以上无错误!猫态量子比特稳定性达到新水平

内容来源:量子前哨(ID:Qforepost) 文丨 浪味仙 排版丨沛贤 深度好文:1200字丨5分钟阅读 摘要:与涉及超导电路的其他量子比特设计相比,使用猫态量子比特可能会“将用于纠错的量子比特数量减少到…