【java】JMeter进行web测试

news2024/12/23 17:26:11

JMeter进行web测试

  • 1.对网页进行负载测试
    • 新建线程组
    • 添加默认 HTTP 请求属性
    • 添加cookie支持
    • 添加HTTP请求
    • 添加监听器以便于查看结果
    • 登录网站
  • 2. 测试本地web项目
  • 3. 其他
    • 使用 URL 重写处理用户会话
    • 使用标题管理器

参考JMeter用户手册 https://jmeter.net/usermanual/build-web-test-plan.html

1.对网页进行负载测试

首先新建测试计划

新建线程组

在这里插入图片描述

Ramp-Up Period 中,保留默认值 1 秒。该属性告诉 JMeter 在启动每个用户之间延迟多长时间。例如,如果您输入 5 秒的 Ramp-Up Period,JMeter 将在 5 秒结束时完成启动所有用户。因此,如果我们有 5 个用户和 5 秒的 Ramp-Up Period,那么启动用户之间的延迟将为 1 秒(5 个用户 / 5 秒 = 1 个用户/秒)。如果您将该值设置为 0,那么 JMeter 将立即启动您的所有用户。

添加默认 HTTP 请求属性

添加默认 HTTP 请求属性
在这里插入图片描述

添加cookie支持

新建HTTP Cookie管理器
在这里插入图片描述

添加HTTP请求

如果使用之前的HTTP请求默认值,留空即可

HTTP Request Defaults 元素不会告诉 JMeter 发送 HTTP 请求。它只是定义了 HTTP 请求元素使用的默认值。
在这里插入图片描述

添加监听器以便于查看结果

这里建议添加后端监听器、汇总报告以及查看结果树

在这里插入图片描述

登录网站

添加请求后注意下面添加参数,本质上登录是个POST请求
在这里插入图片描述
然后,线程组的位置可以选择每次登录是不是同一个用户

在这里插入图片描述
其他设置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 测试本地web项目

不再赘述,直接上图
在这里插入图片描述

3. 其他

使用 URL 重写处理用户会话

如果您的 Web 应用程序使用 URL 重写而不是 cookie 来保存会话信息,那么您需要做一些额外的工作来测试您的站点。

为了正确响应 URL 重写,JMeter 需要解析从服务器接收到的 HTML 并检索唯一的会话 ID。使用适当的HTTP URL 重写修饰符 来完成此操作。只需在修饰符中输入会话 ID 参数的名称,它就会找到它并将其添加到每个请求中。如果请求已经有值,它将被替换。如果“缓存会话 ID?” 被选中,然后最后找到的会话 id 将被保存,如果之前的 HTTP 样本不包含会话 id,则将使用它。

将 URL 重写修饰符添加到 SimpleController,从而确保它只会影响该 SimpleController 下的请求。
在这里插入图片描述

在图 2 中,我们看到了 URL 重写修改器 GUI,它只有一个字段供用户指定会话 ID 参数的名称。还有一个复选框用于指示会话 ID 应该是路径的一部分(由“;”分隔),而不是请求参数

在这里插入图片描述

使用标题管理器

HTTP Header Manager允许您自定义 JMeter 在 HTTP 请求标头中发送的信息。此标头包括“User-Agent”、“Pragma”、“Referer”等属性。
在这里插入图片描述

可以参考
HTTP_Header_Manager

HTTP Header Manager和HTTP Cookie Manager一样,应该在线程组级别添加,除非出于某种原因,您希望在测试中为不同的HTTP Request对象指定不同的标头。

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

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

相关文章

PC与(VMware)linux的IP互通

一、环境 二、NAT模式 NAT(Network Address Translation)网络地址转换,允许一个整体机构以一个公用IP地址出现在Internet上,即把内部私有网络地址翻译成合法网络IP地址的技术。家用路由器一般都是NAT模式。让虚拟系统借助NAT&…

14、vivado打不开工程源码

卡在Initializing Language Server. 解决办法:下图,然后重启软件

微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

在首席执行官萨蒂亚纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到“新必应”搜索引擎,再到低代码/无代码Powe…

数学分析:面积和微分形式

这是面积的推广,这里引出了格拉姆矩阵,有了这个,我们得到的矩阵总是方阵,可以绕过雅可比矩阵不存在的问题。能得到通用的积分换元公式。 其实任何时候,从几何意义去理解总是更加自然。考虑一个平面上的坐标&#xff0c…

centos7安装 mongodb

一、rpm安装 1.1、配置MongoDB Enterprise的yum 源文件 [mongodb-enterprise] nameMongoDB Enterprise Repository baseurlhttps://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp…

数据结构(王道)——数据结构之 串

一、串的数据结构 串的定义: 串和线性表对比: 串的基本操作 串的比较思路 字符集编码含义 串定义总结: 二、串的存储结构 定义一个串的方式 定长顺序存储和堆分配存储 定长顺序存储的方案: 堆分配存储的方案: 基本操…

