Selenium is an open, popular test automation tool, which allows us to automate web applications. It supports multiple programming languages, support multiple browsers and operating systems. Off lately it is being considered now as a test automation api instead of a complete tool because of the way it is built and used. When we are using Selenium to automate our application for its success it becomes inevitable to either use an already built framework over selenium or create one ourselves.
Need for Framework
The reason we need framework over selenium is because Selenium doesn’t come with any inherently built support for managing data, objects, logs, reports or exception handling. While automating with Selenium we need to keep a bigger picture in mind. We need to understand that a significant effort will be spent on the maintenance of the test automation scripts built using Selenium, because our application under test is ever changing. Let us see a few reasons –
- Entities like object descriptions, data should be managed outside the test scripts as they can change frequently.
- The code which is repetitive in nature should be converted into functions and we should create and maintain a function library thus introducing modularity at the code level
- We need to understand that the test automation suites will be executed in an unattended mode. So creating of effective logs is important so that in situations if we encounter an exception we are able to debug it.
- Having a framework also becomes important for active participation of business analyst and manual testers in automation activity.
Types of Framework
A good framework over design over Selenium should have a few important layers. To handle data, object information, global variables, function library, logs and reports. We can either build framework from scratch or use one of the many commercial frameworks available over selenium out there. Let us understand the different types available on selenium.
There are mainly five to six different types of framework available in selenium. The following diagram describes them –
Commercial and Free Frameworks on Selenium
There are many commercial and free frameworks available to us over Selenium, which cost us significantly less than other commercial automation tools, and allow us to leverage the power of selenium at the same time taking away the burden of coding. Some of the frameworks which are out there are as follows –
- OpKey – https://www.opkey.com/
- Qualitia- http://www.qualitiasoft.com/
- Katalon- https://www.katalon.com/
- Robot Framework – http://robotframework.org/ [Freely available]
- Cucumber – http://cucumber.io/ [Freely available]
We should ideally explore the above frameworks available to us in the market before deciding to build anything from scratch. Our requirements should be clear, while deciding which one to use. Our end users for the framework should be decided. Whether it will always be a technical team or would we like an active participation of business analysts and manual testers in the project.
That’s all we have in this article. Hope you liked reading it.