Browser Buster II – Add-on Version

Browser Buster, the stress-testing page for Firefox Mobile I mentioned a week or two ago is now an add-on.

You can stress-test Firefox Mobile by visiting http://bit.ly/LH7Kmc , installing the add-on, opening 3 tabs on any web page and then leaving your phone running. Make sure you are on WiFi, and plugged in to power.

Geeky Details

Unfortunately, the Jetpack API for Firefox Mobile is not all there yet, and so I’ve had to implement it in a rather unusual way, using PageMod rather than the Tabs API. The add-on inserts a bit of JS into every page loaded telling it to redirect to a new random URL after 7 seconds.

So this version is not vulnerable to frame-busting scripts, but it is vulnerable to onload modal popups (“Hey! We have an Android app!”) and to pages failing to load entirely. Still, it seems to have better uptime than the iframe-based version. Once the Tabs API is implemented for Jetpack on Firefox Mobile, I can revise it again to be even more robust. It could also now be changed to interact with the page more – clicking links, changing the DOM etc. A good project for someone who sees potential here and wants to take this further.

Top tip: have it running in 3 tabs at once, and keep the tab dropdown open. The thumbnails don’t update (Boo!) but the page titles do, so you can see if it’s got stuck on a page, e.g. “Problem loading page”.

You can enable and disable it via about:addons. Note that because of the way I’ve had to implement it, it makes normal browsing pretty much unusable (“stop redirecting me to random pages!”), so you’ll want to disable it when not testing.

Firefox Mobile’s stability seems to have improved recently; I’ve not seen any crashes with Nightly all morning.

2 thoughts on “Browser Buster II – Add-on Version

  1. “Make sure you are on WiFi” – why? I almost never use the WiFi on my phone and it bothers me that app-makers seem to think the opposite (and never test /without/ WiFi).

Leave a Reply

Your email address will not be published. Required fields are marked *