Unable to launch Edge Remote Webdriver

140 views
Skip to first unread message

Kai Lehmann

unread,
Aug 22, 2022, 6:25:56 AM8/22/22
to jmeter-plugins
While I hav no problems to use the "jp@gc - Remote Driver Config" with remote Selenium grids for Chroms and Firefox the "INTERNET_EXPLORER" capability is not able to launch sessions with Seleniums Edge grid images, e.g. 

docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge

Is this because the "INTERNET_EXPLORER" capability is in fact not useable for Edge - so no support for Edge? My error log:

2022-08-22 12:14:47,807 ERROR o.a.j.t.JMeterThread: Error calling threadStarted
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'LAPTOP-KAI', ip: '10.20.0.7', os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '18.0.2'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:569) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:143) ~[selenium-remote-driver-3.14.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.RemoteDriverConfig.createBrowser(RemoteDriverConfig.java:31) ~[jmeter-plugins-webdriver-3.3.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.RemoteDriverConfig.createBrowser(RemoteDriverConfig.java:12) ~[jmeter-plugins-webdriver-3.3.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:234) ~[jmeter-plugins-webdriver-3.3.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:221) ~[jmeter-plugins-webdriver-3.3.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) ~[?:?]
Caused by: java.net.ConnectException: Failed to connect to /127.0.0.1:4444
at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:242) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:160) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) ~[okhttp-3.10.0.jar:?]
at okhttp3.RealCall.execute(RealCall.java:77) ~[okhttp-3.10.0.jar:?]
at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:105) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548) ~[selenium-remote-driver-3.14.0.jar:?]
... 14 more
Caused by: java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:539) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:594) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at okhttp3.internal.platform.Platform.connectSocket(Platform.java:129) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:240) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:160) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[okhttp-3.10.0.jar:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[okhttp-3.10.0.jar:?]
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) ~[okhttp-3.10.0.jar:?]
at okhttp3.RealCall.execute(RealCall.java:77) ~[okhttp-3.10.0.jar:?]
at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:105) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) ~[selenium-remote-driver-3.14.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548) ~[selenium-remote-driver-3.14.0.jar:?]
... 14 more

Liliane et Robert Bourgault du Coudray

unread,
Aug 22, 2022, 9:14:18 AM8/22/22
to jmeter-...@googlegroups.com
Did you install the Edge driver on your machine:
Microsoft Edge WebDriver - Microsoft Edge Developer
and set the path to this driver in the settings of the IE Driver Config > Internet Explorer tab?
I have tried and it launched Edge. 

--
You received this message because you are subscribed to the Google Groups "jmeter-plugins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jmeter-plugin...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jmeter-plugins/3720900a-f020-437e-9ec3-4f98790f1b93n%40googlegroups.com.

Kai Lehmann

unread,
Aug 24, 2022, 2:27:01 AM8/24/22
to jmeter-plugins
No, as written above I am not using the local browser but the remote selenoium grid version with "jp@gc - Remote Driver Config" and the selenium grid image "selenium/standalone-edge". For Chrome and Firefox I have no issues with the remote grid image....

Kai Lehmann

unread,
Aug 25, 2022, 4:51:39 AM8/25/22
to jmeter-plugins
Reviewing the source code for remote webdriver config one can see that for INTERNET_EXPLORER no extra capabilities are set (this only happens for Chrome and Firefox): https://github.com/undera/jmeter-plugins-webdriver/blob/master/src/main/java/com/googlecode/jmeter/plugins/webdriver/config/RemoteDesiredCapabilitiesFactory.java
This successfully bugfix here, however, describes that extra capabilities must be set for INTERNET_EXPLORER in order to work properly: https://github.com/webdriverextensions/webdriverextensions/issues/88.
Can you confirm that and pissibly fix this in the JMeter plugins code? And again, would the same config work for Edge also or is it limited to the already deprecated Internet Explorer?

Liliane et Robert Bourgault du Coudray

unread,
Dec 21, 2022, 1:39:47 AM12/21/22
to jmeter-...@googlegroups.com
Hi Kai,

Support for Edge browser has now been implemented in jmeter-plugins-webdriver, version: 4.7.2.
You will now be able to launch an instance of Edge either locally or remotely as for the other browsers (Chrome, Firefox & IE), provided you have installed the latest drivers on the machines as per instructions at undera/jmeter-plugins-webdriver: WebDriver Components for Apache JMeter (github.com).

Also please note that if you select IE, the system will now in fact launch an instance of Edge, but in "IE mode" and not IE itself given that IE is now deprecated.

Thank you for your patience and happy testing!

Robert


Reply all
Reply to author
Forward
0 new messages