MarkusBernhardt / robotframework-selenium2library-java

Java port of the Selenium 2 (WebDriver) Python library for Robot Framework
Apache License 2.0
46 stars 48 forks source link

Incompatibility with Firefox 45 #82

Open mbenard opened 8 years ago

mbenard commented 8 years ago

The current library (1.4.0.8) is not compatible with Firefox 45

An update would be most appreciated.

roikonen commented 8 years ago

I am having (maybe) the same issue. Works on Firefox 43 but not on 45 anymore.

Example With 45 of greater when I run keyword: Open Browser 'http://google.com' FireFox

What happens is that on 43 Firefox browser opens and goes to google.com but on 45 or higher the browser opens but stays on the default opening page, so not going to google.com anymore.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: tor":"Canonical Ltd.","homepageURL":null},{"locales":["pl"],"name":"Ubuntu Modifications","description":"Pakiet Ubuntu Firefox.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["pt-BR"],"name":"Ubuntu Modifications","description":"Pacote para o Firefox do Ubuntu","creator":"Canonical Ltd.","homepageURL":null},{"locales":["pt-PT"],"name":"Ubuntu Modifications","description":"Pacote Ubuntu Firefox","creator":"Canonical Ltd.","homepageURL":null},{"locales":["ro"],"name":"Ubuntu Modifications","description":"Pachetul Ubuntu Firefox.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["ru"],"name":"Ubuntu Modifications","description":"Расширения Firefox для Ubuntu","creator":"Canonical Ltd.","homepageURL":null},{"locales":["sl"],"name":"Ubuntu Modifications","description":"Ubuntu razširitve za Firefox.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["sv-SE"],"name":"Ubuntu Modifications","description":"Ubuntu-paket för Firefox.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["uk"],"name":"Ubuntu Modifications","description":"Убунтівські доповнення до Firefox.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["zh-CN"],"name":"Ubuntu Modifications","description":"Ubuntu 火狐扩展包.","creator":"Canonical Ltd.","homepageURL":null},{"locales":["zh-TW"],"name":"Ubuntu Modifications","description":"Ubuntu Firefox 擴充包。","creator":"Canonical Ltd.","homepageURL":null}],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"9.0","maxVersion":"37.0a1"}],"targetPlatforms":[],"multiprocessCompatible":false,"signedState":-1,"seen":true}

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:123) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:117) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:128) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.createLocalWebDriver(BrowserManagement.java:1372) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.createWebDriver(BrowserManagement.java:1361) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.openBrowser(BrowserManagement.java:393) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.openBrowser(BrowserManagement.java:211) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.openBrowser(BrowserManagement.java:206) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.openBrowser(BrowserManagement.java:201) at com.github.markusbernhardt.selenium2library.keywords.BrowserManagement.openBrowser(BrowserManagement.java:196) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.robotframework.javalib.reflection.KeywordInvoker.invoke(KeywordInvoker.java:50) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$1.execute(AnnotationKeywordExtractor.java:62) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$2.execute(AnnotationKeywordExtractor.java:84) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$2.execute(AnnotationKeywordExtractor.java:86) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$2.execute(AnnotationKeywordExtractor.java:86) at org.robotframework.javalib.beans.annotation.AnnotationKeywordExtractor$2.execute(AnnotationKeywordExtractor.java:86) at org.robotframework.javalib.library.KeywordFactoryBasedLibrary.runKeyword(KeywordFactoryBasedLibrary.java:37) at org.robotframework.javalib.library.AnnotationLibrary.runKeyword(AnnotationLibrary.java:128) at com.github.markusbernhardt.selenium2library.Selenium2Library.runKeyword(Selenium2Library.java:499) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) at org.python.core.PyObject.__call__(PyObject.java:496) at org.python.core.PyObject.__call__(PyObject.java:500) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.handlers$py.handler$34(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/handlers.py:180) at robot.running.handlers$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/handlers.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyFunction.function___call__(PyFunction.java:471) at org.python.core.PyFunction.__call__(PyFunction.java:466) at org.python.core.PyFunction.__call__(PyFunction.java:461) at org.python.core.PyObject._callextra(PyObject.java:601) at robot.running.librarykeywordrunner$py.f$13(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py:88) at robot.running.librarykeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:124) at org.python.core.PyFunction.__call__(PyFunction.java:403) at robot.running.librarykeywordrunner$py._run_with_signal_monitoring$16(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py:102) at robot.running.librarykeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.librarykeywordrunner$py._run_with_output_captured_and_signal_monitor$15(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py:95) at robot.running.librarykeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.librarykeywordrunner$py._run$8(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py:76) at robot.running.librarykeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.librarykeywordrunner$py.run$6(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py:55) at robot.running.librarykeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/librarykeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.steprunner$py.run_step$4(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py:56) at robot.running.steprunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:145) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.steprunner$py.run_steps$3(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py:46) at robot.running.steprunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.userkeywordrunner$py._execute$17(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py:152) at robot.running.userkeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.userkeywordrunner$py._run$8(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py:85) at robot.running.userkeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:188) at org.python.core.PyFunction.__call__(PyFunction.java:446) at org.python.core.PyMethod.__call__(PyMethod.java:171) at robot.running.userkeywordrunner$py.run$6(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py:54) at robot.running.userkeywordrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/userkeywordrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.running.steprunner$py.run_step$4(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py:56) at robot.running.steprunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:145) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.steprunner$py.run_steps$3(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py:46) at robot.running.steprunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/steprunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.runner$py.visit_test$7(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/runner.py:159) at robot.running.runner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/runner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.model.testcase$py.visit$7(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/testcase.py:73) at robot.model.testcase$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/testcase.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.model.itemlist$py.visit$10(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/itemlist.py:68) at robot.model.itemlist$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/itemlist.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.model.visitor$py.visit_suite$2(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/visitor.py:87) at robot.model.visitor$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/visitor.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.model.testsuite$py.visit$19(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/testsuite.py:160) at robot.model.testsuite$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/model/testsuite.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.running.model$py.run$17(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/model.py:249) at robot.running.model$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/running/model.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:145) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.run$py.main$3(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/run.py:441) at robot.run$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/run.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.PyObject._callextra(PyObject.java:601) at robot.utils.application$py._execute$10(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/utils/application.py:91) at robot.utils.application$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/utils/application.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at robot.utils.application$py.execute_cli$5(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/utils/application.py:46) at robot.utils.application$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/utils/application.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.run$py.run_cli$7(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/run.py:466) at robot.run$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/run.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:138) at org.python.core.PyFunction.__call__(PyFunction.java:413) at robot.jarrunner$py._run$3(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/jarrunner.py:63) at robot.jarrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/jarrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at robot.jarrunner$py.run$2(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/jarrunner.py:56) at robot.jarrunner$py.call_function(/Users/jmalinen/Documents/workspace/robotframework/build/Lib/robot/jarrunner.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:218) at org.python.core.PyMethod.__call__(PyMethod.java:213) at org.python.core.PyObject._jcallexc(PyObject.java:3626) at org.python.core.PyObject._jcall(PyObject.java:3658) at org.python.proxies.robot.jarrunner$JarRunner$8.run(Unknown Source) at org.robotframework.RobotRunner.run(RobotRunner.java:73) at org.robotframework.RobotFramework.run(RobotFramework.java:60) at org.robotframework.RobotFramework.main(RobotFramework.java:34)

hirsivaja commented 7 years ago

I made an update to the Selenium version. It now supports FF 45. Download from here. FF 48 and newer version don't work with the traditional FirefoxDriver that is embedded in the Selenium. For them you need to use the geckodriver that is not included in the Selenium package. The version supporting the newest FF can be found here. For this to work add the geckodriver in path (like with chromedriver).

marcmyers commented 7 years ago

@hirsivaja do you have any examples or links describing the config you're suggesting with Geckodriver? I'm fairly new to using the robotframework-maven-plugin and I'm trying to port our existing pure python/robot tests over to a java/mavenized project and I'm running into the same issue w/Firefox and have no idea how to use the gecko driver rather than the default and have been unsuccessful to find any successful examples.

hirsivaja commented 7 years ago

@marcmyers The geckodriver used as the default in the selenium 3.0. Just make sure you have upgraded everything