Another Look at WatiN

At my current client, we’ve decided to use WatiN, largely for the C# vs. Ruby reason I discussed earlier this week. After spending a week working with WatiN (following a year of rarely using it), I’m impressed. Ruby and the active Watir community still have their advantages. But WatiN has really come into its own with C# 3.0 features like lambdas. I’m pleased with the test code we’re producing in terms of readability, speed, flexibility, and maintainability. I’ve proposed an Agile 2009 tutorial session on the patterns I’m using to get those results, and I’ll post more on that topic here soon. (Which will hopefully help with one of WatiN’s shortcomings—documentation.)

Related Articles


  1. We’re using WatiN as much as possible, but have problems getting consistent behavior from environment to environment and have yet to effectively automate any of those tests. I introduced WatiN to the team and one of the developers went crazy with base classes and working the timeout, event pausing, and automated local data reset issues. When it works it’s valuable, but it’s hard keeping up with unit tests when they’re not automated. I think we also need to ease off the test count given the time it takes to run these tests, our heaviest data page fixture can take ~20 minutes to run.

  2. @Alex – I think that gets back to the importance of good patterns. With a powerful tool like WatiN, it’s easy to quickly build a suite of fragile, unmaintainable tests. Unfortunately, as I mentioned, the documentation around WatiN that would keep you from going in that direction is limited. I need to write more about this…

  3. Hi Richard,

    Pleased to read your new post on WatiN 🙂

    If you happen to write “documentation” I’m more than willing to add it to the WatiN website (as well).

    Jeroen van Menen
    Lead developer WatiN

  4. @Jeroen – Thanks for the comments (and for creating a great tool!). I’m working on the first in a series of WatiN patterns posts right now. Once there are a few of those up, I’d appreciate a link from the WatiN website. Hope they’ll be a good resource for WatiN users.

  5. Hello Richard
    I am using WatIn for automation , but I am facing a problem that when an anchor comes on page .
    How to identity anchor on page to click ?

  6. I am trying to create an automated test which selects a local file from a Windows Open Common Dialog. Can’t find a way to enter the path in the File name drop down though.

    Can I use WatIn to identify the Open dialog, enter the string for the path in File name: and click Open?


  7. Hi Guys,

    I am a novice to WatiN, I have a doubt that do we need to have apache services on our machine to get the code compiled from WatiN Test Recorder.

    Thanks in Advance~