Search code examples
jmeterjmeter-plugins

WebDriverSampler Tests are failing with Error


I have a simple test plan with a WebDriver Sampler test with Chrome Driver Config Element configured to use compatible Chromedriver in the <JMETER_HOME>/bin folder. It's a simple test, as in the two minutes guide. https://jmeter-plugins.org/wiki/WebDriverTutorial/

It used to work well until recently and stopped working after upgrading the Chrome browser + driver.

JMeter Version 5.5 OS 12.6.4 Google Chrome : Version 111.0.5563.146 (Official Build) (arm64) Plugin Manager and plugins were updated to the latest

I am getting the following error when the test is executed.

org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:51531/devtools/browser/2fa15e06-54bb-4e59-a09f-1cb2b742d2d5
Build info: version: '4.7.2', revision: '4d4020c3b7'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '12.6.4', java.version: '18.0.2.1'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:102) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambda$create$3(NettyWebSocket.java:128) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:107) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.devtools.Connection.<init>(Connection.java:78) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.chromium.ChromiumDriver.lambda$new$2(ChromiumDriver.java:116) ~[selenium-chromium-driver-4.7.2.jar:?]
    at java.util.Optional.map(Optional.java:260) ~[?:?]
    at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:114) ~[selenium-chromium-driver-4.7.2.jar:?]
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) ~[selenium-chrome-driver-4.7.2.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:28) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:14) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:221) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:152) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:797) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:993) ~[jorphan.jar:5.5]
    at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:976) ~[jorphan.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:765) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:753) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:264) ~[ApacheJMeter_core.jar:5.5]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-04-07 11:37:16,235 ERROR o.a.j.t.JMeterThread: Test failed!
org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:51545/devtools/browser/e316304b-bf6b-46bf-96d7-28933b054a87
Build info: version: '4.7.2', revision: '4d4020c3b7'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '12.6.4', java.version: '18.0.2.1'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:102) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambda$create$3(NettyWebSocket.java:128) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:107) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.devtools.Connection.<init>(Connection.java:78) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.chromium.ChromiumDriver.lambda$new$2(ChromiumDriver.java:116) ~[selenium-chromium-driver-4.7.2.jar:?]
    at java.util.Optional.map(Optional.java:260) ~[?:?]
    at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:114) ~[selenium-chromium-driver-4.7.2.jar:?]
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) ~[selenium-chrome-driver-4.7.2.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:28) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:14) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:221) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.iterationStart(WebDriverConfig.java:198) ~[jmeter-plugins-webdriver-4.8.3.1.jar:?]
    at org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:399) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:391) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.control.GenericController.next(GenericController.java:160) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.control.LoopController.next(LoopController.java:134) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:99) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:266) ~[ApacheJMeter_core.jar:5.5]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]```


  [1]: https://jmeter-plugins.org/wiki/WebDriverSampler/
  [2]: https://i.sstatic.net/3ovXY.png
  [3]: https://i.sstatic.net/Qmso4.png

Solution

  • Add --remote-allow-origins=* line in the Chrome Driver Config

    enter image description here

    Also looking at 4.7.2 selenium version I don't think you have the latest version of the WebDriver Sampler plugin as the latest WebDriver Sampler 4.8.3.1 comes with Selenium 4.8.3 so consider upgrading or even reinstalling using JMeter Plugins Manager