Some of the popular automation testing tools are:
Selenium webdriver- use to automate the webbased applications.
Appium- Appium is build on top of selenium but it only support the mobile based app.
Protractor- Protractor is also implemented on selenium webdriver. Using appium we can automate the web based app. This tool is used for AngularJS based application but this can also support the non-Angularjs based app.
Sikuli- Sikuli is used to automate the Windows based application. It is completly image base automation.
AutoIT- Used for the windows based application.
-Page object module framework is used with selenium, Appium and protractor. It helps in maintaining the webelement and operations of the each pages. Selenium and Appium use the TestNG framework to create the test suite and exection of the test suite.
-Protractor uses the jasmine framework. It is behaviour driven development.
i hope you can understand which tool and framework we can use depends on above information.