A Test Automation Tool can play a big role in deciding success as well as effectiveness of Test Automation. Based on the growth in the device and browser matrix, it is not recommended to build test automation framework around a single tool; however, many organizations still continue to do so. It becomes even more important to choose right tool for your automation when test automation solution is built around a specific tool.
A Test Automation tool along with its associated components are primarily responsible for communicating with Application Under Test (AUT) and for passing the instructions of test automation scripts to AUT interface (UI or API) and get responses from the AUT interfaces. The tool is also responsible for verification of the AUT responses against expected results, logging of results and report generation. Other than these basic responsibilities, the test automation tool has enhanced features such as keyword driven scripting, robustness against failures / unexpected interrupts, informative dashboard which shows progress of test automation while executing, integration with test management tools, integration with continuous integration tools, etc.