vscode远程连接提示:过程试图写入的管道不存在(删除C:\Users\<用户名>\.ssh\known_hosts然后重新连接)

文章目录 复现过程原因解决方法总结 复现过程 我是在windows上用vscode远程连接到我的ubuntu虚拟机上,后来我的虚拟机出了点问题,我把它回退了,然后再连接就出现了这个问题 原因 本地的known_hosts文件记录服务器信息与现服务器的信息冲突了…

Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】

目录 一、单个控制器异常处理 1.1 控制器方法 1.2 编写出错页面 1.3 测试结果 二、全局异常处理 2.1 一个有异常的控制器类 2.2 全局异常处理器类 2.3 测试结果 三、自定义异常处理器 3.1 自定义异常处理器 3.2 测试结果 往期专栏&文章相关导读 1. Maven系列…

【并发编程二十二】通过进程名字杀死进程TerminateProcess

【并发编程二十二】通过进程名字杀死进程TerminateProcess 一、代码二、杀进程失败时,检查1、OpenProcess的参数2、UpdatePrivilege提升优先级3、以管理员方式,启动进程 三、启动进程失败1、由于找不到vcruntime140d.dll,无法继续执行代码。2…

ScaleBit 与 NFTScan 达成安全生态合作伙伴关系

7 月初,ScaleBit 与 NFT 基础设施服务商 NFTScan 正式达成安全生态战略合作,携手促进 NFT 生态的安全性。 NFTScan 作为全球领先的 NFT 基础设施服务商,旨在为 Web3 用户和开发者提供专业的一站式 NFT 基础设施服务。用户可以通过它搜索、查看…

3. CSS-定位

absolute和relative依据什么定位? relative依据自身定位,absolute 依据最近一层的定位元素定位 (定位元素是指开启了absolute relative fixed的父元素,没有就是根元素body) 居中对齐的实现方式:详情看这篇博客

10、添加osmbuilding全球建筑模型

本节演示使用CCesium库添加osm的全球建筑模型。在第四节的例子中修改。 1、修改鼠标点击事件,创建osmbuilding并添加到地图中。 aggregator->tileset Cesium::CreateOsmBuildings::createOsmBuildings(false); aggregator->viewer->_scene->primitiv…

linux中安装minio

在 opt 下创建 minio 目录 mkdir minio 上传安装包到 /opt/minio 目录 进入目录 cd minio 授权minio chmod 777 minio 启动minio nohup ./minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9090 /opt/minio/data > /opt/minio/minio.log 2>&1…

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

Nautilus Chain 是行业内首个模块化 Layer3 链,其采用Celestia模块化底层,并通过ZK Rollup 技术来增加隐私。Nautilus Chain 允许开发者以定制化的方式,通过 Nnautilus 开发者可以更广泛化的在一揽子的模块中,选择适合自己的方案&…

1、shell脚本的基本知识——变量、字符串、循环

目录 一、基本知识 二、 shell的变量和赋值 1、注意 2、变量的种类 3、例子 三、特殊符号 1、单引号、双引号、反引号 2、管道 3、大于号>和小于号<(重定向) &#xff08;1&#xff09;常识 &#xff08;2&#xff09;应用&#xff08;描述符在右边的时候&#x…

JavaWeb(6)——前端工程化(AJAX 和VUE入门)

一、AJAX快速入门 而原生的Ajax请求的代码编写起来还是比较繁琐的&#xff0c;所以接下来我们学习一门更加简单的发送Ajax 请求的技术Axios 。Axios是对原生的AJAX进行封装&#xff0c;简化书写。 Axios官网是&#xff1a;起步 | Axios 中文文档 | Axios 中文网 (axios-http.c…

Spark中为什么Left join比Full join 快

背景 最近在调优的过程中&#xff0c;发现了left outer join比full outer join快很多的情况&#xff0c; 具体的sql如下&#xff1a; from db.baseTb1 base join db.tb1 a on base.id a.idfull outer join db.tbl2 b on a.id b.id full outer join db.tbl3 c on b.id c…

基于Java+SpringBoot+vue的任务追踪管理系统设计与实现

博主介绍&#xff1a;✌擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案…

【代码随想录 | Leetcode | 第五天】链表 | 移除链表元素 | 设计链表 | 203-707

前言 欢迎来到小K的Leetcode|代码随想录|专题化专栏&#xff0c;今天将为大家带来移除链表元素和设计链表的分享✨ 目录 前言203. 移除链表元素707. 设计链表总结 203. 移除链表元素 ✨题目链接点这里 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所…

[Arduino] ESP32开发 - UDP收发数据

UDP 通信 UDP发送数据 再开始测试之前&#xff0c;请使用手机打开一个热点&#xff0c;并把电脑连接到手机热点上&#xff0c;这样子在后续测试中 ESP32 和电脑就会在同一个局域网&#xff08;手机热点可以使用路由器代替&#xff09; 新建任意文件&#xff0c;填入以下代码 …