常见的Jmeter参数化方式总结

news2024/12/25 9:22:42

目录

      前言:

  参数化概念

  参数化方式

  二、用户变量

  三、CSV数据文件

  四、函数助手


      前言:

         在进行接口性能测试时,我们通常需要针对不同的场景进行参数化操作。JMeter是一款强大的性能测试工具,它提供了多种参数化方式,方便测试人员进行测试用例的构造。

  参数化概念

  测试工作中,通常会使用不同的数据发送请求测试不同的场景来实现测试的全面性,这就需要对一些字段进行参数化,以使每次迭代都使用不同的数据来满足我们的测试需求。

  Jmeter做为常用的功能、性能测试工具之一,其参数化方式也是相对比较灵活,主要分为4种:用户参数、用户自定义变量、CSV数据文件、函数助手,下面将详细介绍这4种参数化方式的使用方法。

  参数化方式

  一、用户参数

  1.使用场景

  适用于参数取值范围很小的场景,例如测试模拟较少用户登陆某系统交易。

  2.操作步骤

  (1)添加用户参数功能模块

  (2)设置参数变量、用户值

  注意勾选每次迭代更新一次,否则每次都使用同样的数据;

  (3)配置HTTP请求中的参数值或消息体数据中参数化字段

  HTTP请求中要么通过设置参数要么使用消息体数据通过报文方式发送请求,无论哪种方式,参数化值应与用户参数中变量名一致。

  (4)查看结果树

  线程组中的线程数设置为2,点击执行,可以通过查看结果树查看参数使用情况:

  二、用户变量

  1.使用场景

  一般用于Test Plan中不需要随请求迭代变化的参数设置,如:服务器地址、端口。

  2.操作步骤

  (1)添加用户自定义变量功能模块

  (2)配置用户自定义变量参数值

  这里以配置不同服务器地址和端口为例:

  (3)配置HTTP请求中参数值或消息体数据中参数化字段

  当发送请求服务器地址发生改变时,只需要更改服务器参数化值即可向不同的服务器发送请求。当然,用户自定义变量也可以来参数化登陆用户、交易金额、账户等场景。

  (4)查看结果树

  当服务器名称设置为${host1},端口设置为${post1}时,访问百度服务器:

  当服务器名称设置为${host2},端口设置为${post2}时,访问火狐服务器:

  三、CSV数据文件

  1.使用场景

  适用于参数取值范围较大的场景,该方法在参数化大量数据时灵活性高、操作便捷,在需要遍历上千个账户场景时经常使用。

  2.操作步骤

  (1)准备参数化文件

  参数化文件一般为txt或者csv格式,每一行代表一条数据,每条数据可包含多个属性,不同属性之间需用分隔符间隔,CSV数据文件对数据量无要求,当需要参数化的数量量较大时,应使用这种参数化方式:

  (2)添加CSV 数据文件设置功能模块

  (3)配置CSV 数据文件参数

 文件参数配置详细说明如下:

 备注说明:

  遇到文件结束符再次循环与遇到文件结束符停止线程的关联关系:

  当遇到文件结束符再次循环项为true时,遇到文件结束符停止线程项无意义,因为前面项控制了要一直循环读取;

  当遇到文件结束符再次循环项为false时,遇到文件结束符停止线程项为true时,当线程为4个,参数值为3个时,会执行请求3次;

  当遇到文件结束符再次循环项为false时,遇到文件结束符停止线程项为false时,当线程为4个,参数值为3个时,会执行请求4次,但是最后一次请求会报错,因为第4次请求无参数;

  (4)配置HTTP请求中参数值或消息体数据中参数化字段

  (5)查看结果树

  线程组线程数设置为3,循环次数设置为1,可以看到执行结果中参数取值与CSV文中的数据一致:

  四、函数助手

  1.使用场景

  当参数为随机数或者报文含有流水号字段(每次迭代不能重复)等场景时,可使用函数助手生成所需数据,当所需字段数据长度较长且不能重复时,通常将时间函数与计数器结合,拼接为合适长度的有效数据。

  Jmeter提供了丰富的内置函数,大体可以分为以下7种类型,这里以时间函数与计数器结合为例详细介绍使用步骤。

  2.操作步骤

  (1)根据需要,配置函数

  打开函数助手对话框后,选择时间函数,然后输入想要的时间格式,例如yyyyMMddHHmmss或者MMddHHmmss,点击生成,即可生成可引用的参数化函数:

  (2)配置用户自定义变量

  一般将生成的可引用参数化函数设置为用户自定义变量的值:

  (3)添加计数器功能模块

  (4)配置计数器模块的参数

  如果我们需要一个长度为20位且不能重复的流水号,那么我们就可以用时间函数生成16位的数值,用计数器生成6位顺序值,将两者拼接起来,即可生成一个长度为20位且不重复的数据:

  (5)配置HTTP请求中参数值或消息体数据中参数化字段

  将时间函数与计数器组合为resqno变量,这样即使为多并发时,resqno变量也不会重复:

  (6)查看结果树

  以上就是Jmeter常用的4种参数化方式,希望在日常测试工作中能对小伙伴们提供一些帮助!

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可

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

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

相关文章

Idea在JavaSE项目中配置JavaEE

新建模块(File --> new --> Module...)javase项目 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。 如果说我们现在需要使用servlet的和JSP 那么需要servlet和JSP的jar包 也可以选择添加库,但是…

qt udp通信

udp不分客户端和服务器,只需要使用一个类 QUdpSocket 这里写目录标题 界面设计qudpsocketthis按钮 打开按钮 发送 关闭 界面设计 接收框设置为 只读 为ui界面各个模块改名字 本低端口和目标ip框对齐,可以对目标ip 宽度设置 为一样 水平策略 qudpsocke…

