Jmeter的文件参数化:CSV数据文件设置和_CSVRead函数

一、CSV数据文件设置

1、简介

        CSV数据文件配置(CSV Data Set Config)可以将CSV文件中数据读入自定义变量中

        Jmeter中CSV数据文件配置的界面如下图所示:

         其中:

(1)文件编码

        文件的编码格式,与所选的CSV文件的编码格式保持一致,中文一般选UTF-8编码

(2)分隔符号(用'\t'代替制表符)

        根据CSV文件中的分隔符进行填写,默认:,

(3)是否允许带引号

           假如CSV文件中有一条数据值为”1,2“,以下分别是选”True“和”False“返回的结果

  • True:"1,2"
  • False:1,2

(4)遇到文件结束符再次循坏

        假如CSV文件中有5条记录,但线程组有10个

  • True:循环10次后,重头开始循坏取值
  • False:循环10次后,不会重头开始循环取值

(5)遇到文件结束符停止线程

  • True:当取完CSV文件中所有的值后,直接停止线程
  • False:当取完CSV文件中所有的值后,不会直接停止线程

(6)线程共享模式

  • 所有现场:CSV文件的变量可以被同一测试计划中的所有线程组引用
  • 当前线程组:CSV文件的变量只可以被当前线程组引用
  • 当前线程:CSV文件的变量只可以被当前线程引用

2、验证参数读取正常

(1)根据需要在新增的线程组下设置好配置元件——CSV数据文件设置,我的设置如下图所示:

(2)在同一个线程组下新增取样器——JSR233 Sampler,如下图所示:

        在代码框中输入的内容为:

