Automation Testing Framework
You can have any of these combination like
Selenium WebDriver -- UI
Java (Core / J2EE) / C# -- To write Utility Functions like reading file, reusable functions
TestNG or Junit / Nunit or Xunit -- To change your Automation work flow and Verify your actual and expected results, suite creation, Cross Browser testing
Cucumber / SpecFlow - Helpful for BDD framework
Third Party supported Tool / jar - Apache POI Excel jar (read Excel), Sikuli, AutoIt, Winium.Desktop are helpful to handle Desktop based components
Xpath / CSS - To locate Web Component using Firebug, firepath
UIAVerify . AutoIt / UFT - To locate window component like Authentication required dialog, save as dialog
Maven / MSbuild -- Maven (Project Management tool) where most of the part used in Development side and but in Testing side, we are using Dependency section for downloading jar file, placing Test suite file, Reporting our test results, compiling our unit test like junit using Sure fire plugin etc.
Framework - Hybrid / BDD
Design Pattern - Page Object Model / Page Factory
Jenkins - Continuous integration and Continuous delivery tool
Flow
POM.xml--> TestNG.xml--> Test class--> Test Methods ( Your Test case)