Skip to main content

How to automate testing using Selenium and C#

Hi All,

today I’m going to explain about Selenium which is a open source automation tool and how to utilize it with C#. As you know automation tools save our time in terms of testing a software product. If we are doing some regression testings automation tools doing a great job in terms of saving the time.
So I’m going to explain a very simple example for using Selenium from C#.
We can divide selenium as two entities. One is Selenium IDE as a web browser extension. And the other one is Selenium Web Driver. So I’m going to talk about the selenium web driver which is using for web based testings from C# code. Basically Selenium Web driver will open the browser and doing the actions as we instructing in the C#code.
Firstly you need to install visual studio. For my case I have installed visual studio community version which is a free version of Microsoft.
Then you need to create a project by navigating to File -> New -> Project. And give a name for the project and click ok.
1
Now go to the Solution Explorer and right click on References and click on “Manage Nuget Packages…” as below.
2
Next step will be adding Selenium references in to the project. So what you need to do is search “Selenium” in the Browse tab as below.
3
Here you need to install below packages. I will focus for Chrome browser for this example but you can choose Firefox if you need to open your application in Firefox.
  • Selenium.WebDriver
  • Selenium.Support
  • Selenium.Chrome.WebDriver
After you installed above packages you can see below screen.
4
Now you have setup all the Selenium web driver in to your project. So what you need to do now is add some code to automate your browser based application. Here I will show you how to open the chrome web browser and search some content on it.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Chrome;
namespace SeleniumAutomation
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
using (var driver = new ChromeDriver())
{
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl("http://www.google.com");
var searchBox = driver.FindElementById("lst-ib");
searchBox.SendKeys("Automation using selenium");
var searchButton = driver.FindElementByName("btnK");
searchButton.Submit();
var searchResults = driver.FindElementById("resultStats");
}
}
}
}
Initially I’m maximizing the browser by using below code block.
driver.Manage().Window.Maximize();
Then I’m navigating to the “Google” homepage
driver.Navigate().GoToUrl(“http://www.google.com”);
Find the search text box by using the id on the homepage.
var searchBox = driver.FindElementById(“lst-ib”);
Enter the text as “Automation using selenium” in the textbox
searchBox.SendKeys(“Automation using selenium”);
Find the search button by using the name on the homepage
var searchButton = driver.FindElementByName(“btnK”);
Click “Submit” to start the search
searchButton.Submit();
This is a very basic example of doing automation from Selenium Web Driver with C#. You can explore more on this official site.
Thanks,
Prasad

Comments

Popular posts from this blog

How to connect Salesforce with .NET console application using SOAP api

This article mainly focusing on the basics about the integration with Salesforce and .NET console application via Salesforce SOAP api. So I would prefer to start it form Salesforce. :) . And I think it would be easy if I continuing with Steps so the viewers can go through the steps easily. 1st Step : Navigating to Enterprise WSDL from Salesforce. You will be able to generate WSDL in Salesforce by Navigating to Setup -> Integrations -> API.  Here you will be able to see different apis which will be generating for different purposes. In order to do this you need to log in as an system administrator or as a user who has the “Modify All Data” permission. You will be able to see below APis. Enterprise WSDL Partner WSDL Apex WSDL Metadata WSDL Tooling WSDL Generate Tooling WSDL Delegated Authentication WSDL Client Certificate Enterprise Package Version Settings Partner Package Version Settings We are focusing Enterprise WDSL in order to integrate with .NET and you want t...

Exploring the Marvels of Salesforce Marketing Cloud: Unleashing the Power of Marketing Automations

Salesforce Marketing Cloud is a comprehensive marketing automation platform offered by Salesforce, a leading customer relationship management (CRM) company. It is designed to help businesses manage and optimize their marketing efforts across various channels and touchpoints. The platform enables organizations to create, execute, and analyze marketing campaigns to engage with their target audiences more effectively and drive better results. Key features and capabilities of Salesforce Marketing Cloud include: Email Marketing: Users can create and send personalized email campaigns to segmented audiences, track email performance metrics, and automate email workflows to nurture leads and build customer relationships. Journey Builder: This tool allows marketers to design and automate customer journeys across multiple channels such as email, mobile, social media, and advertising. It helps create personalized experiences based on customer behavior and interactions. Social Media Marketing: Sale...