“Could you please explain your test automation framework?”
Many of us start explaining the “Creation of Test Scripts” instead of “Test Automation Framework“. Yes- Both are not the same.
Framework – A Platform
The above image is of a railway platform. Any train can use this platform. The reason is that a railway platform is designed in a way to serve a purpose. An airplane can not use this railway platform. A similar concept applies to a Test Automation Framework.
Test Automation Framework
A Test Automation Framework is a platform to be used for one or multiple similar applications. If we talk about a web automation framework then it should be able to support the intended types of web applications. If a framework is designed for a particular web application, sadly that is not a framework. A base framework can always be customized for an application. A framework and test scrips code must be seperated.
If a company has multiple similar web applications, you should not have separate test automation frameworks for all web applications if technologies e.g. programming language are similar. You should have a base framework with maximum utilities and the same framework can be customized specifically for applications if required.
A test automation framework should be designed in such a way that it can be used as a plug and play tool. For example:- If we want to click on a button in a web application, Selenium WebDriver provides you a utility/method called “click()“. You just need to call in your scripts. You don’t need to think how click is performed ( A kind of abstraction). It is not restricted that this method can be used only with e-commerce applications or banking applications.
Typical Architecture of a Test Automation Framework
I have drawn a basic structure of a Test automation framework where I have tried explaining a “Framework” as a base for automation of multiple applications.
In the above diagram, I showed a framework (Left side) as a set of reusable utilities. Multiple applications with different test design patterns (Right side) using the same framework to create test scripts.
You can add as many utilities in the base framework. If you get a new application to automate, take the base framework, and start using it.
I hope this post gives you an understanding of a “Test Automation Framework” and how it is different from Test Scripts.
If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.
Find all Selenium related posts here, all API manual and automation related posts here, and find frequently asked Java Programs here.
Many other topics you can navigate through the menu.