jmeter 配置元件之CSV数据文件设置

目录

1、添加CSV 数据文件设置

2、CSV 数据文件设置页面参数详解

2.1、名称

2.2、文件名

2.3、文件编码

2.4、变量名称

2.5、忽略首行

2.6、分隔符

2.7、是否容许变量带引号

2.8、遇到文件结束符再次循环

2.9、遇到文件结束符停止线程

2.10、线程共享模式


1、添加CSV 数据文件设置

        添加的方式有两种:在测试计划中添加、在线程组中添加,根据添加的方式不同,其数据的作用域也随之发生改变,后续章节将详细说明。

2、CSV 数据文件设置页面参数详解

2.1、名称

        直白一点就是给添加的配置元件起个名字,顺便加上注释,以便管理与维护

2.2、文件名

        该参数为必填项,这里可以写绝对路径和相对路径,但最重要的是让程序能找到你填写的文件,绝对路径,保证路径正确即可,相对路径,相对于jmeter/bin目录,或者测试计划存放在的路径,比如存放在bin目录下直接写文件即可,例如test.csv,如果存放于与bin同级的目录,则写../test.csv,放在测试计划存放的目录与之同理。

2.3、文件编码

        该参数为非必填项,用于读取文件的编码,目前jmeter给出下拉框可供选UTF-8、UTF-16、ISO-8859-15、US-ASCII,另外也可以设置编码格式,不填写该参数,则使用操作系统的编码格式。

2.4、变量名称

        该参数为非必填项,默认为空,指定CSV数据对应的变量名,可以自定义,多个变量之间用逗号隔开,不填写,则系统会提取CSV文件的首行并解析为变量名

2.5、忽略首行

        该参数为非必填项,默认值为false,只有设置了变量名称时,该项才生效,当没有表头时选择false,有表头时,建议变量名称不填写,该项填写true,总结:判断首行是否是测试需要的数据,进而决定是否忽略首行。

2.6、分隔符

        该参数为必填项,一般选取西文逗号,判断该项填写的值最简单的办法为:用记事本打开csv文件,查看每行的数据分隔形式。

2.7、是否容许变量带引号

        该参数为非必填,默认值为false,当变量中含有引号字符并且又想用含有引号的变量名时,该选项完美的解决了这种需求,注意在变量引用时,也要加上引号(单引号和双引号)

2.8、遇到文件结束符再次循环

        该参数为必填项,取值为true或者false,即读取到csv文件的末尾,是否还需要循环读取csv文件。

2.9、遇到文件结束符停止线程

         该参数为必填项,取值为true或者false。即读取到csv文件的末尾,是否需要停止线程,当遇到文件结束符再次循环设置为True时,该项设置失效

        组合说明:

                1、遇到文件结束符再次循环 为True时,遇到文件结束符停止线程设置无效

                2、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为True,当线程数大于CSV实际数据量时(即数据行),遍历到CSV结尾即线程停止,反之,无影响

                3、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为False,即不会循环读取CSV数据且遇到文件结束符不会停止线程。当线程数大于CSV数据量时,虽然遇到文件结尾不会停止线程,但是数据已经读取完毕,剩余的线程将读取不到数据,系统会随机分配莫名其妙的值,而导致测试失败。

2.10、线程共享模式

         该参数为必填项 ,默认值为所有线程,可选参数所有线程、当前线程组 、当前线程。

结合第一章 添加CSV 数据文件设置元件说明,由于添加的位置不同,作用阈也不同。

前提:两个线程组A、B,A线程组中含有两个线程1,2,B线程组中含有两个线程1,2,csv数据为

假定请求含有两个参数。且参数配置正确。

场景1、在测试计划中添加CSV 数据文件设置元件

        作用阈为整个测试计划,即包括所有线程组。

        1、线程共享模式选择所有线程

                循环1次结果;1&101  2&102  3&103  4&104

                循环2次结果;1&101  2&102  3&103  4&104  5&105  6&106  1&101  2&102

                总结:即每一个线程按顺序获取每行csv数据,

        2、线程共享模式选择当前线程组

               循环1次结果;1&101  1&101  2&102  2&102 

               循环2次结果;1&101  1&101  2&102  2&102   3&103  3&103  4&104  4&104  

                总结: 即每个线程组内的线程按顺序获取每行数据,线程组之间互不影响

        3、线程共享模式选择当前线程

               循环1次结果;1&101  1&101  1&101  1&101

               循环2次结果;1&101  1&101  1&101  1&101  2&102  2&102   2&102  2&102  

                总结: 即每个线程按顺序获取每行数据,线程与线程之间互不影响,即线程间独立获取数据,对于A-1线程,循环一次取1&101,循环第二次时,获取2&102

场景2、在各线程组中添加CSV 数据文件设置元件

        在线程组内添加的CSV 数据文件设置元件仅会对该线程组生效,所以模式选择当前线程组和所有线程都是一样的效果,当选择当前线程时,该线程组内的线程相互独立,取值互不干扰,举例如下,仅对于线程组A来说:

        循环1次结果;1&101  1&101 

        循环2次结果;1&101  1&101  2&102  2&102 

 

 

 

 

JMeter中,可以使用CSV数据文件设置组件来实现CSV文件参数化。CSV数据文件设置组件能够从文件中读取一行数据,并将其切割成一个或多个变量放入内存中。相比于JMeter函数助手中提供的__CSVRead()、__StringFromFile()等函数,CSV数据文件设置组件更加简便易用。\[2\] 要使用CSV数据文件设置组件进行参数化,首先需要创建一个CSV文件,其中每一行代表一个测试数据,每个字段之间使用特定的符号进行分隔。然后,在JMeter中添加CSV数据文件设置组件,并配置文件路径、分隔符等参数。在测试计划中的请求中,可以使用变量名来引用CSV文件中的数据。 使用CSV数据文件设置组件进行参数化的好处是,可以方便地管理大量的测试数据,并且可以在不同的请求中重复使用同一份数据。这种方式适用于需要大量测试数据时的情况。\[3\] 除了CSV数据文件设置组件,JMeter还提供了其他几种参数化方式,如用户参数、用户自定义变量和函数助手。用户参数适用于参数取值范围较小、需要少量测试数据的情况。用户自定义变量主要用于设置全局变量,常用于配置常量信息。函数助手可以使用函数生成随机数字和随机字符串来实现参数化。\[1\]\[3\] #### 引用[.reference_title] - *1* [jmetercsv参数化](https://blog.csdn.net/fish_study_csdn/article/details/125443264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JMeter中如何实现参数化(CSV)](https://blog.csdn.net/m0_37449634/article/details/121457126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值