如何在远程(分布式)模式下在 JMeter 中发送包含组件

How to send Included Components in JMeter in remote (distributed) mode

我有 JMeter 脚本,其中包含 Include Controllers 和 我想 运行 在分布式模式下进行测试。 但是我遇到了 JMeter slaves(远程节点)无法找到我想要包含的元素的问题。

 INFO o.a.j.c.IncludeController: loadIncludedElements -- try to load included module: /opt/jenkins/workspace/_start_jmeter_server_NFT/apache-jmeter-3.2/bin/../common_test_components/debug-component.jmx
 INFO o.a.j.c.IncludeController: loadIncludedElements -failed for: /opt/jenkins/workspace/_start_jmeter_server_NFT/apache-jmeter-3.2/bin/../common_test_components/debug-component.jmx
 INFO o.a.j.c.IncludeController: loadIncludedElements -Attempting to read it from: /opt/jenkins/workspace/_start_jmeter_server_NFT/apache-jmeter-3.2/bin/./../common_test_components/debug-component.jmx
 ERROR o.a.j.c.IncludeController: Include Controller 'common component' can't load '../common_test_components/debug-component.jmx' - see log for details

这是否意味着我需要像复制数据资源一样复制我的组件'manually'?

是的,任何测试依赖项都需要存在于所有从机中以 运行 您的测试。

手动复制这些文件会很烦人。所以我建议您使用 docker 将整个环境与所有测试依赖项打包为一个图像。然后你只需从每个从站上的图像创建一个容器。

请查看此处了解更多信息。

http://www.testautomationguru.com/jmeter-distributed-load-testing-using-docker/