UI testing using Selenium: The IEDriverServer.exe file does not exist in the current directory or in a directory on the PATH environment variable
In my continuing conquest to find the best tool for UI testing, I also had a look at Selenium, one of the oldest and most well known browser automation frameworks.
I started simple by creating a new Test project, adding references to Selenium through NuGet, and writing a small test(based on a sample on their website):
Unfortunately when I ran the test, it failed with the following error message:
Initialization method OLASeleniumTestProject.UnitTest1.Setup threw exception. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException: 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..
Result StackTrace:
at OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl)
at OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService()
at OpenQA.Selenium.IE.InternetExplorerDriver..ctor()
at SeleniumTestProject.UnitTest1.Setup() in c:\Projects\Test\SeleniumTestProject\SeleniumTestProject\UnitTest1.cs:line 18
It seems like that just installing the NuGet packages isn’t enough. Behind the scenes Selenium is using a driver executable depending on the browser you want to test on.
To solve the issue, I had to execute 2 steps:
- Step 1: Download and unpack the correct driver on your system. I am using a 32bit Internet Explorer so I downloaded the related driver. I unpacked it in the same folders as my tests.
- Step 2: I changed my code to tell Selenium where it can find the correct driver:
That’s it!