10.14 Driving Your Web Applications Automatically with Watir

Say you’re creating a web-based application. You want to know whether it works from the users’ point of view before you deploy it, so you put it through its paces manually. You click links, you fill in fields on forms, you press buttons. Then you make a change to the application, and you realize you have to do all that verification again.

Manually testing the same things over and over again can be mind-numbingly repetitive. It’s also error-prone: the more pressed you are for time, the more likely you are to skip tests. But if you don’t test, you take the risk that your changes may have introduced serious bugs. The alternative most organizations adopt is to automate at least some of their tests.

However, automating tests presents its own set of challenges. You must find a way to drive the application and verify results. Commercial tools are expensive and tend to emphasize a record-and-playback approach, resulting in fragile tests that can take more time to maintain than it would take to execute the tests manually. Conversely, many open source solutions involve bypassing the browser, leading to the risk that the client-side logic is not truly being tested end-to-end in a production-like environment.

Watir, an open source Ruby library, solves this problem by directly driving the browser. When used with the Ruby module Test::Unit (analogous to JUnit), it provides a robust and powerful solution for automating web tests.

Tip

If you’re ...

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.