Watir
Watir, is an open-source family of Ruby libraries for automating web browsers. It drives Internet Explorer, Firefox, Chrome, Opera and Safari, and is available as a RubyGems gem. Watir was primarily developed by Bret Pettichord and Paul Rogers.
Functionality
Watir project consists of several smaller projects. The most important ones are watir-classic, watir-webdriver and watirspec.Watir-Classic
Watir-Classic makes use of the fact that Ruby has built-in Object Linking and Embedding capabilities. As such it is possible to drive Internet Explorer programmatically. Watir-Classic operates differently to HTTP-based test tools, which operate by simulating a browser. Instead, Watir-classic directly drives the browser through the OLE protocol, which is implemented over the Component Object Model architecture.The COM permits interprocess communication and dynamic object creation and manipulation. Microsoft calls this "OLE automation", and calls the manipulating program an "automation controller". Technically, the Internet Explorer process is the server and serves the automation objects, exposing their methods; while the Ruby program then becomes the client which manipulates the automation objects.