Jmeter 配置元件

Jmeter 配置元件

  • CSV 数据集配置
  • HTTP Cookie 管理器
  • HTTP Header 信息头管理器
  • 增加多个用户案列

使用Jmeter发送请求的时候,需要配置元件,配置请求Header、Cookie、数据集合等。可以模拟多个在线用户登录,修改请求头数据。

CSV 数据集配置

CSV Data Set Config元件可以从文件中读取数据,将CSV作为测试数据输入源,可以构造不同的输入参数给不同的线程使用。官方手册地址https://jmeter.apache.org/usermanual/component_reference.html#CSV_Data_Set_Config

添加路径,右键选择需要添加的API接口 -> 配置元件 -> CSV DATA Set Config 
在这里插入图片描述在这里插入图片描述
主要配置项目的含义

  1. 文件名 Filename, 文件名,可以指定绝对路径或者相对路径
  2. 文件编码 File Encoding,文件编码,不配置,默认使用系统编码读取文件
  3. 变量名称 Variable Names,参数名字列表,需要用逗号隔开。如果不配置,读取文件的第一行作为参数列表
  4. 忽略首行 Use first line as Variable Names,设置了变量名称之后,配置这个才会生效
  5. 分隔符 delimiter, 每一行数据的分隔符
  6. 是否允许带引号 Allow quoted data, CSV 数据是否带引号
  7. 遇到文件结束符再次循环 Recycle on EOF, 如果配置为 True, 线程数大于数据行数,超过的部分从第一行重新开始读取数据
  8. 遇到文件结束符停止线程 Stop thread on EOF
  9. 线程共享模式 Sharing mode, 默认为所有线程共享,第一个线程读取第一行数据,第二个线程读取第2行数据
    在这里插入图片描述

HTTP Cookie 管理器

cookie 用来识别当前请求的用户身份的,一般在登录验证之后,服务端返回给客户端,之后请求其它接口,客户端携带了 Cookie 就不需要再进行登录验证了。官网手册地址 https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager.

  1. 默认情况下Jmeter 每个线程都有各自Cookie, 线程之间隔离的,但是如果手动添加的Cookie, 则所有的线程是共享的。
  2. 默认情况下Jmeter 会校验Cookie 不支持跨域的。如果需要跨域,需要配置 CookieManager.check.cookies=false。比如登录认证服务器域名是a.test.com.cn, 其它请求的域名在 b.dev.com.cn
  3. Cookie 不会在管理器页签显示的,可以在查看结果数,请求的内容中查看
    在这里插入图片描述
    查看结果树中有, Cookie Data
    在这里插入图片描述

HTTP Header 信息头管理器

请求头配置器,可以在请求头中配置 token, 签名串等。官方手册地址
https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Header_Manager
在这里插入图片描述

增加多个用户案列

本地启动一个web项目来测试,接口的响应速度,吞吐率。
测试项目地址 : https://gitee.com/3281328128/bootdo/tree/bootdo2.0/。
启动服务之后,显示的首页
在这里插入图片描述
可以先录制一下相关的接口,参考上一篇博客,如何录制接口Jmeter 测试脚本录制器-HTTP 代理服务器。我录制的结果如下
在这里插入图片描述

  1. 新建线程组
    在这里插入图片描述

  2. 复制上一步录制的接口
    先分析登录流程,可以发现,整个过程如下,(1)调用获取验证码接口 blog/getVerify (2)调用登录接口 blog/login(3)调用保存用户接口 user-add-new/sys/user/save。没找到合适的OCR识别工具去识别验证码,后端修改了生成验证码的逻辑,固定成了1234
    在这里插入图片描述

  3. 配置相关的元件
    (1)准备csv 源文件,第一行是参数的名称,user_name,password,email
    在这里插入图片描述
    用记事本打开的格式如图
    在这里插入图片描述

    (2)配置 CSV Data Set Config
    在这里插入图片描述
    只需要配置文件名,其它配置项用默认的即可。使用绝对路径,如图
    在这里插入图片描述

  4. 配置接口参数
    在这里插入图片描述
    name : ${user_name}
    username: ${user_name}
    password: ${password}
    email: ${email}

  5. 配置监听器
    在线程组下面添加查看结果树、聚合报告
    在这里插入图片描述

  6. 设置线程的数量
    在这里插入图片描述
    这里需要模拟100个用户同时添加的接口的负载,设置成100,和CSV 的数据量保持一致。

配置完成之后,启动线程
在这里插入图片描述
在查看结果树看到请求的 cookie
在这里插入图片描述
在聚合报告查看接口的性能
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

找不到x3daudio1_7.dll怎么解决,六种有效快速x3daudio1_7.dll修复教程分享

一、x3daudio17.dll是什么文件? x3daudio17.dll是一个动态链接库文件,它是Microsoft DirectX中的一部分。DirectX是微软公司开发的一种多媒体编程接口,用于处理音频、视频和图形等多媒体内容。而x3daudio17.dll则是DirectX中的一个组件&…

CMeet系列技术生态沙龙---城市开发者组织年度聚会·杭州 《把握未来趋势,持续学习创新》

CSDN始终致力于促进城市区域内尖端新兴技术开发者交流,提供开放自由的切磋平台。在这个充满挑战和机遇的一年即将结束之际,通过本次聚会,汇聚杭州本地各行各业的开发者朋友,回顾过去一年城市社区的成就和收获,感谢携手同行的各位,…

用Axure RP 9制作弹出框

