CSV Data Set Config配置原件剖析

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

功能描述

CSV Data Set Config配置原件主要功能是数据配置。把文件中的内容,通过变量获取到,不仅支持csv格式、txt格式也支持。

配置界面

在这里插入图片描述

  • **名称:**给配置原件重命名,便于识别该配置原件,该项不能为空

  • 注释:主要来对该配置原价进行解释说明,该项可以为空

  • Filename:这里用来设置数据文件,文件格式通常以csv,txt为主。该位置可以填写相对路径、绝对路径。该项为必填项

  • File encoding:设置文件编码格式。可以选择“UTF-8、UTF-16、ISO-8859-15、US-ASCII、编辑”,编辑选项可以填写其他编码,more选项为“编辑”。选择合适的编码,在请求响应或者参数过程,能避免乱码。后续会给出该部分的示例。

  • Variable Names(comma-delimited):设置变量,变量与变量之间用“,”分隔。该项为必填项

  • Ignore first line(only used if Variable Names is not empty):是否忽略第一行。默认值为False。如果数据文件第一行不是数据,而是对应的列名,该选项可以改为True。从有效测试数据开始,即第二行。

  • Delimiter(use ‘\t’ for tab):数据内容分隔符,默认是“,”号。举例,文件内容为如下:

    a,b,c,d
    1,2,3,4
    

    上述内容分隔符使用“,”。

    a@b@4
    

    上述内容分隔符使用“@”。

    分隔符没有特定要求,可以依据文件内容的数据样式,选择合适的分隔符划分。选择的分隔符会影响变量的值如:文件内容为“a@b@4”,变量名设置的为:a1,a2,a3。分隔符设置为“,”。那么变量a1=a@b@4,a2、a 3值为空。

  • Allow quote data?允许引用数据。默认为False。存在三个选项 “False、True、编辑”,编辑选项可以添加应用的变量。

  • **Recycle on EOF?:**文件结束是否循环获取数据。默认为True。如果文件中数据只有一行,循环了十次,如果不设置该值,只有第一次循环获取到数据。

  • **Stop the thread on EOF?:**文件结束是否停止线程。默认为False。当文件结束的时候,如果该值设置为True,线程也会停止。

  • Sharing Mode:共享模式,默认为All threads。存在选项“All threads、Current thread group、Current thead、编辑”。模式决定了该配置文件变量作用的线程域。如果只对该线程组有效,选择选项Current thread group。

使用演示

一列数据一个变量

文件内容csv_03.txt
你好
22
23
CSV Data Set Config配置

在这里插入图片描述
由于数据文件中存在“你好”,为防止输出乱码,这里设置File encoding编码格式为“UTF-8”

脚本样式

在这里插入图片描述

这里设置的循环次数大于文件中内容行数为了校验Recycle on EOF?选项

脚本运行结果查看

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编码正常不出现乱码,文件循环结束,从头开始第二轮循环。

多列数据多个变量

文件内容csv_03.txt
你好@25@999
22@26@888
23@27@777
CSV Data Set Config配置

在这里插入图片描述

脚本样式

在这里插入图片描述

这里设置的循环次数大于文件中内容行数为了校验Recycle on EOF? 、Stop the thread on EOF?选项

脚本运行结果查看

在这里插入图片描述
在这里插入图片描述
Recycle on EOF? 、Stop the thread on EOF?、File encoding选项设置生效。

作用域

脚本样式

在这里插入图片描述

​ 脚本使用了三个CSV Data Set Config配置原件。csv_01和线程组同一层级、csv_02和循环控制器同一层级、csv_03和Debug Sampler同一层级。

​ 基于上述样式,这三个配置原件的作用域为:

  • csv_01作用域为整个测试计划,包括测试计划中的各种元素。
  • csv_02作用域为当前线程组,包括线程组的各种元素。
  • csv_03作用域为当前循环控制器,控制器中的元素都可以使用该变量数据。

文件内容为:

csv_01.txt:

1
2
3
4
5

csv_02.txt:

11
12
13
14
15

csv_03.txt:

21
22
23
24
25

配置原件配置:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

设置循环

设置循环控制器次数为5

线程组属性循环次数,线程组数设置:

在这里插入图片描述

循环控制器设置为:5

在这里插入图片描述

运行结果如下,只有csv03变量值变化:
在这里插入图片描述
在这里插入图片描述

线程组循环次数为3

线程组属性循环次数,线程组数设置:
在这里插入图片描述
循环控制器设置为:1

在这里插入图片描述

运行结果如下,三个变量值变化:

在这里插入图片描述
在这里插入图片描述

作用域总结

以上述脚本组织样式,变量变化归纳:

  • 当循环控制器设置为1时,调整线程组数、线程组循环次数,三个变量都会发生变化。循环次数=线程组数*线程组循环次数。循环从数据文件中获取数据。

  • 当线程组数、循环次数为1时,只有csv03变量值发生变化,也就是循环控制器中的配置原件数据会循环获取。

  • 当三者循环次数都发生变化时。举例:线程组数为2、线程组循环次数为2、循环控制器为2:类别与下属代码:

    for a in range(2): #线程组数为2、线程组循环次数为2
        for c in rang(2) #循环控制器为2
    

    类别与两个for循环。循环次数=线程组数线程组循环次数循环控制器。实例结果截图如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了592 篇原创文章 · 获赞 221 · 访问量 130万+

猜你喜欢

转载自blog.csdn.net/henni_719/article/details/102477183