A framework providing methods to reproduce mouse and keyboard events is referred to as an automation tool.
Such frameworks are typically used to perform systematic and repetitive actions,
like application testing or system configuration. Other possible uses include data analysis, data munging, data extraction,
data transformation and data integration. Currently, automation tools are available for any platform.