Skip to main content

Getting Started with Selenium



Getting environment ready:

Before we can start writing scripts with selenium lets just see how to get the environment ready for this. I hope that you are already having visual studio installed on your system.

Instead of just starting basic things with console program, we will be creating an environment which can later be used to build framework and write tests, otherwise we have to setup the environment again later when we start building framework.

So, here it goes...
  • Open visual studio
  • Select File->New->Project as shown below:

  • From new project window, Select visual c# then
  • Select Class Library
  • Enter name, select location and click ok as shown below:



  • Now in solution explorer, under your added project, right click on References
  • Select Manage NuGet Packages...option from window as shown below:

  • From NuGet window install Selenium.WebDriver and Selenium.Support packages as shown below:




  •  Now, add another project i.e. a unit test project in this solution. Right click on the solution on right window and then select "Add->New project" from context window. This is the place where we will write tests. See the screenshot below:

  • Your solution will be having now two projects, one for building framework and other for writing tests. It will look like as below:

  • In UITests project add reference for TestFramework so that it can access required things from TestFramework. It can be done as explained below:
    • Right click on References in UITests
    • Select "Add reference.."
    • Select Projects->Solution in dialog
    • Select TestFramework checkbox and click ok



That's it. your environment is ready for writing tests and framework.


In this post we learnt about getting our development environment ready for creating automation framework. Now, in next post we will create a "Hello Selenium" test to check whether our environment is correctly configured.


Thanks for reading this post. See you in next post. Cya!





Comments

Popular posts from this blog

"Hello Selenium"

Now, as we have already setup the required environment, let's just start with a hello world test with selenium. In this let's just write a basic test to make sure that our environment is working properly. For this hello selenium test we will be automating below test: Navigate to " https:// www.google.com  " Write "Hello selenium" in search box Press search button Below are the code snippets: Test class UnitTest1 containing required test. Here in this class, at the top I have used two statements i.e.     using Microsoft.VisualStudio.TestTools.UnitTesting;     using TestFramework; First using statement is required in for writing unit tests and second using statement is required so that we can access methods from class under TestFramework namespace. There is [TestClass] attribute used with this class. This is required so that tests written in this class can be recognized. If you miss this attribute then your tests are not going ...

SELENIUM: Using Nested Classes

In this post I will be using nested class pattern to make few things easier. e.g. If you see in our test application there is a navigation bar on left side containing various menus i.e. Posts, Pages etc. Further each main menu contains sub-menu e.g. Posts menu contains sub-menues as "All Posts", "Add New", "Categories" and "Tags". In this type of situations, it is good to use nested classes to make things more readable and easy to use. E.g. Suppose I want to access "All Posts" navigation then I would want this to be done like this. " LeftNavigation.Posts.AllPosts.Select(); " i.e. I would want that there would be a class called "LeftNavigation" and when I press '.' (dot) it shows all the main menues in this navigation e.g. "All Posts", "Pages" etc. then I choose " LeftNavigation.Posts " and again when press '.' it shows all the sub-menues inside this Posts menu...

SELENIUM: Adding Next Test With Proper Test Structure-1

As I mentioned in my previous post that now its time to refactor our tests a little bit so that each test is written with proper test structure as required. After refactoring tests we will add one more test to our framework with proper test structure. So, lets do it now. Refactoring tests Till now we have added two tests to our framework i.e.         And Let's refactor these tests first before adding more tests to this framework.  In each method let's log some message so that we come to know how the execution was done. # AssemblyInitialize method:     In this method let's put code to initialize the log so that it can be used throughout the assembly. Before moving to next method let's talk about other refactoring made in this test project. #1: All static classes are made non-static so that we can created instances of page objects instead of directly using them. So, now on we cannot use class directly. Instead we will...