软件测试 —— JMeter 参数化4种方式!

news2024/11/30 20:39:23

一、JMeter参数化简介

1.JMeter参数化的概念

当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据。

参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则。

脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池(Data Pool)

2.JMeter参数化方式之使用场景对比

参数化方式使用场景
1User Parameters适用于参数取值范围很小的时候使用
2CSV Data Set Config适用于参数取值范围较大的时候使用,该方法具有更大的灵活性
3User Defined Variables一般用于Test Plan中不需要随请求迭代的参数设置
4FunctionHelper中的函数可作为其他参数化方式的补充项,如:随机数生成的函数${__Random(,)}

二、Jmeter参数化的4种主要方式

1.User Parameters(用户参数)

操作路径:线程组–>添加–>前置处理器–>用户参数

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

图片

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

这里添加四个用户,也就是4组参数

图片

3)配置http取样器界面的请求参数

图片

4)配置线程组

设置线程数:4,代表执行4个用户数

图片

5)添加察看结果树,查看运行的结果

操作路径:线程组–>添加–>监听器–>察看结果树

图片

下图可看到结果:

4个运行成功,4个openid成功传入

图片

图片

2.CSV Data Set Config(CSV数据文件设置)

操作路径:线程组–>添加–>配置元件–>csv数据文件设置

1)添加CSV数据文件设置模块

图片

2)准备需要做参数化的参数值

①简单的几条数据:这里是用.csv格式保存的;.txt格式也可以。

图片

②最近在做一个大并发,所以需要准备的数据特别多,该如何做呢?

可以先在数据库中查询出需要传的参数,导出文件格式默认为:.csv,可以保存到桌面或者其它位置,一会儿备用

图片

图片

3)配置CSV Data模块

图片

Configure the CSV Data Source配置项&功能:

配置项取值或者选择项
Filename(文件名)参数化文件的读取位置,即保存参数化数据的文件目录。可为绝对路径,也可为相对路径。在分布式测试中,还是利用相对路径比较方便,因为有的机器可能安装路径不一样,同时可避免脚本迁移时需要修改路径
File Encoding(文件编码)编码格式,选择UTF-8
Variable Names(变量名称(英文逗号间隔))变量名称。这里定义的变量名称,后面就可以直接用来引用了。(多个变量名称以逗号隔开,例如username,passwd,参数化文件中同样有对应的两列数据。)
Ignore first line(忽略首行)忽略第一行数据(类似LR中第一行数据是变量名称,如果你的配置文件中为了记忆第一行也是变量名,可以选择是忽略该行数据)
Delimiter(分隔符)Variable Names中的参数分隔符,默认为英文逗号
Allow quoted data?是否允许引用数据,默认false。选项为“true”时对全角字符的处理可能会出现乱码
Recycle on EOF?是否循环读取参数文件内容;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
Stop thread on EOF?当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义
Sharing mode(线程共享模式)共享模式,即参数文件的作用域:All Threads(所有现场);Current Thread Group(当前线程组);Current Thread(当前线程)

图片

4)设置http取样器的请求参数

图片

5)设置线程组

这里主要是设置模拟执行的用户个数

线程数:100,代表待会儿会执行100个用户

图片

6)添加察看结果树,查看执行结果

操作路径:线程组–>添加–>监听器–>察看结果树

图片

图片

3.User Defined Variables(用户自定义变量)

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

操作路径:线程组–>添加–>配置元件–>用户自定义变量

图片

2)配置User Defined Variables用户自定义变量界面中的参数及其值

操作路径:

图片

3)设置http采样器的请求参数,将参数传进去

图片

4)设置线程数

这里主要是设置模拟执行的用户个数

线程数:2,代表待会儿会执行2个用户

图片

5)添加察看结果树,查看执行结果

操作路径:线程组–>添加–>监听器–>察看结果树

图片

图片

4.Function Helper中的函数

操作路径:tools–>函数助手对话框

图片

1)设置函数

