Java OOPs and Design Patterns in Automation Framework