Jmeter接口/性能测试,Jmeter使用教程(超细整理)

news2024/10/9 16:32:48

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、线程组

线程组分类:
Jmeter线程组主要分为3类分别为线程组、setUp线程组、tearDown线程组

①线程组
这个就是我们通常添加运行的线程。通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

②setUp线程组
一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行;类似LoadRunner的init,测试开始时进行初始化的工作。

③tearDown线程组
一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组;类似LoadRunnner的end,测试结束时进行回收工作。

线程组参数:
三种不同线程组的参数设置页面都一致

C1

①在取样器错误后执行的操作
继续:继续执行接下来的操作。
启动下一次循环:开始下一次循环。
停止线程:退出该线程(不再执行此线程的操作)。
停止测试:等待当前执行的采样器结束后,结束整个测试。
立即停止测试:马上停止测试。

②线程属性
线程数:相当于模拟的用户数量。
Ramp-up 时间(秒):达到指定线程需要的时间,例如线程数为100,时间设定为10s,那么就是10s加载100个线程,每秒启动的线程数=100/10=10。

循环次数:如果填具体的数值,就是循环对应的次数;如果选择“Forever”,则一直执行下去,直到手动停止。

same user on each iteration:每次迭代都有相同的用户,此功勾选为默认勾选。如果只是做接口测试则无需管这个参数,如果是要做模拟多线程的情况则需要取消勾选。
延迟创建线程直到需要:延迟线程创建,直到需要才创建。

调度器:
持续时间(秒):测试计划持续多长时间
启动延迟(秒):测试计划延迟多长时间启动

2、Http请求

可在线程组-取样器中添加HTTP请求

C2

协议:向目标服务器发送http请求时的协议,http/https,大小写不敏感,默认http
服务器名称或IP:需要调用的服务器或IP
端口号:目标服务器的端口号,默认值为80,可为空
HTTP请求:可以根据实际需要请求的接口,选择请求的类型get/post…
路径:目标的URL路径(不包括服务器地址和端口)
内容编码:请求内容的编码,一般使用UTF-8

自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

跟随重定向:Http Request取样器的默认选项,当响应Code是3XX时,自动跳转到目标地址。与自动重定向不同,jmeter会记录重定向过程中的所有请求,在查看结果树可以查看服务器返回的内容,可以对响应的内容进行关联。

使用keepalive:该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

对POST使用multipart/form-data:当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

参数:可手动添加请求参数,会放到请求数据中,格式为参数名=参数。无法与消息体数据共同使用。

消息体数据:此数据会与请求一起发出,发出的格式为手动设置的格式。无法与参数选项共同使用。

文件上传:文件上传的接口在进行测试的时候需要在文件上传页面设置上传文件的属性。由文件名称、参数名称、MIME类型构成。

3、Jar包导入

Jar包导入分为三种方法:

①在测试计划直接导入jar包

C3

②lib目录导入
可以把需要的jar包放入lib目录下,重启后此jar包即可在Jmeter模块中使用

③其余目录导入
通过修改bin目录下的jmeter.properties文件中的plugin_dependency_paths,可以引用其余目录下的jar包。

4、正则表达式提取器

在一个线程组中,B请求如果需要使用A请求返回的数据,将上一个请求的响应数据作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便常用的就是正则表达式提取器

C5

引用名称:Jmeter变量的名称,存储提前出的结果;
模板:表示使用提取到的第几个值, N N N使用提取到的第N个值;
匹配数字:正则表达式匹配数据的结果可以看成一个数值,0表示随机取,正数N表示取第N个值;
缺省值:匹配失败时候的默认值;

正则表达式:
():表示提取字符串的部分值,前后是提取的边界内容
?:出现在该符号之前的项目是可选的,最多匹配一次
*:匹配出现0次或多次的项目
+:匹配一次或多次之前的项目
$:匹配行末的空字符串
{N}:精确匹配N次的先前项目

5、查看结果树

用来监控请求执行的结果,主要分为查看结果树、汇总报告、聚合报告等。
也可以下载第三方监听器。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在追逐梦想的路上,别停下脚步;在面对困难的时刻,别放弃希望;因为奋斗不仅是目标的实现,更是自我成长的旅程。坚信自己的力量,勇往直前,点亮人生的星辰!

初心如磐,奋斗不止;困境无阻,信念不移;梦想的火焰在胸中燃起,勇敢追逐,勇敢闯荡;每一次努力都是铺就成功之路的砖石,坚持不懈,终将书写属于自己的辉煌篇章!

奋斗是奇迹的种子,努力是它的呵护者。用汗水浇灌梦想的花朵,用坚持浇筑成功的基石。不论风雨多么狂暴,心中的勇气与热情,将引领我们驰骋向前,创造属于自己的辉煌人生!

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

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

相关文章

数据结构的复杂度

> 作者简介:დ旧言~,目前大一,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 望小伙伴们点赞👍收藏✨加关注哟💕&#x1…

Web浪漫历程:揭秘二十年间与您“约会”的浏览器发展

🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 🖥️ Node专栏:Node.js从入门到精通 🖥️ TS知识总结:十万字TS知识点总结 👉 你的一键三连是我更新的最大动力❤️!…

保护客户信息,金融行业的 DNS 泄漏风险

在金融行业中,保护客户信息一直是重中之重。随着网络技术的发展,各种网络安全威胁也层出不穷。其中,DNS 泄漏风险是金融行业需要重视的一个问题。 DNS 是域名系统的缩写,它是互联网中用于将域名解析成 IP 地址的系统。在金融行业中…

Jenkins+Gitlab集成CI/CD

