One of my favorite Test Automation frameworks which I have used in many of my projects is STAF.
Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and monitoring).
The main advantage of STAF is that one can code the automation script in either JAVA, Python, Perl et al and can run the same script on a plethora of platforms, which makes the job of an automation engineer very simple. STAF shines when you need to run tests on a distributed platform and on a variety of platforms at the same time and aggregate the test results in a single repository.
STAF is also very well documented and also has provides online tutorials.