I’ve been working at Ancestry.com for the past month. Today we gave a presentation on the QualityBots framework we’ve been developing – -inspired by a similar tool used by Google.
It crawls the web site and scrapes web pages using WebDriver. Then it compares the HTML source & screenshot, giving the percentages changed that can be measured against a baseline and threshold. A really smart coworker developed the diff tool & algorithms.
It’s great for comparing different versions of the site (say development against production) or doing a pixel comparison in different browsers.
I created the dashboard UI with dustjs client side javascript templates and JQuery for special effects. Another co-worker has taken over that aspect.
It reads local files using the HTML5 File API and uses mongodb with the C# driver for persistence. So it can be used as a standalone tool or save scrapes to the database for future comparison.
The MongoDB document store is a great fit because we can serialize our hierarchical data and persist it without creating a DB schema, and the send JSON from Mongo to the dashboard where it is rendered with only a only a thin web service wrapper layer.
I built a simple node.js REST API for storing and retrieving comparisons from the database with express-resource.
It seems like after our presentation to several testers, a couple managers and development architects that there’s a lot of excitement for using the tool. I can’t make any promises, but we may even be able to open source it.