JMETER:如何创建一组N个线程,其中N是文件中的行数

时间:2016-04-06 16:27:42

标签: java csv jmeter performance-testing threadgroup

我有以下测试计划:

enter image description here

我想在csv文件的每一行上都有1个线程。

我怎样才能实现它?

1 个答案:

答案 0 :(得分:0)

这是可能的,但您需要在 jmeter开始之前计算CSV文件中的行,例如:

  1. 在JMeter中使用__P()函数定义“线程数”,如

    ${__P(threads,)}
    
  2. 您可以通过threads命令行参数传递-J属性值,如

    jmeter -Jthreads=60 ....
    
  3. 您可以使用操作系统命令计算CSV文件中的行,如:

    • 对于MS Windows使用“for”循环,如Xoce웃Пepeúpa建议的那样,像创建ie runtest.bat文件一样:

      setlocal EnableDelayedExpansion
      set "cmd=findstr /R /N "^^" PATH_TO_YOUR_FILE.CSV | find /C ":""
      
      for /f %%a in ('!cmd!') do set threads=%%a
      
      jmeter.bat -Jthreads=%threads% -n -t test.jmx ...
      
    • 对于Linux / Unix,您可以使用wcawk命令组合并运行JMeter,如:

      ./jmeter -Jthreads="$(wc -l PATH_TO_YOUR_FILE.CSV | awk {'print $1'})" -n -t test.jmx
      
  4. 理论上Linux方式也适用于OS X.

    有关JMeter属性及其使用方法的更多信息,请参阅Apache JMeter Properties Customization Guide