We are happy to announce BrowserMob Proxy a new open source tool for simulating network conditions.

Some early functionality:

  • It can slow down network traffic, effectively simulating what a low-bandwidth user might experience.
  • It can also easily intercept certain HTTP requests (via regular expression), allowing you to mock out unexpected results, such as 500 response codes, long delays is responses, or even unexpected content.

Please visit the main page to sign up for the mailing list, we’d love to get more people involved in the project.You can also go to the  Git project page, where you can check out the source code and report bugs.

If one is doing monitoring or load testing on a live site it is often beneficial to filter out the test browsers from Google Analytics.

When in the Google Analytics Filter section simply Create New Filter, then give it a name, choose the domain name option, and paste in amazonaws.com. That will ensure that our load testing service and monitoring from Washington DC and Dublin, Ireland will get filtered.

For Dallas, TX monitoring, do the same thing, but use the domain cloud-ips.com.

For San Francisco, CA monitoring, use the domain gogrid.com.

People often ask what are the differences between RBUs and VUs. Obviously RBUs are more realistic while VUs are the perfect vehicle for testing APIs, but here is a table giving you a breakdown.

Feature RBU VU
Threads 6 threads downloading data in parallel Single thread downloading data in sequence
Ajax Native support and simple to implement Can be scripted but takes time
Flash Has ability to test Flash interaction Flash objects can be downloaded, but won’t be played
Reporting Screen-shot of failed page captured; error codes from server Content of last requested object captured; error codes from server

IT World mentioned BrowserMob in an article on Open Source load testing tools. They did have a little trouble figuring out our “Open Source” credentials. Needless to say, Patrick has been a big advocate of open source tools, and is well known as part of the Selenium project. The service we offer utilizes those tools to allow users to create their own load testing scripts. We are big fans of Open Source and rest assured that we will continue to contribute to the community.

We are big fans of what DynaTrace is doing, they are a great compliment to testing with BrowserMob. They have written an nice article on integrating their performance testing monitor with Selenium and BrowserMob.

Selenium offers a feature to add additional HTTP Tags to each Web Request via DefaultSelenium.addCustomRequestHeader. This feature allows achieving the exact same result as I explained in my previous blog entry.
In order to make it easy for Selenium script developers to use this feature we (Patrick Lightbody from BrowserMob and I) came up with the following 2 requirements:

CMSWire, the place to go for all things content management, wrote up a fine article on why small business should us BrowserMob for load testing.

If It Crashes, They Can’t Come

If your website is your company, then having it go down for any period of time can cripple you. Huge interest in your site can see the server(s) unable to cope with demand.

Your new product launch, interest generated by a story from a major news site, winning an award and other factors can all drive an upswell of visitors to your site. And, if it goes down as they all try to check it out, they’re unlikely to come back.

An issue near and dear to our hearts is website performance monitoring over time. Not just alerting you when your webisite is down, but helping to find trends in the site’s performance. Are you getting more users on the weekends? Is you’re site slowing down due to third party ads? These are the types of questions one can only answeri if the websites performance monitoring is done continuously.

In case you missed our launch announcement on TechCrunch last Thursday I’m here to tell you that we are live. The new monitoring product is now available; take a look at our monitoring video overview.  I’ll be writing some more about the new features and what we are hoping to achieve with monitoring in the future. But for now go give it a try. You can run free monitoring jobs to see how it works.

We recently wrote a post about how to randomize an IP address and tie it to the domain name for RBU scripts. Here is how it is done for VU scripts.


var ips = ['169.125.57.119', '169.230.103.88', '169.125.17.0', '169.125.17.68', '79.125.17.80', '169.125.38.66', '169.125.43.112'];
var ip = ips[Math.floor(Math.random() * ips.length)];
browserMob.log("Using ip " + ip);
var c = browserMob.openHttpClient()// useful function that rewrites the hosts and auto checks the response code
var get = function(url) {

We recently had a customer that wanted to test a website that would be load balanced, but the server wasn’t installed yet. To get around this we randomly chose an IP address and then remapped it to the host. Insert this code at the top of your RBU Script and itwill randomly select one of the IPs each time it is run, but
still act as if it were going through the standard mysite.com host.

var ips = ['169.125.57.119','169.230.103.88','169.125.17.0','169.125.17.68',

'79.125.17.80','169.125.38.66','169.125.43.112'];

var ip = ips[Math.floor(Math.random()*ips.length)];

browserMob.log(“Using ip ” + ip);

var selenium = browserMob.openBrowser();

© 2012 The BrowserMob Blog Suffusion theme by Sayontan Sinha