CSV Data Set Config 详细使用说明

JMeter 5.1.1 CSV Data Set Config

场景一:线程组中设置:单线程执行1次

             image

     如上图所示:变量名称为空时JMeter默认把new 1.txt的文件首行作为变量名

             image

        再如:此时A会被作为变量名,第一次取值为B

             image

场景二:线程组中设置:单线程执行1次

            image

    当变量名称不为空时,忽略首行为false,JMeter会吧参数化文件(new 1.txt)文件首行作为变量值进行读取。

            image

    再如:

            image

    当变量名称不为空时,忽略首行为true,JMeter会把参数化文件(new1.txt)文件首行忽略,从文件第二行开始读取变量值。

            image

场景三: 线程组中设置:单线程执行5次 

            image

执行结果如下:

            image

     结果说明:当遇到文件结束符再循环设置为true,遇到文件结束符停止线程为false时,如果线程执行的次数超过文件行数,读完参数化文件最后一行后再次开始从文件首行进行读取,如过设置了忽略首行则从文件第二行开始读取变量值。

     将遇到文件结束符再循环设置为false,遇到文件结束符停止线程为false时,执行结果如下图:

            image

      结果说明:当前线程读取完参数化文件全部行数后,由于设置了不循环读取参数化文件,当前线程仍是活跃的,本次JMeter会给当前变量一个<EOF>值(也可以理解成标志位,表示线程不循环读取文件行)。

      遇到文件结束符再循环设置为false,遇到文件结束符停止线程为true时,执行结果如下图:

            image

     结果说明:将遇到文件结束符停止线程为true时,当前线程读取完参数化文件全部行数后,JMeter不会给本次变量值,直接停止线程,即使设置的执行次数超过参数化文件行数,多余的执行次数不会被执行。

场景四:线程共享模式

这里新手可能比较难理解,希望看完能对读者有所帮助。

  • Sharing mode:All threads(所有现场)     适用:多线程组供用CSV Data Set Config

   脚本结构如下(为了方便理解:Thread Group1与Thread Group2设置为均是单线程执行1次。):

             image

  执行结果如下:

             image

      结果说明:Thread Group1 读取的变量值为A; Thread Group2 读取的变量值为B ,Thread Group2在Thread Group1基础上又继续读取了文件的第二行(B)

      如果将Thread Group1 Thread Group2 设置成2线程,循环次数为1,结果会是什么。。。?

  • Sharing mode:Current thread group(当前线程组)

              image

     结果说明:Thread Group1  与 Thread Group2 均从文件首行(应该是第二行,次处设置了忽略首行)开始读取。可以理解成,你读你的,我读我的,互不影响。

  • Sharing mode:Current thread (当前线程)

              image

     执行结果如下图:

              image

     结果说明:每个线程独享参数化文件,以线程为单位读取文件,线程之间互不影响。

原文地址:https://www.cnblogs.com/leebaul/p/10986910.html