首页 > 解决方案 > jmeter csv数据集配置问题:无法读取文件的文件头行

问题描述

我试图从 csv 文件中提取数据以在 POST 请求中使用,但出现以下错误

java.lang.IllegalArgumentException: Could not read file header line for file v2summaryreport

v2summaryreport 是从另一个线程摘要报告中保存的,我想将该 csv 用于将发布的一组新结果。

csv 配置

错误信息

020-09-23 16:26:14,826 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-09-23 16:26:14,831 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 3-1
2020-09-23 16:26:14,832 INFO o.a.j.s.FileServer: Stored: v2summaryreport
2020-09-23 16:26:14,832 ERROR o.a.j.t.JMeterThread: Test failed!
java.lang.IllegalArgumentException: Could not read file header line for file v2summaryreport
    at org.apache.jmeter.services.FileServer.reserveFile(FileServer.java:283) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:183) ~[ApacheJMeter_components.jar:5.1.1 r1855137]
    at org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:399) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:391) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.control.GenericController.next(GenericController.java:160) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.control.LoopController.next(LoopController.java:135) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:87) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:251) [ApacheJMeter_core.jar:5.1.1 r1855137]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Caused by: java.lang.IllegalArgumentException: File v2summaryreport must exist and be readable
    at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:424) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.services.FileServer.readLine(FileServer.java:340) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.services.FileServer.readLine(FileServer.java:324) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.services.FileServer.reserveFile(FileServer.java:272) ~[ApacheJMeter_core.jar:5.1.1 r1855137]

对此的任何帮助将不胜感激

标签: jmeter

解决方案


文件 v2summaryreport 必须存在且可读

这意味着 JMeter 在给定位置下找不到 CSV 文件

您需要提供文件的相对路径或完整路径(在大多数情况下以及扩展名),所以我认为它应该类似于v2summaryreport.txtv2summaryreport.jtl

还要注意JMeter 测试元素的执行顺序,因为作为配置元素CSV 数据集 Config可能会在其他所有操作之前执行,因此包含结果的文件尚不存在。

使用动态 CSV 文件不是很受支持的用例,您可能需要考虑迁移到__CSVRead() 函数,请参阅JMeter 运行时文章中的如何选择不同的 CSV 文件以获取示例实现。


推荐阅读