0
votes

I have a test suite that uses the Webdriver Sampler plugin (https://jmeter-plugins.org/wiki/WebDriverSampler/) configured with Chromedriver. If I run my tests in "regular" non-gui mode the plugin works, i.e. starts the chromedriver and performs the test script.

When I try to run the test in distributed mode, the chromedriver doesn't seem to start, and no errors are found in logs. I've tried to run the tests from my master node targeting the slave node, as well as running them from the slave node itself (targeting the running jmeter-server that is running on the slave).

Running tests without the above plugin works (e.g. running a HTTP-request based test suite from master targeting the slave)

Do I have to configure the plugin for jmeter-server too somehow?

2

2 Answers

0
votes

You need to:

  1. Install WebDriver Sampler plugin to all slave machines (jmeter-servers) using JMeter Plugins Manager
  2. Install chromedriver binary to all slave machines at the same place
  3. Make sure that Chrome browser is installed at all slaves and it's in operating system PATH

When you run JMeter test in distributed mode the master machine transfers only .jmx test script to slaves and collects results from them, any other extra files like:

  • plugins
  • CSV files used for parameterization
  • properties files
  • etc.

should be copied over from the master machine manually or using a script

0
votes

It turns out that the plugin actually worked, but in order for chromedriver to run properly a display variable has to be set on each slave node.

  1. Install xvfb

  2. run commands:

    Xvfb :1 -screen 5 1024x768x8 &

    export DISPLAY=:1.5

As described in: Running Chrome WebDriver on a linux server with no display