2010-10-22 61 views
6

我想做JMeter分布式测试。在手册中说过,首先我应该在远程节点上启动jmeter-server,然后我应该在主节点上更新jmeter.config并运行jmeter我应该在远程工作站上为分布式JMeter测试添加一个CSV配置文件?

我完成了所有这些步骤。我的测试计划包括使用CSV配置文件。如果我只从1(主)节点进行测试 - 那么一切都起到魅力的作用。但是当我尝试分布式测试时,所有测试失败。一些调查显示,远程节点发送请求时未取代类似${..}的参数。请求看起来像

POST数据: 5 | 0 | 6 |的http://host.com/portal/ | 67D1C612DCF291DCD0F71AD15E404F37 | host.ui.client.services.LoginService |登录| java.lang.String中/ 2004016611 | $ {ADMIN_LOGIN} | 1 | 2 | 3 | 4 | 3 | 5 | 5 | 5 | 6 | 6 | 1 |

很明显,远程jmeter-server找不到CSV文件。我应该把它放在哪里?

P.S:我有不同操作系统的机器(Windows 7和Ubuntu 10.04)。

+0

您是否找到可行的解决方案? – BlackGaff 2010-11-18 22:18:21

回答

2

将完整路径和文件名放入'CSV Data Set Config'组件中,​​例如。 c:\loadtest\config.csv并确保您将CSV文件放在指定的位置。


组件manual还规定如下:

相对文件名是相对于主动测试计划的路径解决。

因此应该可以将文件放在与测试计划文件相同的目录中。这应该可以在Linux和Windows上运行。

+1

那么Ubuntu呢?是否有可能在同一时间对不同操作系统的机器进行测试? – Roman 2010-10-22 12:58:26

+0

你知道,我刚刚试图设定绝对路径,因为你建议,是的,它的工作原理。但是,Linux/Windows的差异存在问题。 – Roman 2010-10-22 13:03:06

+0

我已经添加了一些关于相对路径的内容。 – 2010-10-22 13:07:45

1

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

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

没有必要复制测试计划。

5

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

0

EDITED因为文档引用错了 - 我被我自己的答案:)

老问题烧毁,但我只是碰到了这个问题,这里的答案是相互矛盾的。

是否将相对路径解析为bin /目录或当前.jmx测试脚本的目录?

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

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

相关问题