Explain Your Automation Framework in Detail 1715774762
Explain Your Automation Framework in Detail 1715774762
(Interview Questions 1)
Note: Whenever you answer this question, then make sure that you follow the revere
Approach while describing the whole framework component
Start from Jenkins Project -> Scheduler ->parameter capturing-> and then whole Framework.
(One of the Key point to remember is the choice of your words. And the depth you go to
explain the answer)
a. Overview
i. We have created a single Hybrid framework that helps us to test (UI), (API) and
Mobile Components of our entire system
ii. The Benefit:
a. of this approach was that we really don’t need to maintain 3 different
repositories.
iii. Our git branching Model helps us making sure that everyone is working on the
updated piece of code and the test code only becomes part of the CT pipeline
when it’s approved by the team lead.
1. The benefit of this approach is that we tell our team to write good and
well
2. Maintainable tests that add values in our automated tests.
b. Jenkins Project:
i. The Jenkins Plan that we have created is a Parameterized Jenkins Plan
ii. All the Run time arguments that are required for the framework i.e
1. Test Type: (Sanity/Smoke/E2e)
2. Component Type: (API/UI/Android)
3. Env Type : Dev/QA/UAT
iii. These parameters are selected to from the Jenkins Project and Passed to our
Frameworks- Runner Class (which has the main function inside it).
d. Test packages:
i. We have 3 tests packages
1. com.api.tests
2. com.ui.tests
3. com.api.tests
ii. While writing our tests we have ensured that all tests are
1. (Characteristic of a good test) very important
a. Small
b. Independent
c. Belongs to certain group
d. Easy to read
e. Have Proper Assertions
iii. Design Pattern Used: Fluent Design Pattern
iv. OOPS concepts Used: Inheritance/ Encapsulation/ this keyword/super keyword
• How did you create the Dynamic TestNG xml for execution? (Very Important)
• How do you run only specific Tests from your framework?
• How do you ensure that your team is writing High Quality Tests?
h. POJO Component:
i. For Sending Request Body to our API Test we have used to the POJO
ii. Each Request Body has a specific POJO Class
j. Report Folder
i. Test Reports are kept in Report folder generated by Extent Report
k. Screenshot Folder
i. All failed tests are stored in the screenshot folder.
m. Utility Component:
i. Utility Component deals with reusable and common functions used across the
framework
1. Fake Data Creator
2. Read CSV file
3. Read Excel File
4. Read Properties File
5. OTP Generator
6. Capture ScreenShot
ii. All these functions are static.
p. Step Definition
i. All the cucumber Step Definition Java files are kept in Step Definition Package
q. Feature Files
i. All our Cucumber Feature Files are Kept in src/test/resource/features folder