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



我测试后端应用程序,这是在NodeJS和Java技术中。 通信:WebSocket in NodeJs 部分和 HTTP in Java 部分( 在 JMeter 中,我必须参数化 URL,以便在开发 URL、生产和 prepod 之间切换。

我通过CSV文件做到了。我在拥有 Jmeter 5.0 的文件夹中创建了文件夹 CSV。我准备了 3 个 CSV 文件,我在 Jmeter 的文件夹箱中有三个 csv 文件,例如:开发.csv、生产.csv。和前奏.csv

我的 CSV 文件如下:

协议, 主机 HTTP, 10.219.227.66WS, 10.219.227.66

协议, 主机 https, prepod.myprepod.io ws, prepod.myprepod.io

协议, 主机 https, production.myproduction.io ws, production.myproduction.io

我已经在 Jmeter 中设置了:WebSocket Open Connection Serwer 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

出了什么问题,我必须如何改进?请帮助我

您的问题是 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

相关内容

最新更新