csv的Jmeter问题中的参数化变量

时间:2018-10-21 15:16:09

标签: jmeter

我测试了NodeJS和Java技术中的后端应用程序。通讯:JMeter中的NodeJs部分中的WebSocket和Java中的HTTP部分)我必须参数化URL,以便在开发URL,生产版本和prepod之间切换。

我是通过CSV文件完成的。我在拥有Jmeter 5.0的文件夹中创建了CSV文件夹。我准备了3个CSV文件,在Jmeter的文件夹bin中有三个csv文件,例如:development.csv,production.csv。和prepod.csv

我的CSV文件如下:

协议,主机http,10.219.227.66 ws,10.219.227.66

协议,主持人 https,prepod.myprepod.io ws,prepod.myprepod.io

协议,主持人 https,production.myproduction.io ws,production.myproduction.io

我已经在Jmeter中设置了:WebSocket打开连接服务器URL – ws服务器名称或IP-$ {host}

CSV数据集配置$ {__ P(环境,开发)}。csv

此项目未在日志中运行我有:原因:

java.lang.IllegalArgumentException: File development.csv must exist and be readable at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:424) ~[ApacheJMeter_core.jar:5.0 r1840935] at org.apache.jmeter.services.FileServer.readLine(FileServer.java:340) ~[ApacheJMeter_core.jar:5.0 r1840935] at org.apache.jmeter.services.FileServer.readLine(FileServer.java:324) ~[ApacheJMeter_core.jar:5.0 r1840935] at org.apache.jmeter.services.FileServer.reserveFile(FileServer.java:272) ~[ApacheJMeter_core.jar:5.0 r1840935] ... 8 more 2018-10-19 14:29:30,727 INFO o.a.j.t.JMeterThread: Thread finished: Authorize success 1-1 2018-10-19 14:29:30,728 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test 2018-10-19 14:29:30,728 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, local)



 2018-10-19 14:29:30,726 INFO o.a.j.t.JMeterThread: Thread started: Authorize success 1-1 2018-10-19 14:29:30,727 INFO o.a.j.s.FileServer: Stored: jmeter/5.0/bin/development.csv 2018-10-19 14:29:30,727 ERROR o.a.j.t.JMeterThread: Test failed! java.lang.IllegalArgumentException: Could not read file header line for file jmeter/5.0/bin/development.csv 

2018-10-19 14:28:17,339 INFO o.a.j.s.FileServer: Stored: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:28:21,184 INFO o.a.j.g.a.Start: Stopping test
2018-10-19 14:28:21,223 INFO o.a.j.t.JMeterThread: Stopping: Authorize success 1-1
2018-10-19 14:28:21,223 INFO o.a.j.t.JMeterThread: Thread finished: Authorize success 1-1
2018-10-19 14:28:21,225 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2018-10-19 14:28:21,225 INFO o.a.j.s.FileServer: Close: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:28:21,225 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
2018-10-19 14:28:26,413 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2018-10-19 14:28:26,413 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2018-10-19 14:28:26,414 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2018-10-19 14:28:26,695 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Authorize success
2018-10-19 14:28:26,695 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Authorize success.
2018-10-19 14:28:26,695 INFO o.a.j.e.StandardJMeterEngine: Thread will start next loop on error
2018-10-19 14:28:26,695 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2018-10-19 14:28:26,696 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2018-10-19 14:28:26,696 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2018-10-19 14:28:26,697 INFO o.a.j.t.JMeterThread: Thread started: Authorize success 1-1
2018-10-19 14:28:26,697 INFO o.a.j.s.FileServer: Stored: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:28:30,510 INFO o.a.j.g.a.Start: Stopping test
2018-10-19 14:28:30,540 INFO o.a.j.t.JMeterThread: Stopping: Authorize success 1-1
2018-10-19 14:28:30,540 INFO o.a.j.t.JMeterThread: Thread finished: Authorize success 1-1
2018-10-19 14:28:30,541 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2018-10-19 14:28:30,541 INFO o.a.j.s.FileServer: Close: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:28:30,542 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
2018-10-19 14:28:34,204 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2018-10-19 14:28:34,204 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2018-10-19 14:28:34,205 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2018-10-19 14:28:34,503 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Authorize success
2018-10-19 14:28:34,504 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Authorize success.
2018-10-19 14:28:34,504 INFO o.a.j.e.StandardJMeterEngine: Thread will start next loop on error
2018-10-19 14:28:34,504 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2018-10-19 14:28:34,504 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2018-10-19 14:28:34,505 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2018-10-19 14:28:34,505 INFO o.a.j.t.JMeterThread: Thread started: Authorize success 1-1
2018-10-19 14:28:34,505 INFO o.a.j.s.FileServer: Stored: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:29:25,998 INFO o.a.j.g.a.Start: Shutting test down
2018-10-19 14:29:26,021 INFO o.a.j.t.JMeterThread: Thread finished: Authorize success 1-1
2018-10-19 14:29:26,021 INFO o.a.j.t.JMeterThread: Stopping: Authorize success 1-1
2018-10-19 14:29:26,022 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2018-10-19 14:29:26,022 INFO o.a.j.s.FileServer: Close: /usr/local/Cellar/jmeter/5.0/bin/development.csv
2018-10-19 14:29:26,022 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
2018-10-19 14:29:30,475 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2018-10-19 14:29:30,475 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2018-10-19 14:29:30,476 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2018-10-19 14:29:30,724 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Authorize success
2018-10-19 14:29:30,724 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Authorize success.
2018-10-19 14:29:30,724 INFO o.a.j.e.StandardJMeterEngine: Thread will start next loop on error
2018-10-19 14:29:30,724 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2018-10-19 14:29:30,725 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2018-10-19 14:29:30,726 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2018-10-19 14:29:30,726 INFO o.a.j.t.JMeterThread: Thread started: Authorize success 1-1
2018-10-19 14:29:30,727 INFO o.a.j.s.FileServer: Stored: jmeter/5.0/bin/development.csv
2018-10-19 14:29:30,727 ERROR o.a.j.t.JMeterThread: Test failed!
java.lang.IllegalArgumentException: Could not read file header line for file jmeter/5.0/bin/development.csv
    at org.apache.jmeter.services.FileServer.reserveFile(FileServer.java:283) ~[ApacheJMeter_core.jar:5.0 r1840935]
    at org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:183) ~[ApacheJMeter_components.jar:5.0 r1840935]
    at

出什么问题了,我该如何改善?请帮助我

1 个答案:

答案 0 :(得分:0)

您的问题是JMeter在以下位置查找文件:

  

jmeter / 5.0 / bin / development.csv

在其中时:

  

/usr/local/Cellar/jmeter/5.0/bin/development.csv

因此,要使路径稳定,请使用名为resdir的属性,该属性将引用包含CSV文件的文件夹:

  

$ {__ P(resdir,/usr/local/Cellar/jmeter/5.0/bin /)} / $ {__ P(environment,development)}。csv

将jmx文件放置在所需位置,然后使用以下命令运行jmeter bin文件夹:

  

jmeter -t -Jresdir = / usr / local / Cellar / jmeter / 5.0 / bin / -l results.csc -e -o report-folder

然后将您的CSV放在/usr/local/Cellar/jmeter/5.0/bin /