zoukankan      html  css  js  c++  java
  • jmeter一个线程组下多个csv的应用

    一个线程组下,多个CSV文件的总结:说明:1csv中的值为a:5;2csv中的值为b:3
    1、CSV在不同的循环控制器下,按照顺序执行(即1csv-1取样器-2csv-2取样器);如1取样器中的${b}获取不到值,因为在执行1取样器时,2csv还没执行,所以获取不到b的值;
    2、当1csv对应的循环控制器设置为1,2csv对应的循环控制器设置为2时,执行逻辑为:
    执行第一个循环控制器:
    读取1csv中的a=5 ,执行1取样器,结果为1:5___${b}
    执行第二个循环控制器:
    第一次循环:读取2csv中的b=3,执行2取样器,结果为2:5___3(因为a的值没有重新读,也没有变化,所以还是取1取样器中a的值)
    第二次循环:读取2csv中的b=(因为csv设置的是遇到文件结束符再次循环为false),执行2取样器,
    结果为2:5___eof
     
    csv设置的遇到文件结束符停止线程-true,当超出csv数据行数的时候,线程自动停止;如csv有5行数据,循环6次,则第6次时,线程自动停止;
    csv设置的遇到文件结束符停止线程-false,循环控制器会一致循环,永远在循环控制器里面执行;
    所以我们试算脚本中写的循环永远是不对的,会导致后面的试算无法执行;
     
    csv设置的遇到文件结束符再次循环-true,当读取到csv最后一行后,从头开始读csv文件;
    csv设置的遇到文件结束符再次循环-false,当读取到csv最后一行后,读取的值为eof;
    0
     
     
    两个CSV变量名不一样时,b=3 ,a=5;
    两个CSV变量名一样时,取其中一个的值
    0
     
    说明:3csv都是同一个文件名,变量,设置等;
    如下图,第一个循环控制器循环2次,第二个循环控制器循环8次;
    最终结果是2取样器打印的值是接着1取样器之后的值;
    0
     
     
    说明:3dsv与4csv是不同的文件名,其他变量什么的都一样;
    如下图,第一个循环控制器循环2次,第二个循环控制器循环8次;
    最终结果是2取样器打印的值是4csv第一行开始的值;
    0
     
     
    总结:如果不同的循环控制器的csv文件是一模一样的,jmeter会把这两个文件当成一个文件来运行;
  • 相关阅读:
    Java中static、final、static final的区别(转)
    Google的JSON风格指南
    Google代码风格指南
    Java中的final关键字(转)
    Java的不定参数(eg:Object...)(转)
    Java Enum枚举的用法(转)
    Java中包装类型和基本类型的使用场景(什么时候使用包装类型)(转)
    Java常用的集合类(转)
    使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)
    Java搜索引擎选择: Elasticsearch与Solr(转)
  • 原文地址:https://www.cnblogs.com/lelexiong/p/15693177.html
Copyright © 2011-2022 走看看