images icon indicating copy to clipboard operation
images copied to clipboard

Firefox below 23 won't start

Open konflic opened this issue 4 years ago • 7 comments

I follow the browser update instructions.

  1. Pull image for example selenoid/vnc:firefox_10.0
  2. Reload selenoid
  3. Try to create manual session from selenoid-ui

/session request gives me Location: http://localhost/wd/hub/session/ But the request to this url fails.

Logs for firefox container:

`--- x11vnc loop: 1 --- Jun 02, 2020 7:41:53 PM org.openqa.grid.selenium.GridLauncher main INFO: Launching a standalone server 19:41:53.792 INFO - Java: Oracle Corporation 25.151-b12 19:41:53.795 INFO - OS: Linux 4.19.76-linuxkit amd64 19:41:53.805 INFO - v2.32.0, with Core v2.32.0. Built from revision 6c40c18 19:41:53.923 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 19:41:53.925 INFO - Version Jetty/5.1.x 19:41:53.927 INFO - Started HttpContext[/selenium-server,/selenium-server] 19:41:53.961 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@2cfb4a64 19:41:53.961 INFO - Started HttpContext[/wd,/wd] 19:41:53.962 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 19:41:53.962 INFO - Started HttpContext[/,/] 19:41:53.968 INFO - Started SocketListener on 0.0.0.0:4444 19:41:53.968 INFO - Started org.openqa.jetty.jetty.Server@37f8bb67 --- x11vnc loop: waiting for: 55

PORT=5900 19:41:54.220 WARN - Fatal, unhandled exception: null: java.lang.IllegalArgumentException: Unknown method: HEAD 19:41:54.221 INFO - WebDriver remote server: Fatal, unhandled exception: null: org.openqa.selenium.WebDriverException: java.lang.IllegalArgumentException: Unknown method: HEAD Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:22:56' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_151' Driver info: driver.version: unknown 19:41:54.221 WARN - EXCEPTION javax.servlet.ServletException: org.openqa.selenium.WebDriverException: java.lang.IllegalArgumentException: Unknown method: HEAD Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:22:56' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_151' Driver info: driver.version: unknown at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:206) at org.openqa.selenium.remote.server.DriverServlet.doGet(DriverServlet.java:158) at javax.servlet.http.HttpServlet.doHead(HttpServlet.java:281) at javax.servlet.http.HttpServlet.service(HttpServlet.java:724) at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:139) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677) at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479) at org.openqa.jetty.http.HttpServer.service(HttpServer.java:914) at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243) at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357) at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534) Caused by: org.openqa.selenium.WebDriverException: java.lang.IllegalArgumentException: Unknown method: HEAD Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:22:56' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_151' Driver info: driver.version: unknown at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(JsonHttpRemoteConfig.java:199) at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:201) ... 17 more Caused by: java.lang.IllegalArgumentException: Unknown method: HEAD at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.getUrlMapper(JsonHttpRemoteConfig.java:211) at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(JsonHttpRemoteConfig.java:180) ... 18 more 19:41:54.223 ERROR - /wd/hub: org.openqa.selenium.WebDriverException: java.lang.IllegalArgumentException: Unknown method: HEAD Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:22:56' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_151' Driver info: driver.version: unknown at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(JsonHttpRemoteConfig.java:199) at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:201) at org.openqa.selenium.remote.server.DriverServlet.doGet(DriverServlet.java:158) at javax.servlet.http.HttpServlet.doHead(HttpServlet.java:281) at javax.servlet.http.HttpServlet.service(HttpServlet.java:724) at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:139) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677) at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479) at org.openqa.jetty.http.HttpServer.service(HttpServer.java:914) at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243) at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357) at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534) Caused by: java.lang.IllegalArgumentException: Unknown method: HEAD at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.getUrlMapper(JsonHttpRemoteConfig.java:211) at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(JsonHttpRemoteConfig.java:180) ... 18 more 19:41:54.237 INFO - Executing: [new session: {enableVNC=true, name=Manual session, browserName=firefox, sessionTimeout=60m, version=10.0, labels={manual=true}}] at URL: /session) 19:41:55.597 INFO - Done: /session`

konflic avatar Jun 02 '20 20:06 konflic

@konflic what is your Selenium client version? According to this table https://aerokube.com/selenoid/latest/#_firefox_2 such old versions will only work with Java client.

vania-pooh avatar Jun 03 '20 07:06 vania-pooh

@konflic what is your Selenium client version? According to this table https://aerokube.com/selenoid/latest/#_firefox_2 such old versions will only work with Java client.

Hi, thanks for your quick reply. I'm using docker containers and never install something additionaly. If I get you correctly those images (below 23) won't work without some additional configuration? My guess was that everything is already inside the image like with other ff versions.

konflic avatar Jun 03 '20 08:06 konflic

@konflic the problem is in your Selenium client library compatibility with such old images. In such old Firefox versions Selenium was using completely different session initialization logic and so not all client libraries used in tests are able to deal with such old protocol. According to our tests only Java client is able to do this.

vania-pooh avatar Jun 03 '20 09:06 vania-pooh

@konflic the problem is in your Selenium client library compatibility with such old images. In such old Firefox versions Selenium was using completely different session initialization logic and so not all client libraries used in tests are able to deal with such old protocol. According to our tests only Java client is able to do this.

I did not try to run any tests with this, I was trying to start a manual session with vnc from selenoid-ui. That should not be possible either?

konflic avatar Jun 03 '20 09:06 konflic

@konflic I think currently this will not work as client library used there is too new.

vania-pooh avatar Jun 03 '20 12:06 vania-pooh

I see, so this is a valid issue or wont be fixed? Not the way I strongly need to use ff below 23, just for finalization.

konflic avatar Jun 03 '20 13:06 konflic

@konflic I would say won't fix has more chances.

vania-pooh avatar Jun 03 '20 14:06 vania-pooh