If you are attending an interview for the Automation profile then this is going to be the default question for you. In this post, I will guide you How to Explain Test Automation Framework In an Interview for Selenium.
There is 2 kind of framework in the market.
1- Free Open Source framework like Serenity, Katalium, Selenide, etc which is designed by set of people and we will use the same for our script
2- Custom framework- When we create or design a framework from scratch based on our needs then we have more options to customize it.
How To Explain Test Automation Framework In Interview
There is no fixed format of the framework but we need to design framework which standard component which will help us to achieve maximum result with less maintenance.
The framework is a set of rules/assumptions/guidelines to achieve the desired goal.
Test Automation Framework should have the below features.
Reusable
Scalable
Low maintenance
I have a detailed step-by-step video for Hybrid Framework on my channel, please watch Hybrid Framework for more clarification.
We will be using the different components in the framework and each component plays a huge role in our framework.
We are going to use Java as a programming language, TestNG as a Unit Test Framework, Maven as a Build tool, Jenkins as CI Server, Apache POI for reading and writing excel, Extent report for reporting, POM (Page Object Model as design pattern) and few more.
Explain component one by one
TestData – This component will maintain data for our test. We are using Apache POI which is dealing with excel and properties file which have config details for our test.
Report and Log- This component generates logs and reports for our test and we are using Extent Report for the same.
Utility– This component deals with a common utility which is a project independent like capturing a screenshot, wait for alert, wait for web element, etc.
Test Script/ Test Cases– This component has the main test or script which performs the test on our application.
Pages – We are using the Page Object Model which is one of the design patterns for test automation and here we are maintaining all application pages. Each page contains locators and activities on the elements.
Runner– This component runs our test script. Basically, we have a set of testng.xml files (each XML has some set of test cases )which we have configured in Maven and we are running maven build via Jenkins.
Source Control- We are maintaining code on Github/Gitlab and Jenkins pulls the code from the same while running.
I also have a detailed video on the same which covers about the same.
This is how you can break down all components one by one and each component you can explain in detail.
I have detailed articles on each and every topic. I hope this post might have helped you. Do share with your friends and I will see you in the next post.
Hasib says
HI, Need all code of Framework.can u please mail me.
Mukesh Otwani says
Hi Hasib,
If you are looking for one in all frameworks, then clone it from here
Sharad says
Good Explain
Mukesh Otwani says
Thanks, Sharad 🙂
You’re always welcome to ask doubts & queries. I’ll try my level best to answer them.
Manish sewlikar says
natural explanation Mukesh thanks lot
Mukesh Otwani says
Thanks, Manish…)
RANJAN V says
Nice one)))
Mukesh Otwani says
Thanks Ranjan…:)
Tarun Krishnaswamy says
I am starting late. I hope I get where the other’s are. This was a good and well organized read. I subscribed.
Thanks a lot Mukesh
Mukesh Otwani says
You are welcome to my blog. Keep learning…:)
Selenium says
Nice, Good read
Mukesh Otwani says
Thanks Pavan…:)