Java 我应该在远程工作站的何处放置用于分布式JMeter测试的CSV配置文件?

Java 我应该在远程工作站的何处放置用于分布式JMeter测试的CSV配置文件?,java,testing,configuration,jmeter,Java,Testing,Configuration,Jmeter,我想做JMeter分布式测试。手册中说,首先我应该在远程节点上启动jmeter服务器,然后更新jmeter.config并在主节点上运行jmeter 我做了所有这些步骤。我的测试计划包括使用CSV配置文件。如果我只从一个(主)节点进行测试,那么一切都像一个符咒。但是当我尝试分布式测试时,所有的测试都失败了。一些调查表明,远程节点发送请求时不需要替换类似${..}-的参数。请求看起来像 发布数据: 5|0|6|http://host.com/portal/|67D1C612DCF291DCD0F7

我想做JMeter分布式测试。手册中说,首先我应该在远程节点上启动
jmeter服务器
,然后更新
jmeter.config
并在主节点上运行
jmeter

我做了所有这些步骤。我的测试计划包括使用CSV配置文件。如果我只从一个(主)节点进行测试,那么一切都像一个符咒。但是当我尝试分布式测试时,所有的测试都失败了。一些调查表明,远程节点发送请求时不需要替换类似
${..}
-的参数。请求看起来像

发布数据: 5|0|6|http://host.com/portal/|67D1C612DCF291DCD0F71AD15E404F37 | host.ui.client.services.LoginService | login | java.lang.String/2004016611 |${ADMIN | u login}1 | 2 | 3 | 4 | 3 | 5 | 5 | 5 | 6 | 1|

很明显,远程
jmeter服务器
找不到CSV文件。我应该把它放在哪里


注:我有不同操作系统的机器(Windows7和Ubuntu10.04)

将完整路径和文件名放入“CSV数据集配置”组件,例如
c:\loadtest\Config.CSV
,并确保将CSV文件放在指定的位置


这些组成部分还说明了以下内容:

相对于活动测试计划的路径解析相对文件名


因此,应该可以将该文件放在与测试计划文件相同的目录中。这应该在Linux和Windows中都能工作。

对数据文件的任何引用都假定这样一个文件存在于指定路径的相应节点中。例如,如果您的CSV文件位于C:\data中,那么当您以分布式方式执行测试计划时,测试计划将在节点(从节点)的C:\data中查找数据文件

实际上,如果您使用的是10台从机,那么所有这10台机器中都需要有c:\data文件夹


无需复制测试计划。

解决多操作系统问题的最简单方法是将CSV文件放在所有测试机器上的Jmeter BIN目录中,并且不引用CSV数据集配置组件中的路径。

编辑了,因为文档引用错误-我被自己的答案烧焦了:)

老问题,但我刚刚遇到这个问题,这里的答案相互矛盾

是解析到bin/目录还是当前.jmx测试脚本的目录的相对路径

答:它只是测试脚本的目录。从文档中:

相关文件名通过 关于活动测试计划的路径。绝对文件名为 也支持,但请注意,它们不太可能在远程环境中工作 模式,除非远程服务器具有相同的目录结构。如果 同一物理文件以两种不同的方式引用-例如。 csvdata.txt和./csvdata.txt-然后将它们视为不同的 文件夹。如果操作系统不区分大小写, csvData.TXT也将单独打开


那Ubuntu呢?有可能同时在具有不同操作系统的机器上进行测试吗?你知道,我刚刚尝试按照你的建议设置绝对路径,是的,它可以工作。但是Linux/Windows的差异有一个问题。我额外添加了一点关于相对路径的内容。等等,我不明白。从本手册中我了解到,甚至不需要将测试计划放在远程节点的任何位置,因为它将通过网络从主节点发送。嗯,您可以尝试添加两个“CSV数据集配置”组件,第一个是Windows风格的路径,第二个是基于Linux的路径。你找到一个可行的解决方案了吗?5年后,我尝试在Kubernetes中安装并运行它,这很有用!