One of my major frustrations with web development has been the lack of good testing tools for the user interface. Back at Dell I worked on one tool which we developed using the .net httpRequest objects and some scripts to check the html and step through some pages, but writing tests was entirely too tedious and broke often. Plus it didn't handle client side well.
My next approach was to wrap the DOM in an XPathNavigator. This made the process less error prone since you could do things like //a[text='next'] or //div[@id='contnet'] however the COM overhead made the searches too slow and you ended up adding hints into the document layout to speed up the searches. The advantage with this approach was that you could find and test just about anything on the DOM including javascript events, etc.
Both these approaches were plagued with dealing with page requests and the asyncronous nature of web navigation which made the tests cumbersome to maintain.
This appears to be and interesting solution to the problem and is the framework that Microsoft is using to test it's Atlas framework. I haven't had a chance to dig into it, but I plan to as soon as I have some free time.