SWTBot is a Java-based functional testing tool for testing SWT and Eclipse based applications. It provides APIs that are simple to read and write and hide the complexities involved with SWT and Eclipse. This makes it suitable for functional testing by everyone. A set of assertions that are useful for SWT are provided, and you can also use your own assertion framework. A recorder and driver are provided for recording and playing back tests along with Ant tasks so that you can run your builds from within CruiseControl or other CI tools.