制作流程 1.准备文本框 下拉列表 按钮 动态面板 如图 2.先把下拉列表放好 再放动态面板覆盖 3.点动态面板 进入界面 如图 4.给按钮添加交互 3个按钮一样的 如图 5.提交按钮添加交互 如图

Python——面向对象

前言 小伙伴们好久不见,本期我们了解一下Python中面向对象的一些基础知识,为以后的上位机学习做下基础,因为前面我们对c语言进行了系统学习,所以Python基础知识我们就不做阐述了,逻辑基本相同,就是书写的格…

Android学习之路(22) ARouter原理解析

1.ARouter认知 首先我们从命名来看:ARouter翻译过来就是一个路由器。 官方定义: 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 那么什么是路由呢? 简单理解就是:一个公共平台转发系统 工作方式&…

安装RabbitMQ sentos并挂载

1. usr/local/software/mq/data 创建data目录, mkdir data 2. 拉取镜像 docker pull rabbitmq 3.配置网络 docker network create --driver bridge --subnet172.18.12.0/16 --gateway172.18.1.1 wn_docker_net 4. 设置参数并创建挂载 docker run -it \ --name rabbitmq \…

SpringBoot 3.1.7 集成Sentinel

一、背景 我的项目需要引入限流,降级,熔断框架,由于 Spring Cloud 2022.0.4 已经不再支持 Hystrix,Spring Cloud 提供了替代方案,如 Resilience4j,可以使用它来替换 Hystrix。但是网上搜了一下国内Resilie…

Axure RP 9 动态面板

目录 轮播图绘制 多种方式登录 前言: 轮播图绘制、多种方式登录界面绘制 轮播图绘制 首先绘制一个动态面板 在概要区域选中动态面板进入State1面板中插入图片绘制 双击图片绘制插入本地图片,右键State1重复状态并更改图片 点击交互面板新建交互将需要添加…

【微服务】springcloud集成sleuth与zipkin实现链路追踪

目录 一、前言 二、分布式链路调用问题 三、链路追踪中的几个概念 3.1 什么是链路追踪 3.2 常用的链路追踪技术 3.3 链路追踪的几个术语 3.3.1 span ​编辑 3.3.2 trace 3.3.3 Annotation 四、sluth与zipkin概述 4.1 sluth介绍 4.1.1 sluth是什么 4.1.2 sluth核心…

linux 使用笔记

1.查看运行内存 a.Free 快速查看内存的方法,也是经常使用的命令, -h 更人性化的显示内存的单元 -m 以M的形式显示 b.Top Top命令提供了实时性的运行中的程序的资源使用统计。可以根据内存的使用和大小来进行排序。 如上所示,top命令可以看…

Servlet系列两种创建方式

一、使用web.xml的方式配置(Servlet2.5之前使用) 在早期版本的Java EE中,可以使用XML配置文件来定义Servlet。在web.xml文件中,可以定义Servlet的名称、类名、初始化参数等。然后,在Java代码中实现Servlet接口&#x…

C++逆向分析New_Delete

一个运行程序是一定有四个区域,分别是:代码区,数据区,栈区,堆区。 栈区我们知道,是函数传参保存临时变量的一段内存空间。那么堆区是干嘛的呢? 堆区就是动态开辟的一块内存空间,用…

年味渐近 其乐龍龍!2024四川省网联会年货节闪亮来袭!

1月19日,“其乐龍龍2024四川省网联会年货节”正式启动,此次活动由四川省网联会主办,以直播、短视频多种形式在抖音、微博、小红书等多平台同步呈现,旨在为广大消费者带来一场别开生面的年货盛宴,助力激发消费活力。 年…

数据结构:链式队列

队列是限制在两端操作进行插入操作与删除操作的线性表,允许进行插入操作的一端称为"队尾",允许进行删除操作的一端称为“队头”。当线性表中没有元素时,称为“空队”。队列的特点是先进先出。 队列两种规定: 1、front…

2024年网络安全比赛--内存取证(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.从内存文件中找到异常程序的进程,将进程的名称作为Flag值提交; 2.从内存文件中找到黑客将异常程序迁移后的进程编号,将迁移后的进程编号作为Flag值提交; 3.从内存文件中找到受害者…

计算机体系结构——多处理机系统

一、概述 重要概念 评估指标 通信延迟 通信延迟=发送开销+跨越时间+传输延迟+接收开销 跨越时间 数字信号从发送方的线路端传送到接收方的线路端所经过的时间。 传输时间 全部的消息量除以线路带宽。 多处理机的架构 根…

考研数学:幂函数凑微分的三道典型例题

题目 01 题目 02 题目 03 详细内容和更多题目解析在:荒原之梦考研数学

Python Timer定时器:控制函数在特定时间执行

Thread类有一个Timer子类,该子类可用于控制指定函数在特定时间内执行一次。例如如下程序: from threading import Timerdef hello():print("hello, world") # 指定10秒后执行hello函数 t Timer(10.0, hello) t.start() 上面程序使用 Timer …

Pandas.DataFrame.mean() 平均值 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.1.2 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 Pandas稳定版更新及变动内容整合专题: Pandas稳定版更新及变动迭持续更新。 Pandas API参…

初始RabbitMQ(入门篇)

消息队列(MQ) 本质上就是一个队列,一个先进先出的队列,队列中存放的内容是message(消息),是一种跨进程的通信机制,用于上下游传递消息, 为什么使用MQ: 削峰填谷: MQ可以很好的做一个缓冲机制,例如在一个系统中有A和B两个应用,A是接收用户的请求的,然后A调用B进行处理. 这时…