Amar HR
Amar HR

Reputation: 161

How to instantiate InternetExplorerDriver with Selenium WebDriver using C#

new InternetExplorerDriver();

But I could see exception as below:

OpenQA.Selenium.DriverServiceNotFoundException was unhandled by user code
  HResult=-2146233088
  Message=The IEDriverServer.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at http://code.google.com/p/selenium/downloads/list.
  Source=WebDriver
  StackTrace:
       at OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl)
       at OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService()
       at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(InternetExplorerOptions options)
       at OpenQA.Selenium.IE.InternetExplorerDriver..ctor()
       at Accelrys.CommonTestFramework.WebActions.WebActionLibrary.CreateSeleniumDriver()

Upvotes: 9

Views: 21507

Answers (5)

ono2012
ono2012

Reputation: 5257

You can pass in the path to the IEDriverServer in an overload of the constructor

namespace OpenQA.Selenium.IE
    //
    // Summary:
    //     Initializes a new instance of the OpenQA.Selenium.IE.InternetExplorerDriver class
    //     using the specified path to the directory containing IEDriverServer.exe.
    //
    // Parameters:
    //   internetExplorerDriverServerDirectory:
    //     The full path to the directory containing IEDriverServer.exe.
    public InternetExplorerDriver(string internetExplorerDriverServerDirectory);

so

new InternetExplorerDriver("..\.."); // if it was two folders up

Upvotes: 0

cederlof
cederlof

Reputation: 7383

The .NET bindings don't scan the %PATH% environment variable for the executable.

https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE

Hence, it does not work to put IEDriverServer in the %PATH% for .NET.

Use the unofficial NuGet version with the IE-driver bundled (it is put in the Packages-dir and referenced from the test-project), or bundle it yourself with the project, and mark the exe as Copy if newer under preferences. Then add the relative path into the constructor of InternetExplorerDriver.

Upvotes: 2

HemChe
HemChe

Reputation: 2337

Add these lines to your code before creating the object.

   System.setProperty("webdriver.ie.driver", 
        "E:\\path where your IEDriverServer is located\\IEDriverServer.exe");

You can download IEDriverServer.exe file from here.

As you are using C# you can use the below code.

private const string IE_DRIVER_PATH = @"C:\PathTo\IEDriverServer";
var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);

Upvotes: 9

Peter Bernier
Peter Bernier

Reputation: 8058

You need to install IEDriverServer and make it part of your project.

This Post contains the download link and some additional information on making it part of your project.

Upvotes: 4

abhinav
abhinav

Reputation: 1282

As the exception says, you need to download IEDriverServer either 32 or 64 bit depending on IE you have and make sure it is available in our path. That is when you type IEDriverServer.exe on command line it should be resolved. Try that

Upvotes: 7

Related Questions