首页 > 其他分享 >JMeter配置元件(一)

JMeter配置元件(一)

时间:2024-04-27 16:34:42浏览次数:16  
标签:管理器 配置 信息 cookie 文本文件 sampler JMeter 元件

一 前言

环境: window 10 JMeter 5.3
记录一些常用的配置元件的用法

二 Configuration elements 配置元件

Configuration elements(配置元件)的作用就是给其后面的sampler(同作用域)准备好需要的数据,需要注意的是,配置原件总是比同作用域的sampler先执行

这有点像是定时器,他们存在的意义都是为同作用域的sampler服务,都会比同作用域的sampler先执行

1 CSV Data Set Config

适合将大量数据放在文本文件中供sampler使用,或者从文本文件中取出一个随机值

先看一个例子
image
image
image
文本文件内容
image

结果
image
image

利用 CSV Data Set Config,可以将文本文件中的数据按行读取出来赋予对应的变量
默认情况下,文件只打开一次,每个线程将使用文件中的不同行,由于可能配置为不同的线程同时执行,所以对应数据在sampler中的执行顺序是随机的,可能与文本文件中的顺序不同

CSV Data Set Config各个参数的简单说明
image
Delimiter: 文本文件里,每行数据各个数据间的分隔符
Ignore first line:文本文件里,首行是字段名而非数据的话可以忽略。 如果变量名参数未设置,则这里不能忽略,文本文件的首行必须是字段名
Allow quoted data: 是否允许文本文件中的数据包含双引号
Recycle on EOF: 读取到文件末尾的时候是否再次从头开始循环读取
Stop thread on EOF: 到文件末尾的时候线程停止
Sharing mode: 默认选择第一个
image

2 HTTP Request Defaults

这个很好理解,多个sampler有相同的参数的话,如server name 、ip、port number等,在这里配置一遍后,后面的saampler中相对应的参数空着就行,不用重复配置
image

3 HTTP Header Manager

这个和 HTTP Request Defaults类似,配置默认的http header 信息,这样后面的同作用域http sampler发送请求时都会有配置好的header信息
image
Content-Type : application/x-www-form-urlencoded 或者 application/json

User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0 sec-ch-ua-platform: "Windows"

经常会发现一些header信息未配置或者未配置对,http请求会失败

cookie管理器有两个功能

  • 根据请求的返回值自动存储cookie信息(也可手动添加cookie信息)
  • 在后续请求中自动带上之前存储的cookie信息
    总之,它能像浏览器一样存储并发送cookie信息,譬如购物网站,我们登录后是有身份信息的,用以区分谁是谁,而身份信息通常就在登录请求返回的cookie信息里,在后续其它页面如购物记录的请求,浏览器会自动带上之前的cookie信息,所以我们看到的是自己的购物信息而不是别人的信息

示例

某网站用户登录后,会自动调用一个msg开头的信息的接口,显示该用户收到的通知信息数量,退出时,会调用一个logout接口,后面两个接口发送时都需要登录接口返回的cookie信息
image
image
image

image
image
image
由于这里是自动获取cookie,所以cookie管理器直接添加就行了,注意添加的位置,不是在登录或者其他请求的子节点,而是和所有请求并列的位置,因为这里cookie管理器会对所有sampler起作用,而不是针对其中某一个
image

image
image

image
image
image
结果
image
image

image

HTTP cookie管理器会自动储存cookie信息,那它是如何判断请求返回的数据中有cookie信息呢?总有个判断依据吧,查了一下,它是根据 HTTP 响应头部中的 Set-Cookie 指令来判断接口是否返回了 Cookie。 所以有些网站的接口返回信息中没有Set-Cookie字段信息,那就可能需要配置后置处理器来截取返回数据中的登录凭证,以供后面接口使用

相关配置

配置1

可以手动将cookie添加到cookie管理器中。这样的话,cookie将被所有JMeter线程共享。
image
Clear Cookies each Iteration: 如果选中,则每次执行主线程组循环时都会清除所有服务器定义的cookie。任何在GUI中定义的cookie都不会被清除
standard表示用于管理Cookie的Cookie策略。"standard"是自3.0以来的默认值
User-Defined Cookies:这些要查看具体要添加的cookie信息

配置2

接收到的cookie可以存储为JMeter线程变量。要将cookie保存为变量,请定义属性"CookieManager.save.cookies=true"。 这可在jmeter.property文件更改

示例
添加一个debug dampler,Jmeter variables设置为True
image
更改前是没有cookie变量的

image
更改后是有的

配置3

被存为变量cookie名称以“COOKIE_”作为前缀,要修改前缀,请定义属性“CookieManager.name.prefix=”(一个或多个空格)。如果启用,名称为TEST的cookie的值可以引用为${COOKIE_TEST}

配置4