比如:需要随机获取一个时间

图片

2)复制生成的函数字符串

图片

3)粘贴到http请求参数中

图片

4)添加察看结果树,查看执行结果

操作路径:线程组–>添加–>监听器–>察看结果树

图片

图片

函数还有很多,需要的可以去了解一下

图片


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

相关文章

【Prettier】代码格式化工具Prettier的使用和配置介绍

前言 前段时间,因为项目的prettier的配置和eslint格式检查有些冲突,在其prettier官网和百度了一些配置相关的资料,在此做一些总结,以备不时之需。 Prettier官网 Prettier Prettier 是一种前端代码格式化工具,支持ja…

从ESG尽职调查、ESG立法与ESG诉讼谈ESG营销(01)

哈佛大学2024年中回顾全球ESG发展近况 作者:哈佛大学 编辑:数字化营销工兵 2024年上半年,环境、社会和治理(ESG)问题以及对方法的不同意见继续成为全球头条新闻。今年年初,公司及其利益相关者在ESG的支持…

AppenTalk | 不止于赛场,巴黎奥运会上的中国AI科技

当地时间8月11日,第33届夏季奥林匹克运动会在巴黎法兰西体育场落下帷幕。本届奥运会,中国体育代表团收获令人振奋的40金27银24铜总计91枚奖牌,其中金牌数更是创下了境外参加奥运会的最佳成绩。 在中国健儿闪耀奥运赛场时,中国AI科…

Transformer系列-4丨DETR模型和代码解析

1 前言 往期的文章中,笔者从网络结构和代码实现角度较为深入地和大家解析了Transformer模型、Vision Transformer模型(ViT)以及BERT模型,其具体的链接如下: 基础Transformer解析 ViT模型与代码解析 BERT模型与代码解…

嵌入式AI快速入门课程-K510篇 (第七篇 系统BSP开发)

第七篇 系统BSP开发 文章目录 第七篇 系统BSP开发1. 嵌入式Linux系统介绍嵌入式Linux系统组成产品形态嵌入式芯片启动流程Linux系统Linux系统框架嵌入式编译环境 2.嵌入式Linux开发准备手册文档开发工具配套硬件工程源码 3.嵌入式Linux开发组成概述编译工具链什么是工具链什么是…

