Java JMETER:如何创建一组N个线程,其中N是文件中的行数
我有以下测试计划: 我想在csv文件的每行上有一个线程Java JMETER:如何创建一组N个线程,其中N是文件中的行数,java,csv,jmeter,performance-testing,threadgroup,Java,Csv,Jmeter,Performance Testing,Threadgroup,我有以下测试计划: 我想在csv文件的每行上有一个线程 如何实现这一点?这是可能的,但在启动jmeter之前,您需要计算CSV文件中的行数,如: 在JMeter中,使用如下函数定义“线程数” ${__P(threads,)} 您可以通过-J命令行参数传递线程属性值,如 jmeter -Jthreads=60 .... 您可以使用操作系统命令计算CSV文件中的行数,如: setlocal EnableDelayedExpansion set "cmd=findstr /R /N "^^"
如何实现这一点?这是可能的,但在启动jmeter之前,您需要计算CSV文件中的行数,如:
${__P(threads,)}
-J
命令行参数传递线程
属性值,如
jmeter -Jthreads=60 ....
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 ...
- 对于MS Windows,将“for”循环用作Xoce웃 Пepeúpa建议,如创建,即
文件,如: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,您可以使用和命令组合并运行JMeter,如下所示:
./jmeter -Jthreads="$(wc -l PATH_TO_YOUR_FILE.CSV | awk {'print $1'})" -n -t test.jmx
有关JMeter属性和使用它们的方法的更多信息,请参见(..)循环声音熟悉程度的信息。您能详细说明吗?在纯Java中,您只需要
文件.lines().parallel()
,但您提到的是jmeter…@Xoce웃 Пepeúpa应在parallel@fge是的,我需要jmeter的解决方案。您是否在问如何创建一组N个线程,其中N是文件中的行数?在日志中,我看到:jmeter.engine.StandardJMeterEngine:Starting ThreadGroup:1:Thread group jmeter.engine.StandardJMeterEngine:为组线程组启动0个线程。jmeter.engine.StandardJMeterEngine:线程将在出现错误时继续jmeter.threads.ThreadGroup:开始线程组编号1线程0爬升0 perThread NaN delayedStart=false