如何使用jmeter进行接口测试?jmeter接口测试流程是怎样的

news2024/11/17 13:35:39

前言

我们学习自动化测试都会用到不同的工具,那么今天笔者呢,想给大家聊聊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.coloradmin.cn/o/737375.html

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

相关文章

【UE4 C++】01-Visual Studio 2019社区版安装

目录 步骤 一、下载安装包 二、安装 步骤 一、下载安装包 官网目前Visual Studio是2022版本,我们需要下载Visual Studio老版本: Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 二、安装 双击运行安装包后,在打开的界面…

Flutter开发技巧:Android Studio快速生成Dart文件

自定义文件模板 Android Studio 设置路径:Android Studio | Preferences | 搜索Templates | File and Code Templates | Dart File 设置步骤如下图: 模版代码 import package:flutter/material.dart; /*** author[${USER}]* version[创建日期&#xff…

基于matlab在多光谱影像中查找植被(附源码)

一、前言 此示例演示如何使用 MATLAB数组算法来处理图像和绘制图像数据。特别是,此示例使用三维图像阵列,其中三个平面表示来自电磁频谱不同部分的图像信号,包括可见的红色和近红外 (NIR) 通道。 影像数据差异可用于…

数据库-SQL-DML语句

文章目录 DML语句添加数据修改数据DML-删除数据 DML语句 添加数据 表的结构 修改数据 DML-删除数据 DML-总结:

数字美容的艺术:深入探讨面部美化算法和人脸美型SDK

在当今社交媒体和自拍热潮的背景下,数字美容成为了许多人追求面部完美外貌的选择。通过面部美化算法和人脸美型SDK,人们可以在瞬间实现肌肤光滑、五官精致的效果。然而,这种技术的背后隐藏着怎样的原理和技术手段?本文将深入探讨面…

Elasticsearch索引库、文档操作

一、索引库操作 1、创建索引库: #创建索引库 PUT /索引库名 {"mappings": {"properties": {"info":{"type": "text","analyzer": "ik_smart"},"email":{"type": "…

【高级程序设计语言C++】 C++基础知识

1.1 C关键字1.2 命名空间1.2.1命名空间定义1.2.2命名空间的使用 1.3缺省参数1.3.1缺省参数分类 1.4函数的重载1.5.引用1.5.1引用的用法1.引用做参数2.引用返回 1.5.2 常引用 1.6 传值和传引用的区别1.7 引用和指针的区别1.8 auto关键字auto的使用细则 1.1 C关键字 C的关键字共…

vgg16-pytorch

基于pytorch实现VGG16模型 刚听完土哥的入门pytorch,试着写一个不完善的vgg16 VGG16具体的架构: VGG16模型构建: 卷积池化后尺寸计算公式: 引入库: from torch import nn from torch.nn.modules.flatten import Flattendil…

初识stm32

1、什么是单片机? 单片机(Single-Chip Microcomputer)是一种集成电路芯片,把具有数据处理能力的中央处 理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功 能(可能还包括显示驱动电路、…

WHERE条件和ON条件的区别

目录 总结: 1.inner join方式关联 2.left join方式关联 实例 1.建表 2.left join 主表的on和where条件 3.left join 关联表的on和where条件 总结: 1.inner join方式关联 on条件(无论是对主表字段的限制还是对关联表字段的限制&#…

9种流程优化方法,提升业务效率!

编者按:简化工作流程、不断发现工作流程中的错误并有效整合、提高内部团队成员和客户的满意度,是当今每个企业、每个管理者乃至每个员工的共同责任。流程优化是永无止境的。本文回顾了流程优化的概念,详述了流程优化给业务带来的好处以及 9 种…

期货交易策略与技术分析经验总结

期货交易是一种金融衍生品,它是指在未来某个特定的时间和地点,按照事先约定的价格和数量,买卖某种标的物的合约。期货交易具有高杠杆、高风险、高收益的特点,因此需要有一定的交易策略和操作技巧,才能在市场中取得成功…

Qt中的信号与槽(Signals and Slots)

Qt中的信号与槽(Signals and Slots)是一种用于对象间通信的机制,常用于处理用户界面事件和数据更新等情况。通过信号与槽,可以实现对象之间的解耦和灵活的交互。 信号(Signal)是对象发出的事件或通知&…

肥肠恐布--探索Kali Linux中的Metasploit Framework(MSF听说肾透大佬经常用)

请注意,在使用Metasploit Framework进行渗透测试和漏洞利用时,务必遵守合法和授权的原则,此文仅供大家学习参考,请确保您获得了适当的授权,并遵守法律和合规性要求。非法使用和滥用导致严重的法律后果自负。 目录 前言…

mac使用conda(anaconda和miniconda一样)安装新版本的torch

使用pytorch给的命令行下载会很慢,因此我们应该修改镜像源,然后再下载torch 1.添加镜像 在终端输入以下命令,添加镜像: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda conf…

【HMS Core】Health Kit 睡眠各统计类型怎么定义的?有什么区别?

【问题描述】 1、睡眠各统计类型怎么定义的?有什么区别? 2、睡眠状态有5种,各个状态的详细定义是什么? 【解决方案】 1、①科学睡眠,会对睡眠数据进行分析,计算得分等,在连接穿戴设备的前提下…

【AGC】性能管理服务报502问题

【关键字】 AGC、性能管理、502 【问题描述】 有开发者反馈在使用AGC性能管理服务报502错误,接入了analytic sdk 是正常的上报分析数据,但尝试接入apms时出现无法上报情况。 日志截图如下,可以看到分析服务是正常的200上报了数据&#xff…

【Python爬虫与数据分析】Jupyter的安装与快捷键

目录 一、jupyter notebook安装与配置 二、命令模式快捷键 三、编辑模式快捷键 四、文件操作 一、jupyter notebook安装与配置 安装:Jupyter Notebook是以网页的形式打开的一个程序,集成在Anaconda包里面,也可以直接安装python3解释器&a…

jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)

简介 上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。 Jenkins安装 一、安装Java环境   1、你需要做的第一件事情就是在你的机器上安装Java环境。Jenkins是一个基于Java的Web应用程序,所以你至少需要安装JRE。如果没有安装自行百…

Stable Diffusion - Prompts 提示词工程框架

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131544508 当前 Stable Diffusion 模型使用基础的 stable-diffusion-v1-5,即 v1-5-pruned-emaonly.safetensors。 Stable Diffusion …