How To Explain Test Automation Framework To The Interviewer
Before going to see how to explain test automation framework to the interviewer, I would highly recommend you go through the below link to learn more about the following
Coming back to this ultimate guide to explain the automation framework in the interview. Here I will explain to you every component of the architecture based on the below-mentioned screenshot. Frame your answer in your own words while explaining the framework to the interviewer.
We need to specify in and out of our Test Automation Framework such as programming language used, Type of framework used, Test Base Class (Initializing WebDriver, Implicit Waits), How we separate Element locators and tests (Page Objects, Page Factory), Utility functions file, Property files, TestNG annotations, How we parameterize tests using Excel files, How we capture error screenshots, Generating reports(Extent Reports), Emailing reports, Version Control System used and Continues Integration Tool used.
Must Read: Where you have applied OOPs in your Automation Framework?
Check below video to see “Selenium Automation Framework Explanation”
If you liked this video, then please subscribe to our YouTube Channel for more video tutorials.
Language: In our Selenium Project we are using Java language. Even though Selenium supports multiple languages, we are using Java language is just because most of the automation developers have knowledge on Selenium with Java.
Type of Framework: In our project, we are using Data-driven Framework by using Page Object Model design pattern with Page Factory.
Must Read: Types of Test Automation Framework
POM: As per the Page Object Model, we have maintained a class for every web page. Each web page has a separate class and that class holds the functionality and members of that web page. Separate classes for every individual test.
Packages: We have separate packages for Pages and Tests. All the web page related classes come under the Pages package and all the tests related classes come under Tests package.
For example, Home Page and Login Page have separate classes to store element locators. For the login test, there would be a separate class which calls the methods from the Home Page class and Login Page class.
I will explain based on the below-mentioned test automation framework structure.
The above screenshot illustrates a standardized maven project. As per the above maven project, all the tests are kept in the ‘src/test/java‘ and remaining files (such as config.properties, element locators (POM classes), utility files, test data, etc.,) kept under ‘src/main/java‘.
Test Base Class: Test Base class (TestBase.java) deals with all the common functions used by all the pages. This class is responsible for loading the configurations from properties files, Initializing the WebDriver, Implicit Waits, Extent Reports, and also to create the object of FileInputStream which is responsible for pointing towards the file from which the data should be read.
Utility Class (AKA Functions Class): Utility class (TestUtil.java) stores and handles the functions (The code which is repetitive in nature such as waits, actions, capturing screenshots, accessing excels, sending email, etc.,) which can be commonly used across the entire framework. The reason behind creating a utility class is to achieve reusability. This class extends the TestBase class to inherit the properties of TestBase in TestUtil.
Properties file: This file (config.properties) stores the information that remains static throughout the framework such as browser-specific information, application URL, screenshots path, etc.
All the details which change as per the environment and authorization such as URL, Login Credentials are kept in the config.properties file. Keeping these details in a separate file makes it easy to maintain.
Screenshots: Screenshots will be captured and stored in a separate folder and also the screenshots of failed test cases will be added to the extent reports.
Test Data: All the historical test data will be kept in an excel sheet (controller.xlsx). By using ‘controller.xlsx’, we pass test data and handle data-driven testing. We use Apache POI to handle excel sheets.
TestNG: Using TestNG for Assertions, Grouping, and Parallel execution.
Here you could find TestNG Complete Tutorial and also you could find TestNG Interview Questions
Maven: Using Maven for build, execution, and dependency purpose. Integrating the TestNG dependency in the POM.xml file and running this POM.xml file using Jenkins.
Version Control Tool: We use Git as a repository to store our test scripts.
Jenkins: By using Jenkins CI (Continuous Integration) Tool, we execute test cases on a daily basis and also for nightly execution based on the schedule. Test Results will be sent to the peers using Jenkins.
Extent Reports: For the reporting purpose, we are using Extent Reports. It generates beautiful HTML reports. We use the extent reports for maintaining logs and also to include the screenshots of failed test cases in the Extent Report.
Here you could find How To Generate Extent Reports and also find How To Add Screenshots In Extent Reports.
You have to explain all these when you are asked to explain the test automation framework in the interview. If you have any other thoughts on how to explain the test automation framework, comment below in the comments section.
Here I have hand-picked a few posts which will help you to learn more interview related stuff:
- Selenium Interview Questions
- Test Automation Framework Interview Questions
- TestNG Interview Questions
- SQL Interview Questions
- Manual Testing Interview Questions
- Agile Interview Questions
- Why You Choose Software Testing As A Career
- General Interview Questions
If you have any more questions, feel free to ask via comments. If you find this post useful, do share it with your friends on Social Networking.
Good explanation and Thank you RajKuamar
You’re welcome Venkat, and thank you for the kind words 🙂
but if we are not aware about maven and jenkins then how should we explain it.
Hi…
if we are not using maven and jenkins then we will execute the test using testNG.xml file….. but if u r 2+ experienced u should have some basic concept about maven and jenkins….. nowadays most of the companies r using this
Hi Shamsher Khan, I didnt get you. Hope this post will help you – Selenium Continuous Integration (Selenium – Maven – Jenkins – Git)
Hi, your article is very impressive
Also please Post the core Java interview questions for selenium testing.
Regards,
Sasi
Thanks for the kind words Sasirekha. We are working on that. Keep visting.
Good explanation
Hi Srinivasa Rao, Thank you for the kind words ?
Please post short way of above framework
Thank you
Hi Roopa, I didnt get you.
Nice article
Thanks. Keep visiting.
Good explanation… Can you just post that entire frame work in jar file.so that we can download and learn more on it
Hi Rajkumar,
This is the detailed description i have found so far to explain crucial selenium framework interview question. Very Clear and my interviewer was delighted while me explaining this framework based on my project..:)
i would really request you to have Java interview questions for Selenium testers.
Thank you so much.
Hi Snehal, first of all, congratulations for your successful interview. You made my day with your comment. Sure Snehal, we are currently working on Java for Selenium. Keep visiting.
Very Nice explanation which I ever seen.
Thanks for your kind words Srinath.
how to explain tell me about u r project?
Hi Krishna, you need to mention few points such as small introduction about your project and domain of the project and what are the modules you are dealing in that and give a brief about the modules you are currently dealing.
Very well Written.Appreciate your efforts!!
Thanks for your kind words Hemanth Reddy.
Hello Raj,
I have gone through your testing materials, its sounds good. I have a request can you please share the complete testing deliverable docs to my email id which i mentioned in the form. It will be great help from your end. ratgal.praveen@gmail.com
Thanks your support and time,
Hello Raj,
I have gone through your testing materials, its sounds good. I have a request can you please share the complete testing deliverable docs to my email id which i mentioned in the form. It will be great help from your end.
Hi Praveen, I will try to send. Thanks.
Hi Praveen, I have sent an email to you. Please check it out.
Hi Rajkumar,
its an awesome article which i ever seen.
Can you share that document with me as well Thnaks
Hi sir,
can u share the document with me also
srieceds@gmail.com
Hello Raj,
Would you please share the complete test deliverables documents which are used in real time work environment?
It would be great help.
Thank you
Hi Deepa, please refer this resources page
Ok Thank you so much.
Very good explanation boss, thank you so much, it’s very useful…
Thanks Srinivasarao
Nice explanation sir, thank you so much
Welcome Suri.
I have been trying to find such information all over the internet for last 5 days and trust me, no other technical blogger or guru has provided anything parallel to what you have..
Thank you so much. Can you please share the complete testing deliverable docs to my email id. It would be a great help.
Thanks again!
Thanks for your kind words Juhi.
Dearsir
could you plz what is the difference between datadriven frame and page object model?
Hi Sandeep, Page object model is just a design pattern. Its not a framework. check these two links.
Data driven framework
Page Object Model
Also read this Types of framework
Thanks sir it was very helpfull.
Welcome Sandeep
Dearsir
could you plz what is the difference between datadriven framework and page object model?
Finally i found a post which explains the framework in details. Thanks Raj. can you please complete testing deliverable docs?
And one more thing can you please add one more point like the framework architecture diagram, which should be simple to explain in the interview, It would really help many people to the clear the interview if we draw and explain architecture diagram.
Thanks and Great job once again!
Sure Bhargav, I will do it ASAP along with Maven – GIT. Keep visiting.
Hello Raj,
Where can I find this information?
Thank you.
Hi Deepa, i didnt get you.
Hi, in many if the interviews I fail to answer when they ask explain the framework you are using in ur current project…(selenium)
So please can you help me with that?
Hi Jay, As I specified in this post, just explain each and every component of the project to the interviewer and also let them know how you execute your scripts (manual or automatic scheduler). If you still have any questions, pls let me know. Thanks.
Many Thanks for your Perfect explanation. It was really very helpful to find out my self in Jungel of Automation. Thanks again for presentation. you are great
You are welcome. Thanks for your kind words.
Well explained . Thanks for the post
Thanks for your kind words Gayathri Devi. Keep visiting.
Great explanation about framework.Thank
Welcome Ranjeet kumar
Hi Rajkumar,
your explanation is very good understood Manure.. but your explained POM Framework i need hybrid framework(Data driven and Keyword Driven ) please explain these framework
Hi Mahesh, check this post for DataDriven Framework
Will publish Keyword Driven Framework in coming days.
Hai,
1) what are generic functions in selenium?How Many Generic Functions are there ????
Utility Class and Generics Functions are Same????
2) What is The flow of your framework???
— in interview i faced this question, can u please tell how to answer this question????…
Hi Keerthi, you can create as many generic functions as you can. Utility class and generic functions are same (depends on the one who creates the framework.. its just the name of the functions file).. Framework flow means how your framework triggers the test scripts.. If you still have any questions, pls let me know. Thanks.
Thanks Rajkumar, you saved my days
Welcome Emaya.
I have gone through your frame work , I have a request can you please share the complete frame work code and deliverable docs to my email id which i mentioned in the form. It will be great help from your end.
I have gone through your frame work , its good. I have a request can you please share the complete frame work code and deliverable docs to my email id which i mentioned in the form. It will be great help from your end.
I have gone through your frame work materials, its good. I have a request can you please share the complete frame work code and testing deliverable docs to my email id which i mentioned in the form. It will be great help from your end.
Nice post..Can you please share the complete project files with me ? Email-astha.girdher@yahoo.com
Hello Raj,
Thank you so much for this article on frame work. I have a doubt that do we execute the test case manually before start writing the script? Or what are the situations or scenerios in automation where we need to conduct manual testing also. pls pls answer clearly.
Hi Deepa, we do pick up the test cases which are necessary to do automation. To write automation scripts, first we need to test it manually. Once you write automation scripts, you can execute them whenever you required. Usually, we create test scripts and run them periodically.
Thank you Raj for such a prompt response. I have one more doubt. In one TC test case especially end to end scenario there will be min 200-400 test steps. How do we actually convert those steps into script? Do we need to pick few steps for automation and few for manual?
do we pick each test step and write corresponding automation script?
If possible pls pls give some example along with TC n steps and how to start writing automation script.
I have seen so many sites or videos they teach by taking login, logot simple examples. No real time explanation.
Hi Deepa,
It depends on how you pick your test scenarios.. Take an example of adding an item in your shopping cart..
First you do login and then search an item and then add that item in your shopping cart..
You can create three test scripts.
1. Login test script
2. Search an Item test script
3. Adding item in a shopping cart.
To run this using automation tool. You need to write three test scripts. You can also write all together. But test scripts like login we reuse it in different scripts. So it would be good to make separate scripts.
Hi
such a nice explanation about framework, but i have one query.
In which folder we have to store the element locators?? I mean to say we are using OBJECT REPOSITORY for keep all the locators,but in this explanation you don’t mention OR.
Plz clear the doubt..
Thanks Deep.
I have mentioned about that under pages we create a class for each web page… “POM: As per the Page Object Model, we have maintained a class for every web page. Each web page has a separate class and that class holds the functionality and members of that web page. Separate classes for every individual test.”
Check this link – Page Object Model.
Hi raj Kumar, your explanation is crystal clear and very impressive. I would like to know the the BDD(cucumber) framework architecture and as well as how to explain that framework in interview. Looking forward to hearing from you soon..
Thanks in advance
Excellent article about framework I have ever read!!!Very well explained…
Can you please share complete testing deliverable docs on my Email ID? It will be really helpful for me…
Please check our resources link
Can you please share the complete project ?
Hi Sir,I have a doubt
If we have 500 test cases, and 100 test cases have failed how top run that 100 test cases??
Hi Priya, Check this post
Its really a nice article. I really appreciate all your hard to make our life easy and to make us understand. Usually I don’t put comment, but after going through I cant stop my self to put a comment.
True.. Wonderful article and appropriate references wherever needed. Thank you..
I am really happy on finding out this article. The way you explained things is very neat. It’s really great that you take patience to answer the questions asked in comments.very informative.
May I know the difference between assert and verify.. real time examples plz.. like exactly where we can use asset and verify In a page
Hi Deep, please search our blog for difference between Assert and Verify. Thanks.
such a nice articles i have neven seen this kind of articles so for,while iam learing selenium,i have to check all sites for all concepts of selenium related stuff,but after seeing ur articles,i felt really happy,iam suggesting to all my colleges who are willing to selenium…thank u…keep posting
Im glad you like it and thanks for sharing with your friends.
Very Helpful artical. i would like to request you to have Java interview questions for Selenium testers.
Hi Supriya, refer this Java Interview Questions
Thanks sir ,It is clear understanding about most commonly used question.
Happy testing. Please share about this blog with your friends.
I just have to say thank you thank you thank you. You have done such a wonderful job putting all these together beautifully. My prayer for your well being and god bless you. Thank you again.
Thanks Ansar.
Hello RajKumar,
I have gone through your testing materials its sounds good. I have a request can you plzz share the complete testing deliverable docs to my email id which i mentioned in the form. It will be great help from your end.
Thanks
Hi Manoj,
Please check our free resources page. Here is the link to Download Testing Resources.
Explained in detail and interesting info for beginners to explain in Interviews.
Thanks
can you please post some of the java topics needed for selenium testing .That would be more helpful.
Thank you
Hi Priya,
Please check this post
Thanks
Whenever im preparing Interview for any clarifications, STM help me a lot to clear able to clear the interview Client Deloitte, Thank you so much good Articles.
Hi Samson, I am glad you liked it.