JMeter检查接收到的cookie是否对URL有效。这意味着不存储跨域cookie。如果你已检查过或希望跨域cookie被使用,定义JMeter属性“CookieManager.check.cookies=false”

配置5

如果在一个采样器的作用域中有多个Cookie Manager,那么目前没有办法指定要使用哪一个。此外,存储在一个cookie管理器中的cookie对任何其他管理器都不可用,因此要小心使用多个cookie管理器

配置6

默认情况下,null值的cookie将被忽略。这可以通过设置JMeter属性来改变:CookieManager.delete_null_cookies=false。这也适用于手动定义的cookie -任何此类cookie将在更新时从显示中删除。还要注意,cookie名称必须是唯一的——如果第二个cookie用相同的名称定义,它将替换第一个cookie。

标签:管理器,配置,信息,cookie,文本文件,sampler,JMeter,元件
From: https://www.cnblogs.com/MyRecords/p/18160241

相关文章

  • .NET项目中NLog的配置与使用
    因为之前在项目开发中一直都是使用的Log4Net作为项目的日志记录框架,最近忽然感觉对它已经有点腻了,所以尝试着使用了NLog作为新项目的日志记录框架(当然作为一名有志向的攻城狮永远都不能只局限于眼前的技术,要不断的使用和学习新的技术)。当然serilog也是一个不错的日志记录框......
  • Linux系统下jmeter 分布式压测环境部署
    使用jmeter做分布式压测时,需要一台主机master做控制,以及需要至少一台以上slave机器来做负载机。只需要在master,slave的jmeter.properties做简单的配置就可实现(jmeter版本及jdk版本最好一致,避免出现不必要的兼容问题)例如用19.13.198.236作为master控制机,19.13.198.238/237......
  • Astronvim配置
    开箱即用,据说lunarvim作者跑路到astronvim了安装gitclone--depth1https://github.com/AstroNvim/template~/.config/nvim#removetemplate'sgitconnectiontosetupyourownlaterrm-rf~/.config/nvim/.gitnvimgitclone--depth1https://github.com/Astro......
  • 2024新版本如何配置CLion与cubeMX开发STM32
    2024新版本如何配置CLion与cubeMX开发STM321.为什么我要在网上有很多教程的情况下再做一个新版各种大佬们给出的配置教程原本很详细,但是在时间过了这么久之后已经不完全符合现在的环境了。昨天在教群里萌新安装CLION+CUBEMX时我才发现,在配置过程中新出现的一些变化甚至没有清......
  • Nginx核心配置文件nginx.conf
    Nginx配置文件在目录/usr/local/nginx/conf下的nginx.conf,具体分三部分内容,如下:1、整体全局块:2、enents部分:上述图中配置表示每个workderprocess支持的最大连接数为1024。所以该部分主要影响nginx服务......
  • kubernetes安装配置使用vGPU
    前言AI落地时,在某些场景下AI模型在训练或者是推理时,其算力要求不需要占用整卡的GPU,比如只需要0.5卡GPU即可满足需求。在这种情况下,可以使用GPU虚拟化技术来解决这个问题,将整卡的GPU虚拟化为两个0.5卡的GPU,这样就可以在一张卡上同时跑两个AI训练或者AI推理应用服......
  • Linux 配置 wkhtmltopdf
    官网地址wkhtmltopdf:https://wkhtmltopdf.org/作用:可以把html页面转换成pdf格式Linux下安装wkhtmltopdf检查linux服务器版本在官网根据版本下载安装#liunx下载版本:centos8wkhtmltox-0.12.6-1版本wgethttps://github.com/wkhtmltopdf/packaging/releases/download/......
  • nginx 配置https,并适配微信小程序
    前言最近接手了个小程序项目,但是由于交接文档不完善,于昨天上午域名证书过期,导致无法调用后端服务,短暂(五分钟左右)影响了小程序的使用,也算是一个不大不小的事故吧[手动捂脸笑...]解决过程临时处理发现是证书过期导致的问题,立马就上阿里云申请新的证书,五分钟左右,证书就签发下来......
  • Linux系统使用SMTP服务发送邮件配置
    1、环境安装yuminstall-ysendmailyuminstall-ymailx 2、检查sendmail服务启动:systemctlstartsendmail.service状态查看:systemctlstatussendmail.service设置开机启动:systemctlenablesendmail.service重装:yumreinstall-ysendmail 2、登录163邮箱,在设置-......
  • 使用Win-ACME在Windows+iis服务器下配置自动续期SSL证书
    win-acme,github地址:https://github.com/win-acme/win-acme简单介绍一下win-acme这款工具吧,看到名字我们就知道前面加了win就代表是windows服务器版本,这款工具也支持liunx服务器。情况说明我本人是做.NET开发的,由于网站建设和小程序开发等都需要https,但是ssl证书有过期的限制,如果......