Features
-Maven Project with all dependencies
-Implemented TestNG runner to run the framework
-Single responsibility principle to distribute the implementation into multiple step definitions
-Dependence Injection to share the data between step files, used picocontainer dependency injection
-Page object Pattern to drive the locators from page files
-Factory Design Pattern by writing PageObjectManager class to create objects of all PO classes
-driver configured and distributed across the framework
-Utilities for reusable selenium methods
-Cucumber Hooks to capture screenshot on test failures
-Extent report to capture the test results and screenshots
Project Structure