前提是Jenkins,Maven,Gitlab,Docker环境已经搭建完毕并测试无误! maven环境 java环境 git环境 Gitlab集成 保存应用 准备一个SpringBoot项目 配置好git仓库,推送到gitlab服务器上 点击立即构建 构建成功 查看服务器是…

ajax axios json

一、ajax概述 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以…

软考开发思考(完善中)

软考开发思考 文章目录 软考开发思考1. 互联网媒体:新技术和新应用及当前的趋势和应用1.1 自动化报道1.2. 虚拟和增强现实1.3. 数据新闻1.4. 即时新闻推送1.5 智能助手和聊天机器人1.6 语音播报,语音检索,后台播放、播放倍速。1.6 机器人交互…

信息安全运维经验

1.备份系统 国外主流:veritas NetBackUp(NBU)、IBM(TSM) (191条消息) 【大数据-文摘笔记】Veritas NBU简介_weixin_30501857的博客-CSDN博客 虚拟机玩转 Veritas NetBackup(NBU)之服务端安装…

组件间嵌套与父子组件通信

1.组件的嵌套 比如在App.vue内使用注册的ShowInfo组件,这就是组件嵌套,其中ShowInfo是子组件,App是父组件 ◼ 前面我们是将所有的逻辑放到一个App.vue中:  在之前的案例中,我们只是创建了一个组件App;  如果我们一个应用程序将所有的逻…

第八次CCF计算机软件能力认证

第一题:最大波动 小明正在利用股票的波动程度来研究股票。 小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入…

C++_01_初步认识C++语言

本人博客园亦可见 一、认识 “C语言” 一、首先聊聊什么是语言? 语言是一套具有“语法”、“词法”规律的系统,是思维的工具。   计算程序设计语言是计算机可以识别的语言,用于描述解决问题的方法,供计算机阅读和执行。 语言由…

火山引擎DataLeap的Data Catalog系统公有云实践 (上)

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 前言 Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据、数据消费者找数和理解数的业务场景。本篇内容源自于火山引擎大数据研发治…

《合成孔径雷达成像算法与实现》Figure2.18与2.20

代码复现如下: xlinspace(-20,20,32); ylinspace(-20,20,32); SINC_1zeros(length(x),length(y)); for i1:length(x)for j1:length(y)SINC_1(i,j)sinc(x(i))*sinc(y(j));end end%SINC_1imrotate(SINC_1,8,bilinear,crop); %Zfftshift(fft2(SINC_1)); Zfft2(SINC_1)…

[Python进阶] 元类metaclass(type类)及object类

4.9 元类metaclass(type类)及object类 4.9.1 object类 在面向对象编程中,类是对象的蓝图或模板。类定义了一组属性和方法,并且根据该模板可以创建新的对象。由于每个对象都是基于类来创建的,因此它们共享相同的属性和方法。 object类是一个…

Docker私有仓库部署与管理

目录 Docker--harbor Harbor 简介 Harbor 部署 1. 部署 Docker-Compose 服务 2. 部署 Harbor 服务 维护管理Harbor 1. 通过 Harbor Web 创建项目 2. 创建 Harbor 用户 3. 查看日志 4. 修改 Harbor.cfg 配置文件 5. 移除 Harbor 服务容器同时保留镜像数据/数据库&…

解析数字孪生的现在和未来

数字孪生是一种将现实世界与数字世界相连接的技术,它可以通过建立数字化的物理模型来模拟和预测现实世界的行为和性能,随着技术的成熟逐渐在越来越多行业得以应用,那有没有人好奇数字孪生是怎么来的呢?今天就带大家来盘一盘数字孪…

Unity中的MonoBehaviour 及其生命周期

关于MonoBehaviour 类的类图的详细介绍: Unity中的MonoBehaviour脚本-基础知识和继承关系_拂面清风三点水的博客-CSDN博客 关于MonoBehaviour 类的生命周期: Unity - Manual: Order of execution for event functions: Awake:当…

脑电信号处理与特征提取——5.频谱分析和时频分析(张治国)

目录 五、频谱分析和时频分析 5.1 频谱估计 5.1.1 基本概念 5.1.2 频谱估计方法:周期图 5.1.3 频谱估计方法:Welch法 5.1.4 频谱估计方法的比较 5.1.5 频谱特征提取 5.2 时频分析 5.2.1 短时傅里叶变换 5.2.2 连续小波变换 5.3 事件相关同步…

24考研数据结构-线性表6

目录 2.4.8 静态链表2.4.9 顺序表和链表的比较2.4.9.1 逻辑结构2.4.9.2 存储结构2.4.9.3 基本操作 - 创建2.4.9.4 基本操作 - 销毁2.4.9.5 基本操作-增/删2.4.9.6 基本操作-查2.4.9.7 顺序、链式、静态、动态四种存储方式的比较2.4.9.8 存储密度的问题2.4.9.9 存储方式的选择以…

产品需求、系统架构设计经验篇

需求设计思维导图UML 建模原型规范什么样的需求该忽略1.拍拍脑袋得来的想法,往往是没用的2.用户反馈的信息,不应该直接纳入需求3.扭改用户习惯的需求,一律不考虑 什么样的需求该重视1.从运维系统中根据数据结果分析得出的结论2.重视有洞见者的…

pandas pivot_table数据透视表、MultiIndex多级索引创建

参考: https://blog.csdn.net/ljr_123/article/details/115250639 1、 pivot_table数据透视表 import pandas as pd# 创建示例数据 data {Year: [2019, 2019, 2020, 2020, 2019, 2019, 2020, 2020],Quarter: [Q1, Q2, Q1, Q2, Q1, Q2, Q1, Q2],Product: [A, A, A…