2

I've got JMeter script which contains Include Controllers and I want to run my test in distributed mode. But I'm facing problem that JMeter slaves (remote nodes) can't find those elements which I want to include.

 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

Does that mean I would need to copy my component 'manually' the same way as data resources?

Michal
  • 3,218
  • 2
  • 25
  • 44

1 Answers1

2

Yes, Any test dependency needs to be present in all the slave machines to run your test.

Manually copying these files would be annoying. So I would suggest you to go with docker where you package the entire environment with all the test dependencies as an Image. Then you just create a container from the image on each slave.

Please check here for more information.

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

vins
  • 15,030
  • 3
  • 36
  • 47