log.warn("线程:"+ctx.getThreadNum()+";用例编号:"+vars.get("testID")+";用例名称:"+vars.get("test_name")+";请求方法:"+vars.get("test_method")+";请求url:"+vars.get("test_url")+";请求体:"+vars.get("test_msg")+";期望:"+vars.get("test_exp")+";备注:"+vars.get("test_other"));

 (3)日志级别设置为warm,如下图所示:

 (4)运行,查看日志信息

        !!!注意,这里CSV文件里有JSON格式的数据(即:{key:value}),如果在配置“CSV数据文件设置”的时候“是否允许带引号”选“True”,有时候(为什么说有时候呢?我这里会出现这个问题可能是因为pwd参数没有加双引号,格式不规范、不统一,后期把CSV文件里面JSON格式数据的键值都统一加上双引号后这个问题就没有复现了),运行后将无法读取到变量的值(如下图所示)

        解决方法:修改CSV文件的数据(在{}两侧都加上双引号 

3、验证遇到CSV文件结束符的配置

        (1)步骤同上面的(1)(2)(3),备注:我这里用作验证的CSV文件里面一共有6条数据

        (2)将线程组的线程数设置为7

(3)配置元件设置为遇到文件结束符号再次循环且不结束,运行

        !!!另外,补充一个点,取样器的名称应用用例编号的变量更易于辨别

 (4)配置元件设置为遇到文件结束符号再次循环且结束线程,运行 

 (5)配置元件设置为遇到文件结束符号不再次循环且不结束,运行

 (6)配置元件设置为遇到文件结束符号不再次循环且结束线程,运行

   (7)线程组的循环次数设置为2

   (8) 运行脚本

二、_CSVRead函数

1、选择函数

2、编辑参数配置

3、生成函数表达式

        点击“生成”按钮

4、生成变量

        在测试计划中添加自定义变量,注意此步可省略,省略的话用第5步的方法2

5、引用变量 

        对比之下,_CSVRead函数的功能会更少,比如不能过滤第一行、会一直循环读取文件数据

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Element-UI 多个el-upload组件自定义上传,不用上传url,并且携带自定义传参(文件序号)

1. 需求: 有多个(不确定具体数量)的upload组件,每个都需要单独上传获取文件(JS File类型),不需要action上传到指定url,自定义上传动作和http操作。而且因为不确定组件数量&#xff0…

【计算机网络】TCP握手与挥手:三步奏和四步曲

这里写目录标题 前言三次握手四次挥手三次握手和四次挥手的作用TCP三次握手的作用建立连接防止已失效的连接请求建立连接防止重复连接 TCP四次挥手的作用:安全关闭连接避免数据丢失避免半开连接 总结: 总结 前言 TCP(传输控制协议&#xff09…

Mac M1 Parallels CentOS7.9 Deploy Typecho

一、创建名称空间 kubectl create ns prod二、创建PV & PVC vim local-pv1.yamlapiVersion: v1 kind: PersistentVolume metadata:name: local-pv-1 spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: loca…

【Python】模块

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

初识计算机图形学

初识计算机图形学 笔记来源:【老奇】阴差阳错 撼动世界的游戏引擎 1.MVP Transformation 详见本人博客: 1.Transformation 2.梳理从MVP变换到光栅化的过程 MVP变换将空间中3D物体投影到2D屏幕 2.Rasterization 详见本人博客: 1.Rasteri…

linux下vsc的自动切换输入法解决方案

前言 个人使用的是Linux开发加上vsc编辑器,这两个东西一加中国开发者大致上就消失不见了,眼馋idea那个Smartinput很久了,赶上放假了,有空搞搞,如果后期有心情会做的通用点 安装 商店搜索SmartInputLinux安装 使用…

用C语言实现简单的三子棋游戏

目录 1 -> 模块简介 2 -> test.c 3 -> game.c 4 -> game.h 1 -> 模块简介 test.c:测试游戏逻辑 game.c: 函数的实现 game.h:函数的声明 2 -> test.c #define _CRT_SECURE_NO_WARNINGS 1#include "game.h";void menu() {printf("****…

考试查分场景重保背后,我们如何进行可用性测试

作者:暮角 随着通过互联网音视频与知识建立连接的新学习方式在全国范围内迅速普及,在线教育/认证考试的用户规模呈井喷式增长。但教育容不得半点马虎与妥协,伴随用户规模不断增长,保证系统稳定性、有效避免千万考生考试时遭遇故障…

React 初次接触

背景 还是为了完善高大上的在线文档系统,虽然比着葫芦画瓢的修改了一些所谓的代码,慢慢的才发现,原来这就是传说中的React,所以有比较又要囫囵吞枣一下React。 基本原理 参照《React技术揭秘》 网上有电子版 ,应该是…

Vue2:全局事件总线

一、场景描述 之前我们学习了,通过props实现父子组件之间的通信。通过自定义组件,实现了子给父传递数据。 那么,兄弟关系的组件,如何通信了?任意组件间如何通信了? 这个时候,就要学习全局事件总…

CentOS 7安装Java并配置环境

一、安装Java环境 1、检查系统是否安装Java [rootlocalhost ~]# java -version 2、更新系统软件包 [rootlocalhost ~]# yum update #遇到[y/n],选择y并回车,耐心等待下载完毕,之后系统会自动检验更新的软件包遇到 /var/run/yum.pid 已被锁定 /var/…

Python常用的高频内置函数之一:setattr()

Python常用的高频内置函数之一:setattr() Python作为一门功能强大的编程语言,提供了众多内置函数来简化开发过程。其中之一是setattr()函数,它允许程序员动态地设置对象的属性。本文将介绍setattr()函数的基本用法和示例,帮助读者…

原生微信小程AR序实现模型动画播放只播放一次,且停留在最后一秒

1.效果展示 0868d9b9f56517a9a07dfc180cddecb2 2.微信小程序AR是2023年初发布,还有很多问提(比如glb模型不能直接播放最后一帧;AR识别不了金属、玻璃材质的模型等…有问题解决了的小伙伴记得告诉我一声) 微信官方文档地址 3.代码…

用红黑树封装实现map与set

红黑树 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red 或 Black 。 通过对 任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍 &#xff…

CleanMyMac X .4.14.7如何清理 Mac 系统?

细心的用户发现苹果Mac电脑越用越慢,其实这种情况是正常的,mac电脑用久了会产生很多的缓存文件,如果不及时清理会影响运行速度。Mac系统在使用过程中都会产生大量系统垃圾,如不需要的系统语言安装包,视频网站缓存文件&…

嵌入式-Stm32-江科大基于标准库的GPIO4个小实验

文章目录 一 、硬件介绍二 、实验:LED闪烁、LED流水灯、蜂鸣器提示2.1 需求1:面包板上的LED以1s为周期进行闪烁。亮0.5s,灭0.5s.....2.2 需求2: 8个LED实现流水灯2.3 需求3:蜂鸣器不断地发出滴滴、滴滴.....的提示音。蜂鸣器低电平触发。 三、…

【elementUI】el-select相关问题

官方使用DEMO <template><el-select v-model"value" placeholder"请选择"><el-optionv-for"item in options":key"item.value":label"item.label":value"item.value"></el-option></…

测试用例评审流程

1:评审的过程 A:开始前做好如下准备 1、确定需要评审的原因 2、确定进行评审的时机 3、确定参与评审人员 4、明确评审的内容 5、确定评审结束标准 6、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。 7、 在邮件中提醒…

P2P DMA并不是所有场景都会有性能提升

P2P (Peer-to-Peer) DMA技术理论上可以带来性能提升&#xff0c;特别是在特定的工作负载和场景下。例如&#xff0c;当两个高速设备&#xff08;如GPU与NVMe SSD&#xff09;需要频繁进行大量数据交换时&#xff0c;通过P2P DMA&#xff0c;数据可以直接在设备间传输&#xff0…

你竟然还不知道SQL性能分析?(你想象不到的详细)

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL-进阶篇 &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现…