OpenHarmony端云一体化应用开发快速入门练习(下)登出销户等

一、登出 前提条件:需要在AGC控制台开通认证服务。需要先在您的应用中集成认证服务SDK。 开发步骤 当用户不再使用应用,或者需要使用其他帐号登录时,需要调用AGConnectAuth.signOut登出当前用户。用户一旦被登出,端侧的用户信息和…

Vivado 下按键控制 LED 实验

目录 Vivado 下按键控制 LED 实验 1、简介 2、实验环境 3、实验任务 4、硬件设计 5、程序设计 5.1、按键控制 led 模块代码 5.2、Vivado 仿真验证 5.2.1、Testbench 模块代码如下: 5.2.2、Vivado 仿真验证 6、下载验证 6.1、添加约束文件.xdc 6.2、板上…

SPSSPRO数据分析之——CSI数据预处理、降维

目录 一、前言 二、数据准备 三、进行预处理 四、进行降维任务 五、正态性检测 六、代码功能 一、前言 SPSSPRO是一款全新的在线数据分析平台,可以用于科研数据的分析、数学建模等,对于那些不会编程或者刚进入科研的新人来说,这款工…

CDGA/CDGP——第八章 数据集成和互操作

加gzh“大数据食铁兽”, 回复“知识点” 获取《DMBOK知识梳理for CDGA/CDGP》常考知识点(第八章 数据集成与互操作) 第八章 数据集成和互操作 第八章在CDGA分值占比较少,CDGP不考核,主要考点包括:定义、…

电商数据分析方案:丰富经验护航,分析一步到位

如果做电商数据分析的每一步都从零开始,摸着石头过河,反复测试修改。一通忙活下来,成果没见多少,人力物力成本倒是节节攀升,试问又有多少企业承受得住?如果有一套一步到位的数据分析方案,是不是…

Excel根据颜色求和与计数

文章目录 一、需求二、实现方法1.代码2.创建自定义函数3.使用函数 三、参考资料 一、需求 一个Excel中有不同颜色标记的单元格,统计的时候,需要按照颜色进行统计。 人工来做肯定是不可能了,借助Excel的功能好像也没有思路,其实这…

【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集

【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集 提示:最近开始在【三维重建】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集前言下…

python复习第一章

什么是 Python? Python 是一门流行的编程语言。它由 Guido van Rossum 创建,于 1991 年发布。 它用于: Web 开发(服务器端)软件开发数学系统脚本 Python 可以做什么? 可以在服务器上使用 Python 来创建…

图解路由器处理报文全过程,值得一看!

你们好啊,我的网工朋友 只要有网络的地方,你很难不看到路由器的身影,各种低、中、高端的,种类繁多,所具备的功能和内部实现不完全一样。 要知道,路由器不断的在吞吐通信数据,就像鱼吐泡泡一样…

【有奖征文 】AI编程:华为云CodeArts Snap入门体验

了不起的开发者们,当你听到“编程”一词时,可能想到的是一行行复杂的代码和漫长的坐姿。但是,随着人工智能的飞速发展,AI编程正在成为一种全新的编程方式,使得编程变得更加简单和直观。现在,是时候跟大家分…

如何在ALPS系统上模拟MODBUS协议

Modbus协议介绍 请想象一下你有一个工厂,里面有许多机器和设备,比如传感器、电机、控制器等,这些设备需要相互通信以便共享数据和执行任务。Modbus协议就像是这些设备之间的一种语言或规则,确保机器和设备能够互相理解和交流。 在…

python数据可视化Mito安装配置

目录 遇见 Mito如何启动 Mito数据透视表Mito 令人印象深刻的功能可视化数据自动代码生成Mito 安装 JupyterLab 是 Jupyter 主打的最新数据科学生产工具,某种意义上,它的出现是为了取代Jupyter Notebook。 它作为一种基于 web 的集成开发环境&#xff…

SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关

目录 引出基础知识:三层架构和MVC1. 三层架构2.MVC模型 springWeb项目IDEA搭建1.新建一个普通的maven项目2.导入包,pom.xml文件3.写主启动类Main.java文件SpringBootApplication4.写application.yml文件spring的配置文件5.启动,运行main.java…

【分享】PowerPoint可以设置哪些密码保护?

想要给PPT设置密码保护?那我们来看看PowerPoint自带哪些密码功能。 PowerPoint可以设置两种密码保护,分别是“打开密码”和“限制密码”。 【打开密码】 PowerPoint设置“打开密码”后,就无法随意打开文件,需要输入正确密码才可…

4.地址转换,实现101012分页

实现内存检测,理解Linux内存管理,实现101012分页 参考: 检测内存容量 趣谈 Linux 操作系统 内存管理 《操作系统真相还原》 1.内存检测 BIOS 中断 0x15 的子功能够获取0xE820 能够获取系统的内存布局,由于系统内存各部分的类型属…

什么是版本控制系统?怎么学习? - 易智编译EaseEditing

版本控制系统(Version Control System,简称VCS)是一种用于管理和跟踪文件版本的工具或系统。它可以追踪文件的变更历史,记录每个版本的修改内容,以及支持多人协作开发。 学习版本控制系统可以帮助你更好地管理和控制你…

HTTPS加密:保障网站安全的重要手段

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是HTTPS加密&a…

由于找不到d3dx9_42.dll,无法继续执行代码怎么修复,这三个修复方法可以解决

是不是遇到过在打开软件或者游戏的时候,电脑提示“由于找不到d3dx9_42.dll,无法继续执行代码”,无法正常启动游戏程序,d3dx9_42.dll是一个DirectX相关的动态链接库文件,它是DirectX 9中的一个组件。DirectX是微软公司开发的一个多…