jMeter java.lang.IllegalArgumentException:文件example.csv必须存在且可读

时间:2017-07-28 09:56:55

标签: jmeter jmeter-3.2

我将jMeter 2.9更新为3.2并且遇到旧测试用例的问题。当我用jMeter 2.9打开.jmx文件时,所有测试都运行顺利,但是当从同一位置使用3.2版本时,我收到一条消息:文件jmeter-results.xml已经存在,你想做什么?附加到现有文件 - 不要启动 - 覆盖现有文件。 不管我选择什么都没关系,它不起作用。

日志文件:

2017-07-28 11:55:20,458 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2017-07-28 11:55:20,458 INFO o.a.j.s.SampleEvent: List of sample_variables: 
[]
2017-07-28 11:55:20,474 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, 
*local*)
2017-07-28 11:55:20,567 INFO o.a.j.e.StandardJMeterEngine: Starting 
ThreadGroup: 1 : JMeter Users
2017-07-28 11:55:20,567 INFO o.a.j.e.StandardJMeterEngine: Starting 1 
threads for group JMeter Users.
2017-07-28 11:55:20,567 INFO o.a.j.e.StandardJMeterEngine: Thread will 
continue on error
2017-07-28 11:55:20,567 INFO o.a.j.t.ThreadGroup: Starting thread group... 
number=1 threads=1 ramp-up=5 perThread=5000.0 delayedStart=false
2017-07-28 11:55:20,567 INFO o.a.j.t.ThreadGroup: Started thread group 
number 1
2017-07-28 11:55:20,567 INFO o.a.j.e.StandardJMeterEngine: All thread groups 
have been started
2017-07-28 11:55:20,583 INFO o.a.j.t.JMeterThread: Thread started: JMeter 
Users 1-1
2017-07-28 11:55:20,583 INFO o.a.j.s.FileServer: Stored: testdata/test.csv
2017-07-28 11:55:20,583 ERROR o.a.j.t.JMeterThread: Test failed!
java.lang.IllegalArgumentException: File test.csv must exist and be readable
at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:430) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.services.FileServer.getReader(FileServer.java:396) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.services.FileServer.getParsedLine(FileServer.java:378) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:200) ~[ApacheJMeter_components.jar:3.2 r1790748]
at org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:393) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:385) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.control.GenericController.next(GenericController.java:158) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.control.LoopController.next(LoopController.java:123) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:87) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:252) [ApacheJMeter_core.jar:3.2 r1790748]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_141]
2017-07-28 11:55:20,583 INFO o.a.j.t.JMeterThread: Thread finished: JMeter 
Users 1-1
2017-07-28 11:55:20,583 INFO o.a.j.e.StandardJMeterEngine: Notifying test 
listeners of end of test
2017-07-28 11:55:20,583 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, 
*local*)

2 个答案:

答案 0 :(得分:1)

  1. 如果您正在谈论此警告:

    here

    它是JMeter file exists范围内JMeter 3.2中引入的增强功能。只需从测试计划中删除所有听众,警告就会消失。实际上,您不需要像issue 58164那样拥有任何侦听器,请考虑使用they create overhead and may ruin your test将测试结果存储到.jtl结果文件中。

  2. 查看此行:

      

    2017-07-30 14:29:57,918 INFO o.a.j.s.FileServer:存储: testdata / test.csv

    您只是忘了将test.csv文件复制到新的JMeter安装

    • 转到JMeter 3.2“bin”文件夹
    • 在那里创建文件夹testdata
    • test.csv文件复制到testdata文件夹

    或者只使用test.csv文件的绝对路径。

答案 1 :(得分:0)

解决方法:

将.csv文件放置在您拥有脚本的路径中,并使用.csv文件名更改完全限定的CSV路径。