Selenium WebDriver and Automation Framework Introduction

Selenium WebDriver API helps us to automate browser-based applications

So why one should go for selenium web driver to automate their web application testing?

  1. Selenium is Free
  2. Support multiple languages like C#, java etc
  3. Huge community
  4. easy to use


Well that's just good part, can you tell me limitations if any

  1. Only works for browser
  2. Element identification can be a pain for some applications
  3. Sometimes some things will not work the way it is and you need to hack a bit (This is very rare and completely depends on web application one is testing)

To know more about selenium web driver refer to the official documentation

Automation Framework

When we start automating the web application and start adding more and more scripts, we start to realize that we are repeating a lot of stuff and not reusing code, as our motive is to just automate the script.

Sooner we fell that all the heavy lifting code which we have in our test cases should be moved to some common component and wait there are many more things which come to our mind

What about the maintainance of tests?
How can I reuse the code?
How easily can a new team member add tests?

A good automation framework in place can take care of the above points

So whats an automation framework?
Automation framework is a program that helps to manage your testing activities

As discussed earlier, all the heavy lifting logic goes into the framework and tests are so simple that anyone can understand and contribute to the project.

In this part of the learning path, we are going to apply whatever we have learned so far and we will build an automation framework from scratch

Below is the simple architecture of automation framework




Here each layer interacts with the layer below it, that's is in our tests we are not going to refer selenium commands directly.
Tests will talk to the framework which in turns talks with a tool that is selenium in our case.

This way tests will look simpler and easy to extend.

In the next lecture, we will spend some time understanding some selenium commands and then we will start with framework development


Comments

Popular posts from this blog

Specflow -Part3(Working with tables using Specflow.Assist.Dynamic)

Specflow -Part4(Specflow Scenario Outline and Feature Background )

Specflow -Part6(Specflow Hooks)