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

目录:导读

    • 前言
    • 一、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.mzph.cn/news/14742.shtml

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

相关文章

代码随想录算法训练营第二十二天 | 读PDF复习环节2

读PDF复习环节2 本博客的内容只是做一个大概的记录,整个PDF看下来,内容上是不如代码随想录网站上的文章全面的,并且PDF中有些地方的描述,是很让我疑惑的,在困扰我很久后,无意间发现,其网站上的讲…

Modbus tcp转ETHERCAT网关modbus tcp/ip协议

捷米JM-ECT-TCP网关能够连接到Modbus tcp总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提高工业生产的效率和生产效益,让生产变得更加智能化。捷米JM-ECT-TCP 是自主研发的一款 ETHERCAT 从站功能的通讯网关。该产品主要功能是…

ARM day8 key1/2/3led

key_led.h #ifndef _KEY_H_ #define _KEY_H_#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//EXTI编号 typedef enum {EXTI0,EXTI1,EXTI2,EXTI3,EXTI4,EXTI5,…

设计模式-备忘录模式在Java中使用示例-象棋悔棋

场景 备忘录模式 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效 或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,当前很多软件都提供了撤销(Undo)操作&#xff0…

【Linux多线程】详解线程控制、线程分离

线程互斥与同步 👸 理解线程🤴pthead_t🥷关于线程🦸‍♀️线程控制POSIX线程库线程ID及进程地址空间布局 🦸线程分离__thread关键字🦸‍♂️pthread_detach函数🦹‍♀️pthread_exit函数&#x…

Bean的作用域和生命周期

1. Bean的作用域 Bean作用域定义了对象实例在应用程序中的生命周期和访问范围,⽐如 singleton 单例作⽤域,就 表示 Bean 在整个 Spring 中只有⼀份,它是全局共享的,那么当其他⼈修改了这个值之后,那么另⼀ 个⼈读取到…

【LeetCode】102.二叉树的层序遍历

题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2: …

【小梦C嘎嘎——启航篇】类和对象(上篇)

【小梦C嘎嘎——启航篇】类和对象(上篇)😎 前言🙌什么是面向过程?什么是面向对象?什么是类和对象类中的访问权限属性类的大小计算this 指针构造函数析构函数 总结撒花💞 😎博客昵称&…

Node.js介绍;浏览器和Node.j架构区别;Node的安装与管理;JS代码执行方式;Node的输入与输出;全局对象;

目录 1_Node.js介绍1.1_概念1.2_浏览器和Node.j架构区别1.3_Node.js应用场景 2_Node的安装与管理2.1_安装2.2_Node的版本工具2.3_版本管理工具:n 3_JavaScript代码执行4_Node的输入与输出4.1_REPL4.2_Node程序传递参数4.3_Node的输出 5_全局对象5.1_常见的全局对象5…

FreeRTOS学习之路,以STM32F103C8T6为实验MCU(2-1:任务)

学习之路主要为FreeRTOS操作系统在STM32F103(STM32F103C8T6)上的运用,采用的是标准库编程的方式,使用的IDE为KEIL5。 注意!!!本学习之路可以通过购买STM32最小系统板以及部分配件的方式进行学习…

大数据实时链路备战 —— 数据双流高保真压测 | 京东云技术团队

一、大数据双流建设 1.1 数据双流 大数据时代,越来越多的业务依赖实时数据用于决策,比如促销调整,点击率预估、广告分佣等。为了保障业务的顺利开展,也为了保证整体大数据链路的高可用性,越来越多的0级系统建设双流&…

java之juc

juc是java.util.current的简写,意思是并发编程。 锁是什么?如何判断锁的是谁? 生产者和消费者问题 synchronized版本 package com.demo.juc.pc;/*** 线程之间的通信问题,生产者和消费者问题!* 线程交替执行** a b …

ubuntu初始化/修改root密码

1.登录ubuntu后,使用sudo passwd root命令,进行root密码的初始化/修改,注:这里需要保证两次输入的密码都是同一个,才可成功 ubuntugt-ubuntu22-04-cmd-v1-0-32gb-100m:~/ocr$ sudo passwd root New password: Retype…

Docker 安全 Docker HTTPS请求过程与配置

Docker 容器安全注意点 尽量别做的事 尽量不用 --privileged 运行容器(授权容器root用户拥有宿主机的root权限) 尽量不用 --network host 运行容器(使用 host 网络模式共享宿主机的网络命名空间) 尽量不在容器中运行 ssh 服务 尽…

文件按关键字分组-切割-染色-写入excel

1. 背景 针对下面的文件data.csv,首先根据fid进行排序,然后分组,使相同fid的记录放到同一个excel文件中,并对每列重复的数据元素染上红色。 fid,user_id -1000078398032092029,230410010036537520 -1000078398032092029,23042301…

Gitlab 备份与恢复

备份 1、备份数据(手动备份) gitlab-rake gitlab:backup:create2、备份数据(定时任务备份) [rootlocalhost ]# crontab -l 00 1 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 说明:每天凌晨1点备份数据…

什么是 HTTP 长轮询?

什么是 HTTP 长轮询? Web 应用程序最初是围绕客户端/服务器模型开发的,其中 Web 客户端始终是事务的发起者,向服务器请求数据。因此,没有任何机制可以让服务器在没有客户端先发出请求的情况下独立地向客户端发送或推送数据。 为…

Docker 全栈体系(八)

Docker 体系(高级篇) 六、Docker轻量级可视化工具Portainer 1. 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 2. 安装 官网 https://www.portain…

计算机视觉常用数据集介绍

1 MINIST MINIST 数据集应该算是CV里面最早流行的数据了,相当于CV领域的Hello World。该数据包含70000张手写数字图像,其中60000张用于train, 10000张用于test, 并且都有相应的label。图像的尺寸比较小, 为28x28。 数…

数据安全

数据的备份与恢复 1. 数据备份技术 任何数据在长期使用过程中,都存在一定的安全隐患。由于认为操作失误或系统故障,例如认为错误、程序出错、计算机失效、灾难和偷窃,经常造成数据丢失,给个人和企业造成灾难性的影响。在这种情况…