非Gui模式下的JMeter CSVRead不读取文件

非Gui模式下的JMeter CSVRead不读取文件,jmeter,Jmeter,我使用JMeter2.11 我使用嵌套文件等构建测试。使用CSV数据集时,它不起作用。但是我找到了一个带有JMeter函数uu CSVRead的解决方案,它在GUI模式下运行良好 现在我必须在非GUI模式下运行此测试,但它不起作用。 我尝试读取带有一些URL的CSV文件,并希望向该地址发送一个正常的HTTP请求。 在我的HTTP请求中,我设置了服务器名:${uu CSVRead(${file},0)}端口:7080 在GUI模式下,他可以在非GUI模式下读取文件。我不知道为什么 日志中的结果:

我使用JMeter2.11

我使用嵌套文件等构建测试。使用CSV数据集时,它不起作用。但是我找到了一个带有JMeter函数uu CSVRead的解决方案,它在GUI模式下运行良好

现在我必须在非GUI模式下运行此测试,但它不起作用。 我尝试读取带有一些URL的CSV文件,并希望向该地址发送一个正常的HTTP请求。 在我的HTTP请求中,我设置了服务器名:${uu CSVRead(${file},0)}端口:7080

在GUI模式下,他可以在非GUI模式下读取文件。我不知道为什么

日志中的结果: 14061238333031077,asd,非HTTP响应代码:org.apache.HTTP.conn.HttpHostConnectException,非HTTP响应消息:连接被拒绝,jp@gc-最终螺纹组1-1,文本,假,2213,0


请不要说我必须使用“CSV数据集”,因为它确实无法使用;)

我希望在GUI模式下,您在
${file}
变量中使用相对路径

最简单的选择是切换到使用完整路径而不是相对路径

或者,您可以检查JMeter希望CSV文件出现的位置,并将其复制过来。可以这样做,即使用以下代码:

import org.apache.jmeter.services.FileServer;

File file = new File(FileServer.getFileServer().getBaseDir() + System.getProperty("file.separator") + vars.get("file"));

if (!file.exists()) {
    ResponseMessage = "Failed to locate " + vars.get("file") + " file under " + FileServer.getFileServer().getBaseDir() + " folder";
    IsSuccess = false;
    log.error(ResponseMessage);
    SampleResult.setStopTestNow(true);
}
上面的代码检查当前JMeter工作目录下名为
${file}
变量的文件是否存在,如果文件不存在,采样器将失败,测试将停止