Tue 23 Nov 2010
Last year David Henderson and I gave a talk at GTAC about how we built a framework to capture the client-side performance of a page using Selenium and YSlow. It was a really interesting project that we did and it got my hooked on Client-side performance metrics.
Client-side performance is really important, so much so that venture capitalists look at this before and after they invest in a startup. We can see how important it is from the tweet below by Steve Souders.
Edmunds.com performance project: from 9 to 1.4 seconds, revenue up 3%, page views up 17%, bounce rate down 2% - http://bit.ly/i3jVF1
This year I was chatting to Patrick Lightbody, from BrowserMob, and he was telling me how cool it would be to capture the network traffic and then in a separate task run PageSpeed or YSlow. He showed me a Firebug add-on called netExport that can export the Net tab from Firebug into a HAR file. With this in mind and the way that we can now control the browser and profiles we can see about getting the browser to give us the har file I have created my own version of the FirefoxDriver for Selenium 2 that collects all of this information.
So this is great that it records but now that we have the data we need to run PageSpeed or YSlow. Fortunately the PageSpeed team have created a HAR to PageSpeed converter that takes the HAR file and converts into a readable page speed score.