What tools and practices are you using to test your in-browser user interface and application flow for dynamically rendered content?<p>I've been rewriting a Rails web app using test-first methodology and am thrilled with the unit, functional, and integration testing features of rails. I've been working out from the models to the controllers and then to the views. This works great as long as the content is static, but once I hit the browser, I'm at a loss. Because I'm using jQuery, I'd be happy to find a solution that just automated use-case tests for Firefox (for example), and mop up issues in an ad-hoc manner for other browsers (no-cache issues on IE and the like.)
I use <a href="http://seleniumhq.org/" rel="nofollow">http://seleniumhq.org/</a>.<p>The docs are a bit rough, but I'm reasonably happy with the framework. The core functionality is implemented in JavaScript, and I use it on my continuous integration server to test web UIs on Firefox, Safari, Opera, Google Chrome, and MSIE 6.<p>I keep hoping to be able to involve non-technical persons in UI test specification, so the Selenese HTML syntax appealed to me. Unfortunately, the Selenium community seems to regard that syntax as a gimmick; the tool support is much better for the various selenium APIs [<a href="http://seleniumhq.org/about/platforms.html#programming-languages" rel="nofollow">http://seleniumhq.org/about/platforms.html#programming-langu...</a>]. Also, you get reasonable means of abstraction and combination in a language such as python or ruby.