当前位置: 首页 > 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)添加监听器—察看结果树、聚合报告

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

相关文章:

  • 30. 技术专题-锁
  • K8S-Configmap资源
  • 双模式 RTMP H.265 播放器解析:从国内扩展到 Enhanced RTMP 标准的演进
  • 媒体发稿平台哪家好?媒体新闻发稿渠道有哪些值得推荐?
  • 【知识杂记】陀螺仪直接积分就能获得角度吗?
  • 【C++】C++的类型转换
  • 《P1967 [NOIP 2013 提高组] 货车运输》
  • 多线程 + 事务传播误用导致的问题
  • 【北京迅为】iTOP-4412精英版使用手册-第三十二章 网络通信-TCP套字节
  • 如何排查服务器DNS解析失败的问题
  • TypeScript中的枚举
  • UE5分享序列播放器的停止与设置播放范围
  • 8.20作业
  • [Mysql数据库] 用户管理选择题
  • IIS访问报错:HTTP 错误 500.19 - Internal Server Error
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(一)基本代码
  • python的校园顺路代送系统
  • Seaweed-APT:AI视频生成模型,单步生成2秒钟的1280x720 24fps视频
  • 46.安卓逆向2-补环境-使用unidbg(使用apk文件补环境)
  • 面试记录5 .net
  • 电商大数据的采集过程详解​【采集内容|采集渠道|采集步骤|注意事项】
  • 算法第34天|动态规划:打家劫舍Ⅰ、打家劫舍Ⅱ、打家劫舍Ⅲ
  • 为了更强大的空间智能,如何将2D图像转换成完整、具有真实尺度和外观的3D场景?
  • (双类别检测:电动车 + 头部,再对头部分类)VS 单类别检测 + ROI 分类器 方案
  • 小迪安全v2023学习笔记(六十七讲)—— Java安全JNDI注入五大不安全组件RCE不出网
  • 2025年中高级后端开发Java岗八股文最新开源
  • 利用 PHP 爬虫获取店铺所有商品实战指南
  • Spring Boot 3.4.x 性能优化实战:用 Undertow 替换 Tomcat 全指南​
  • 自动驾驶汽车机器学习安全实用解决方案
  • 三坐标性能的创新重构,“高精度、紧凑型、高稳定性”三位一体