Selenium/Java based Hybrid Test Automation Framework Implementation

Explanation: -
This is a Hybrid Test Automation Framework, which is a combination of Data Driven, Keyword Driven and Modular framework. It is based on Selenium WebDriver and Java Programming Language.

Advantages of this framework: -
1. I have seen in the software test automation industry that automation engineers prefer to automate test scenarios mostly with positive scenarios only. As per my experience and approach, I prefer to automate each and every test case of the application including positive as well as negative test cases. This framework (mechanism) is specially developed to cover maximum coverage of automation.
2. I am very confident that this framework will take least time as compare to any software test automation technique (framework) to automate any application and test cases.
3. Once this framework will be implemented in any organization then any Software Tester with training on object identification and how this framework works can automate any application without write a single line of code. I already developed important Methods with extent of exception handling which are completely reusable. A Software Tester just need to use these Methods (Keywords) and pass Values through excel sheet to automate any application.
4. I tried my best to develop a framework which will never break even in the case of any exception. If any exception will come while executions of any test case then it will handle that exception and proceed to the next test case.
5. I am very confident on my html result reports and I’m quite sure that any technology at present time is not providing such a detailed and well managed result reports like this framework

This framework provides all flexibility/facilities like: -
1. Add end number of Applications in one go.
2. Browser and device compatible.
3. Flexibility to ON/OFF Modules.
4. Flexibility to ON/OFF Test Cases.
5. Fully independent Test Cases.
6. Auto capture and save Screenshot of failed TCs where required.
7. All features are 100% dynamic, nothing is hard coded.
8. Flexibility to add new Methods (Functions). This framework will never say "No".
9. Well managed and detailed HTML Results including Project Name, Project URL, Test Device, Test Operating System, Test Browser, Test Date, TC Name, TC Description, Action performed, Inserted Values, Expected Result, Actual Result, Status, Total TCs, Total TCs Pass, Total TCs Fail, Total Validations Pass, Total Validations Fail and Total time taken for execution.

Technologies used:-
• Eclipse (Integrated Development Environment) • Java Programming language • Selenium Web Driver Java Library (jars) • Appium • Appium java client, gson and selenium server standalone jars • Microsoft Excel • Apache Excel (jars) • HTML • Browser Driver files

Description with screenshots: -
Below screenshot is showing the Project Excel file. From here, Software Tester OR Management can pass the credentials and information regarding project and at execution time they can choose which project needs to be executed on which device, on which OS, on which browser, etc.

Below screenshot is again showing the Project Excel file but different sheet (Project Modules Excel file). From here, Software Tester OR Management can Create Modules Name and at execution time they can choose which module(s) need to be executed.

Below screenshot is showing the Test Cases Excel file. From here, Software Tester can Create Test Cases and at execution time Software Tester OR Management can choose which Test Cases need to be executed.

Below, first screenshot is showing the Test Data Excel file. From here, Software Tester can automate test cases by using inbuilt Functions (Methods, Keywords) and pass all required information.
And, second screenshot is showing the HTML Results file with all required information on it after execution

Below, first screenshot is showing an another example of Test Data Excel file with 2 test cases. Here, in first test case I am double verifying the user name after login.
And, second screenshot is showing HTML Results file after the execution of these 2 test cases.