In an attempt to utilize Selenium WebDriver with Firefox, users have encountered an error indicative of a connectivity failure between the browser and WebDriver. The affected users report the following specifications:
It is worth noting that Selenium WebDriver 2.53.0 is incompatible with Firefox 47.0. This is because the FirefoxDriver component used to manage Firefox browsers is being discontinued. Hence, to use Firefox 47.0 with Selenium WebDriver 2.53.0, the Firefox driver (geckodriver) must be downloaded and its absolute path exported to a Java system property.
Alternative Solutions:
Alternatively, you can use a library like WebDriverManager to automate the download process and export the system property. To do this, include the following dependency in your project:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.1.0</version> </dependency>
Add this line before using WebDriver in your program:
WebDriverManager.firefoxdriver().setup();
Example Test Case:
A sample JUnit 4 test case using WebDriver could appear as follows:
public class FirefoxTest { protected WebDriver driver; @BeforeClass public static void setupClass() { WebDriverManager.firefoxdriver().setup(); } @Before public void setupTest() { driver = new FirefoxDriver(); } @After public void teardown() { if (driver != null) { driver.quit(); } } @Test public void test() { // Your test code here } }
While Marionette will be the primary option for future versions, it is important to be aware of its current lack of stability. Refer to the Marionette roadmap for more information.
Update:
Selenium WebDriver 2.53.1 was released on June 30th, 2016, resolving this compatibility issue. FirefoxDriver now works with Firefox 47.0.1 as a supported browser.
The above is the detailed content of How to Resolve Compatibility Issues between Selenium 2.53 and Firefox 47?. For more information, please follow other related articles on the PHP Chinese website!