Selenium WebDriver Using Chrome WebDriver in Visual Studio C#

Automation Testing Published on:
Selenium C#

Configuring Selenium 2.0 with Chrome to work in Visual Studio

In a previous post/video I showed how to get started using Selenium WebDriver for IE in Visual Studio using Selenium ChromeDriver.

Since then I've received a few questions on how to do the same with Selenium Web Driver and Chrome in Visual Studio. Rather than answer each one individually, I thought it would be better to frame my replay in the form of a quick post.

Also, I know I wrote this 7 years ago but it still works! I also modified some of the locations of the selenium driver info.

Today in this post we are going to check out how to configure Selenium 2.0 WebDriver to work with Visual Studio and Google Chrome.

Selenium 4 Master Class Cover

First Download the Selenium C# Client Drivers

    • The first thing we want to do is download the C# DLLs from Selenium's web site:

https://www.selenium.dev/downloads/

Selenium C# Download

    • You also need to download the chromedriver from:

https://sites.google.com/a/chromium.org/chromedriver/

Chrome DriverOnce you've downloaded the required Selenium files extract the zips to a local drive on your computer.

Configure Visual Studio to work with Selenium

Install Dependencies in Project Way

The first way is to include all the dependencies in your project:

  • Launch Visual Studio and start a new project
  • Select ‘Console Application' and name your project mySelenium


  • In your project select Project>Add References from the tool bar and browser to the location where you extracting the DLLs to. Make sure that you select the correct version of .NET that you will be using:


  • Select all the DLLs and click ok

Install Using NuGet

The easiest way is to just use .NET's NuGet package management in Visual Studio.

  • Right-click on your project and select “Manage NuGet Packages”
  • In the Manage NuGet Packages Search type Selenium
  • Click on the Selenium.WebDriver option and select the “Add Packages” button
  • Add NuGet Selenium to Visual Studio
  • This will automatically add all the Selenium dependencies to your project

Time to Code Some Selenium C# Test Scripts!

Cool – now that we have the Selenium DLLs referenced in our project it time to test the configuration by running a quick test.

1. At the top of your project code after the last ‘using' namespace add the following Selenium namespaces:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;

2. Add the following code in your static void main section:

//!Make sure to add the path to where you extracting the chromedriver.exe:
IWebDriver  driver = new ChromeDriver(@"D:\Download\chromedriver"); //<-Add your path
driver.Navigate().GoToUrl("https://testguild.com/HpSupport.html");

Note: You could also create an environment variable named webdriver.chrome.driver on your machine that's value is the path to where the local chromedriver.exe is located. If you set up a webdriver.chrome.driver variable you would not have to pass the chrome driver argument when you create a ChromeDriver instance.

NOTE: (For Mac Users) If you are installing on a Mac you can add the ChromeDriver to your /user/local/bin. Open you your terminal and type sudo nano /ect/paths . At the end of the file add /usr/local/bin and save.  Go to your system properties and make sure that you allow apps downloads for chromedrive under your Security & Privacy Settings.

Your code if your using a hardcoded path for the chrome driver should look like this:


If install the chrome driver to your PATH your code should look like this

Chrome Driver Path Code

3. Run the test – Google Chrome should start and bring up https://testguild.com/HpSupport.html


Using Chrome Developer Tools When Creating Automated Selenium Tests

If you are going to be scripting against Chrome you should check out the built-in Developer tools (Ctrl+Shift+I). For those familiar with QTP this is like QTP's spy feature.

1. In Google Chrome go to Tools>Developer tools

2. Using the Chrome magnifying glass icon feature allows you to spy on an element's attributes. You then use these attribute in your Selenium code to help identify fields in your web application.


3. For example, if we want to navigate to www.joecolantonio.com/HpSupport.html and select a value from the ‘Select your tool & Version' you would point the magnifying glass to the ‘Select your tool & version” field to get its attributes:


4. Now that we know what the id is we can use that to help Selenium interact with it. For example:

IWebDriver  driver = new ChromeDriver(@"D:\Download\chromedriver");
driver.Navigate().GoToUrl("https://testguild.com/HpSupport.html");
IWebElement myField = driver.FindElement(By.Id("tools"));      
myField.SendKeys("QTP10");

5. Run the test – it should start Chrome, navigate to http://www.joecolantonio/HPSupport.Html and select QTP10 from the Select your tool & version.

Good Luck and happy Selenium scripting to you!

For more .NET Csharp based Selenium test automation awesomeness check out the following TestGuild podcast.

In this episode, Nikolay Advolodkin, founder of UltimateQA and the #1 Selenium WebDriver instructor in the world as rated by Udemy.com, shares with you some Selenium C# tips, tricks and more from his popular video courses on test automation.

Karthik K.K., founder of ExecuteAutomation shares some of his thoughts on why C# might be the perfect language for your next automation testing project:
Selenium C#