How to Write Browser-Based Tests That AREN’T a Waste of Time


Imagine this: you’ve written a whole suite of tests that open up a browser and run through your entire web application, entering text and clicking on buttons just like a real user would. Even though they may take a while to write and to run, you’re confident that your browser-based test suite does a pretty good job of verifying the whole system. Quality is great and users are happy! 
Then you need to make some UI change which breaks a dozen tests and you just don’t have time to fix them all… so you ignore them and promise yourself you’ll go back and fix them when you have the time (which you never do). 
Then it happens AGAIN, resulting in a dozen more ignored tests. 
THEN… Well, you get the point.

Not too long ago, experiences like that caused me to completely write off browser-based automated tests as flaky and a huge waste of time. That is, until I realized the main reason that my tests were so flaky is that I was writing them all wrong! In this presentation we’ll look at a subtle but powerful approach to browser-based testing that abstracts your test code from the details of your UI, making your tests easier to maintain by keeping you from having to rewrite them all the time, and bringing back the value of having browser-based automated tests again!

Jess Chadwick

Jess Chadwick is a software developer and technologist with over fifteen years of development experience ranging from embedded devices in start-ups to enterprise-scale solutions in Fortune 25s. He is an ASPInsider and a magazine, book, and online course author, including O’Reilly’s Programming ASP.NET MVC 4 and several courses on Lynda.com. Jess is actively involved in the development community, regularly speaking at user groups and conferences as well as helping to lead the NJDOTNET Central New Jersey .NET user group.