Why Test Automation is required:
We have many software development life cycle(SDLC) models which is end to end process of creation of a software. If we talk about traditional models like waterfall, Iteration, or V & V model, all these models are time consuming. So, maximum software companies are adopting Agile methodology. Agile methodology advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.
In short, we get many continuous builds frequently with new features and bug fixes and every time we need run old test cases to check whether old functionalities are working or not. It is time consuming and of course may delay launch of software.
Re-running of all test cases repeatedly which can be termed as “Regression testing” or “Sanity Testing”. Test automation comes in picture here. We can automate those regression suites and can run whenever we get a new build. It will save time, money, and resources.
Types of applications:
- Desktop based applications
- Web based applications
Definition of desktop based applications:
A desktop application is a computer program that runs locally on a computer device, such as desktop or laptop computer. Desktop applications have traditionally been limited by the hardware on which they are run. They must be developed for and installed on a particular operating system, and may have strict hardware requirements that must be met to ensure that they function correctly.
Definition of Web based application:
Applications which are accessed using browsers (For example: Chrome, Firefox etc.) are called as Web based applications. Some famous web based applications are Flipkart, Facebook, Gmail etc. To access these applications, we need a browser. To automate a web based application, we can use SELENIUM.
Any application will have three layers commonly. Front End, Middleware and Back End. Selenium helps in automating Front End only. I see many people asks that if we can automate API or Database using Selenium. Answer is No. Selenium can automate only FE or we can say the part of application which requires a browser.
- Selenium was created by Jason Huggins in 2004 who is an engineer at ThoughtWorks.
- Selenium automates browsers.
- Selenium is a set of different software tools each with a different approach to supporting test automation.
- Selenium is a free or open source automation testing suite which is used to automate web based applications across different browsers (Chrome, Firefox, IE, Opera etc.) and platforms (Windows, Linux, Mac etc.).
- Open source means we can see the code written in selenium and there is no fee of using this software.
- Selenium is a suite because it is not single tool. It has major 4 tools, so we are referring it as a suite. It consists of:
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Selenium Webdriver
- Selenium Grid
- Selenium 1 is referred as Selenium RC.
- In 2008, selenium RC and selenium Webdriver are merged which was named as Selenium 2.
WebDriver API was integrated with Selenium 2.0 as a new feature. WebDriver API was developed to address limitation of Selenium – RC. Unlike Selenium – RC, Selenium-WebDriver makes direct calls to the browser using each browser’s native support for automation. This is the reason we have driver class for each browser. E.g ChromeDriver, EdgeDriver etc.
Programming Languages supported by Selenium WebDriver:
Browsers supported by Selenium WebDriver:
Platforms supported by Selenium WebDriver:
- Microsoft Windows
- Apple OS X
We will focus on Selenium Webdriver more. Above is basic introduction about Selenium. From next tutorials, we will start learning selenium Webdriver gradually.
If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.