[Linux#43][线程] 死锁 | 同步 | 基于 BlockingQueue 的生产者消费者模型

目录 1. 死锁 解决死锁问题 2. 同步 2.1 条件变量函数 cond 2.2 条件变量的使用: 3.CP 问题--理论 4. 基于 BlockingQueue 的生产者消费者模型 1. 基本概念 2.BlockQueue.hpp 基本设置: 生产关系控制: 消费关系的控制 ⭕思考点 …

公开整理-全国各省AI算力数据集(2000-2024年)

数据来源:本数据来源于,根据显卡HS编码筛选统计后获得时间跨度:2000-2024年数据范围:省级层面数据指标: 由于未发布2015至2016年的数据,因此该年份数据存在缺失。下表仅展示了部分指标及数据 年份 省份…

Mac apache 配置

命令 sudo apachectl -v //查看apache 版本 sudo apachectl -k start //启动apache sudo apachectl -k stop //停止apache sudo apachectl -k restart //重启apache配置 apache 的配置在 /etc/apache2/httpd.conf 默认情况下httpd.conf 为锁定状态,无法编辑 使用…

SAP B1 三大基本表单标准功能介绍-业务伙伴主数据(三)

背景 在 SAP B1 中,科目表、业务伙伴主数据、物料主数据被称为三大基本表单,其中的标准功能是实施项目的基础。本系列文章将逐一介绍三大基本表单各个字段的含义、须填内容、功能等内容。 附上 SAP B1 10.0 的帮助文档:SAP Business One 10…

单片机外部中断+定时器实现红外遥控NEC协议解码

单片机外部中断定时器实现红外遥控NEC协议解码 概述解码过程参考代码 概述 红外(Infrared,IR)遥控,是一种通过调制红外光实现的无线遥控器,常用于家电设备:电视机、机顶盒等等。NEC协议采用PPM(Pulse Position Modulation&#x…

敏感词替换为星号

编写一个函数,接收一个字符串参数,将其中 的敏感词替换为星号,并返回替换后的结果。 def getReplace(s):wordList["阿里巴巴","苹果","亚马逊","京东","字节","脸书"]for word …

月圆之夜梦儿时 贡秋竹唱响游子心声

自今年年初贡秋竹的首支单曲《逐梦》发布以来,其人气和传唱度便一直屡创新高,口碑上佳表现良好,网友们纷纷隔空喊话贡秋竹再发新作。时至今日,久经打磨的贡秋竹全新力作《低头思故乡》在千呼万唤中终于震撼首发! 贡秋竹…

500以内开放式耳机哪款好?五款高性价比开放式耳机推荐

现在很多人会利用休闲时间进行锻炼,增强体质,在锻炼之前很多人会先入手一些运动设备,像慢跑鞋,还有臂环,运动手表等~当然运动耳机肯定也不能少,边运动边听音乐真的是一大享受!但是哪种耳机比较适…

从零到一,全面掌握Apache DolphinScheduler发版流程,实战派经验分享!

引言 Apache DolphinScheduler的发版流程对于确保软件质量和社区协作至关重要,社区Committer王兴杰为我们详细介绍了Apache DolphinScheduler的发版流程,包括环境准备、流程文档、基础工具准备、依赖包确认等关键步骤,并指出了发版流程中可能…

一机两用的“多面手”既防勒索病毒又能做到数据防泄密!

随着数字化转型的加速,企业对互联网的依赖日益加深,网络安全风险也随之增加。勒索病毒作为网络安全领域的一大威胁,不仅加密重要文件,还可能泄露敏感信息,给企业带来巨大损失。SPN沙盒产品,以其独特的隔离技…

【python报错解决】ImportError: DLL load failed while importing win32gui: 找不到指定的程序

在 Python 中安装 pywin32 库 pip install pywin32安装完成后找到自己的 Python 根目录,在该目录下打开命令行。 在命令行中输入: python.exe Scripts/pywin32_postinstall.py -install执行后显示以下信息,即问题解决。 Parsed argumen…

KP8530X系列KP85302SGA 650V耐压 集成自举二极管的半桥栅极驱动器 专用于驱动功率MOSFET或IGBT

KP8530X系列KP85302SGA是一款 650V 耐压,集成自举二极管的半桥栅极驱动器,具有 0.3A 拉电流和 0.6A 灌电流能力,专用于驱动功率 MOSFETs 或 IGBTs。采用高压器件工艺技术,具有良好的电流输出及出色的抗瞬态干扰能力。在输入逻辑引…

React+Vis.js(05):vis.js的节点的点击事件

文章目录 需求实现思路抽屉实现完整代码需求 双击节点,弹出右侧的“抽屉”,显示节点的详细信息 实现思路 vis.network提供了一个doubleClick事件,代码如下: network.on(doubleClick, function (properties) {// console.log(nodes);let id = properties

el-date-picker根据某个时间动态规定可选的的时间范围

el-date-picker组件根据某一个时间段来动态规定当前时间选择的日期时间范围 例如&#xff1a;开始时间为2024-8-19&#xff0c;规定可循范围为30天的话&#xff0c;可选范围是2024-8-19至2024-9-19号之间 html <el-date-picker class"date" type"date"…

【GIS开发学员故事】地信本科前后跨过六个行业,勇气是人生的第七件装备

“出过外业、送过外卖、搞过环境设计......” 今天&#xff0c;我们就来看看X同学的就业故事&#xff1a; 自我介绍 我毕业于21年&#xff0c;大学是地理信息科学专业&#xff0c;考过一次研&#xff0c;但是没有考上。去年来的新中地学习GIS开发&#xff0c;目前是在广东的…