Selenium.Firefox.WebDriver

Repurposed nuget package of Selenium.WebDriver.ChromeDriver but for Firefox Driver instead Install Firefox Driver(Win64) Marionette for Selenium WebDriver into your Unit Test Project. "geckodriver.exe" is copied to bin folder from package folder when the build process. NuGet package restoring ready, and no need to commit "geckodriver.exe" binary into source code control repository.


Keywords
Firefox, Selenium, WebDriver
License
Unlicense
Install
Install-Package Selenium.Firefox.WebDriver -Version 0.19.1

Documentation

NuGet packages for WebDriver - Chrome, Firefox, Internet Explorer, PhantomJS

This is a repurposed repo of nupkg-selenium-webdriver-chromedriver by jsakamoto that handles downloading Chrome, Firefox, Internet Explorer WebDrivers, and PhantomJS instead

Chrome: NuGet Package

Firefox: NuGet Package

InternetExplorer: NuGet Package

PhantomJS: NuGet Package

These NuGet packages will download Selenium WebDrivers (Chrome, Firefox, Internet Explorer, and PhantomJS) into your Unit Test Project. Each WebDriver binary file does not appear in Solution Explorer, but it is copied to bin folder from package folder when the build process. NuGet package restoring ready, and no need to commit any WebDriver binary files into source code control repository.

How to install?

For example, at the package manager console on Visual Studio, enter following command to install ChromeDriver

PM> Install-Package Selenium.Chrome.WebDriver

For Firefox WebDriver (Marionette)

PM> Install-Package Selenium.Firefox.WebDriver

For Internet Explorer Driver 32bit

PM> Install-Package Selenium.InternetExplorer.WebDriver

For PhantomJS (Windows)

PM> Install-Package Selenium.PhantomJS.WebDriver

Detail

Where is each WebDriver binary file saved to?

Each WebDriver will be downloaded to their respective nuget package location:

{solution folder}/packages/Selenium.{browser}.WebDriver. {ver} /driver

{Solution folder}/
|-- packages/
    |-- Selenium.Chrome.WebDriver.{version}/
        |-- driver/
            |-- chromedriver.exe
    |-- Selenium.Firefox.WebDriver.{version}/
        |-- driver/
            |-- geckodriver.exe
    |-- Selenium.InternetExplorer.WebDriver.{version}/
        |-- driver/
            |-- IEDriverServer.exe
    |-- Selenium.PhantomJS.WebDriver.{version}/
        |-- driver/
            |-- phantomjs.exe

{project folder}/
|-- bin/
    |-- {buildconfiguration}/ (each of these driver exe files are copied from above by build process)
        |-- chromedriver.exe
        |-- geckodriver.exe
        |-- IEDriverServer.exe
        |-- phantomjs.exe

And package installer configure msbuild task such as .csproj to copy each WebDriver binary file into output folder during build process.

How to build each nuget package?

You will need to execute the BuildPackage.bat file with the following input parameters:

  • Browser {Chrome, Firefox, IE, PhantomJS}
  • Version
  • (OPTIONAL) Binary File Bit Version 32 or 64 (defaults to 32bit)

Usage Examples

BuildPackage.bat {browser} {version} {OPTIONAL|bitversion}

For creating nuget package for ChromeDriver version 2.25:

> BuildPackage.bat Chrome 2.25

For creating nuget package for Firefox (Marionette) Driver version 0.11.1:

> BuildPackage.bat Firefox 0.11.1

For creating nuget package for Internet Explorer Driver version 2.48:

> BuildPackage.bat IE 2.48

For creating nuget package for Internet Explorer Driver version 3.8.0 64bit version:

> BuildPackage.bat IE 3.8.0 64

For creating nuget package for PhantomJS version 2.1.1:

> BuildPackage.bat Phantomjs 2.1.1