<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The BrowserMob Blog &#187; Uncategorized</title>
	<atom:link href="http://blog.browsermob.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.browsermob.com</link>
	<description>All about browsers, performance testing, and load testing</description>
	<lastBuildDate>Tue, 27 Dec 2011 17:00:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Repost: Testing a Flex client with BrowserMob</title>
		<link>http://blog.browsermob.com/2011/10/repost-testing-a-flex-client-with-browsermob/</link>
		<comments>http://blog.browsermob.com/2011/10/repost-testing-a-flex-client-with-browsermob/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 21:34:34 +0000</pubDate>
		<dc:creator>Connie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1834</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
Thanks to Dave Thompson for sharing his experience with using BrowserMob to test the performance of a Flex app. To read the full article, check out it here.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>Thanks to <a href="http://www.blogger.com/profile/05289219104297308435">Dave Thompson</a> for sharing his experience with using BrowserMob to test the performance of a Flex app. To read the full article, check out it <a href="http://www.limscoder.com/2011/10/testing-with-browser-mob.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/10/repost-testing-a-flex-client-with-browsermob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring outage from 1:01 to 3:01 PDT</title>
		<link>http://blog.browsermob.com/2011/09/monitoring-outage-from-101-to-301-pdt/</link>
		<comments>http://blog.browsermob.com/2011/09/monitoring-outage-from-101-to-301-pdt/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 18:34:49 +0000</pubDate>
		<dc:creator>Ian White</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1806</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
From 1:01 am to 3:01 am PDT on Sept 18, 2011 the data center that houses our secondary queue server became inaccessible from all monitoring locations. During the outage we were not running any monitoring jobs. At this time everything is running normally and our network ops team is working to determine the root cause. <a href='http://blog.browsermob.com/2011/09/monitoring-outage-from-101-to-301-pdt/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>From 1:01 am to 3:01 am PDT on Sept 18, 2011 the data center that houses our secondary queue server became inaccessible from all monitoring locations. During the outage we were not running any monitoring jobs. At this time everything is running normally and our network ops team is working to determine the root cause.</p>
<p>Normally an outage of one of our queueing clusters would not be an issue, as we have both automatic and manual failover policies in place. But this time we were in the middle of migrating the physical server of our primary queue server and were unable to switch over. There are a few spots we have already identified where we can improve our infrastructure to prevent any further outages like this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/09/monitoring-outage-from-101-to-301-pdt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsermob unreachable from multiple locations</title>
		<link>http://blog.browsermob.com/2011/09/browsermob-unreachable-from-multiple-locations/</link>
		<comments>http://blog.browsermob.com/2011/09/browsermob-unreachable-from-multiple-locations/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 02:21:21 +0000</pubDate>
		<dc:creator>Mindy Hovern</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1794</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
For 42 minutes tonight, 21:02 EDT to 21:44 EDT, Browsermob was unavailable from multiple locations.  We worked quickly to resolve the issue as soon as it was detected and are happy to announce that service has been restored.  If you have any questions for us, please let us know at support@browsermob.com.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>For 42 minutes tonight, 21:02 EDT to 21:44 EDT, Browsermob was unavailable from multiple locations.  We worked quickly to resolve the issue as soon as it was detected and are happy to announce that service has been restored.  If you have any questions for us, please let us know at <a href="support@browsermob.com">support@browsermob.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/09/browsermob-unreachable-from-multiple-locations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monitoring unavailable for 37 minutes</title>
		<link>http://blog.browsermob.com/2011/09/monitoring-unavailable-for-37-minutes/</link>
		<comments>http://blog.browsermob.com/2011/09/monitoring-unavailable-for-37-minutes/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 06:36:56 +0000</pubDate>
		<dc:creator>Mindy Hovern</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1792</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
From 9:25pm PDT through 10:02pm PDT tonight, monitoring was unavailable. An investigation is being performed right now to determine the root cause of this isolated issue.  We are very sorry for any inconvenience you may have experienced, and will learn from this incident to prevent this in the future.  If you have any questions, please <a href='http://blog.browsermob.com/2011/09/monitoring-unavailable-for-37-minutes/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>From 9:25pm PDT through 10:02pm PDT tonight, monitoring was unavailable. An investigation is being performed right now to determine the root cause of this isolated issue.  We are very sorry for any inconvenience you may have experienced, and will learn from this incident to prevent this in the future.  If you have any questions, please contact us at <a href="mailto:support@webmetrics.com">support@browsermob.com.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/09/monitoring-unavailable-for-37-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repost: In the Driver’s Seat: Load Testing Best Practices – Scripting</title>
		<link>http://blog.browsermob.com/2011/08/repost-in-the-driver%e2%80%99s-seat-load-testing-best-practices-%e2%80%93-scripting/</link>
		<comments>http://blog.browsermob.com/2011/08/repost-in-the-driver%e2%80%99s-seat-load-testing-best-practices-%e2%80%93-scripting/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 11:51:32 +0000</pubDate>
		<dc:creator>Anu Sandhanam</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Load Testing]]></category>
		<category><![CDATA[Load Testing Best Practices]]></category>
		<category><![CDATA[Load Testing Tips]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BrowserMob]]></category>
		<category><![CDATA[load testing best practices]]></category>
		<category><![CDATA[Neustar]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Webmetrics]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1487</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
Hello Readers!! Welcome back to Part 3 of our Load Testing Best Practices series, which focuses on writing good load testing scripts. As I’m sure you would agree to, load testing is an imperative part of every development effort. One of the key components to your load testing efforts is a good load testing script <a href='http://blog.browsermob.com/2011/08/repost-in-the-driver%e2%80%99s-seat-load-testing-best-practices-%e2%80%93-scripting/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>Hello Readers!! Welcome back to Part 3 of our Load Testing Best Practices series, which focuses on writing good load testing scripts.</p>
<p>As I’m sure you would agree to, load testing is an imperative part of every development effort. One of the key components to your load testing efforts is a good load testing script that simulates real user behavior on your web site in the most realistic and accurate way possible.</p>
<p>Before you take a deep dive into the scripting, there are few things you need to plan ahead of time.</p>
<ul>
<li> The first one obviously is the scenario outline. Many clients seek the help of their analytics to identify their most visited pages.</li>
<li> Secondly, identify a reasonable range of pause times between steps.</li>
<li> As the next step, identify if your script will involve randomization or parameterization. If so, are you planning on using a datafile or an array of random values in the script?</li>
</ul>
<p>If you have the answers for all of the above then you are half way through already as what&#8217;s remaining is packaging this into a script which is the objective of this post.  This post is a step by step tutorial on how to write a good load testing  script using the Selenium API and the BrowserMob platform.  However,  some of the tips and information can be used to help with script  creation on other platforms as well. We will be focusing on how to  organize your scripts, how and why to perform content validation, how to  build robust and reusable scripts with the help of optimized selenium  locators amongst other tips and guidelines on the best practices. I’m  confident that at the end of this article you will be able to create  your own load testing scripts in no time.</p>
<p>If you haven’t done so already, you are encouraged to install the following to assist in building the load testing scripts.</p>
<ul>
<li><a href="http://seleniumhq.org/projects/ide/" target="_blank">Selenium IDE</a></li>
<li><a href="http://getfirebug.com/" target="_blank">Firebug</a></li>
<li><a href="https://addons.mozilla.org/en-us/firefox/addon/xpath-finder/" target="_blank">Xpath Finder</a></li>
</ul>
<p><strong>What makes a good load testing script?</strong></p>
<ol>
<li><em><strong>Detailed Comments and Descriptions</strong></em></li>
<p>Although the presence or absence of these is in no way going to affect the performance of your load test, it is always a good practice to include comments wherever possible as they make a good reference for later use, irrespective of the scripting language under use. It is easy to add comments while scripting with the IDE. Right click on the IDE and choose ‘Insert New Comment’.</p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/comments2.bmp"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/comments2.bmp" alt="" /></a></p>
<p><em><strong>Tip:</strong> All comments added in the IDE are automatically converted to “Step Descriptions” when the script is uploaded to BrowserMob. i.e the comment in the picture above would be converted to a BrowserMob step description like below:</em></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Giving each step/page a brief description rather than just “Step 1”, “Step 2” etc also helps find out easily how each step/page is performing during the load testing.</p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/graph.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/graph.png" alt="" width="679" height="363" /></a></p>
<li><em><strong>Content validation combined with proper use of ‘waitForPageToLoad’ and ‘waitForNetworkTrafficToStop’</strong></em></li>
<p>“Content validation” is an essential part of every load testing script. Content validation is the only means to confirm the right page got downloaded or the right action was performed during a load test and this can be accomplished by searching for an appropriate piece of content in every step that confirms the validity of the page being downloaded. Selenium has various useful commands that can be used for content validation such as verifyTextPresent, VerifyElementPresent, assertTextPresent, assertElementPresent, waitForTextPresent, waitForElementPresent etc.</p>
<p><em><strong>Tip:</strong> While recording actions with IDE, it is easy to add content validation at the appropriate places. Highlight the appropriate piece of content in each page load, right click and choose the appropriate content validation command as in the screenshot below:</em></p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/verify_text.bmp"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/verify_text.bmp" alt="" /></a></p>
<p>Consider the snippets below:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1a]</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1b]</p>
<p><em>Which one of the above is the right one? </em></p>
<p>The first one will fail immediately because the page needs to load completely or at least partially until the content “Latest news” becomes visible. The second one may not fail but is recommended only if you intend to measure the “Perceived Load Time” rather than the complete “Page Load Time”. What is the difference between the two? In the second snippet above (script 1b), the script is going to wait only until the content “Latest news” becomes visible before moving on to the next step. To a user that intends to load the CNN Home page and click on the first article under “Latest news”, this perceived load time is all they are going to care about. Whereas, the complete “Page Load Time” is measured only if the script waits for the page to load completely before moving on to the next step and this can be accomplished by using <a href="http://static.browsermob.com/api/com/browsermob/api/Selenium.html#waitForPageToLoad(java.lang.String)" target="_blank">selenium API’s waitForPageToLoad</a> and/or <a href="http://static.browsermob.com/api/com/browsermob/api/BrowserMob.html#waitForNetworkTrafficToStop(long,%20long)" target="_blank">BrowserMob API’s waitForNetworkTrafficToStop</a>.</p>
<p>Modifying the second snippet from above:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">60000</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1c]</p>
<p><em>When is BrowserMob API’s waitForNetworkTrafficToStop helpful? </em></p>
<p>Consider the scenario wherein the user loads the site united.com and tries to find the airport code using the site’s AutoSuggest feature.</p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/UNITED.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/UNITED.png" alt="" width="521" height="506" /></a></p>
<p>Let’s consider the snippet below that tries to simulate the above scenario:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Step 1: United Airlines Home&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.united.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span>“Travel information”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Step 2: Choose Flights using AutoSuggest&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id=shop_from0_temp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">typeKeys</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id=shop_from0_temp&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;SAN &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">mouseOver</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;css=div#autoSuggestDiv &amp;gt; div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">clickAt</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;css=div#autoSuggestDiv &amp;gt; div&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
………
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1d]</p>
<p>Running a validation for the script above threw the error “Element css=div#autoSuggestDiv &gt; div not found”. What was the reason? Look at the waterfall chart for united.com Home page below:</p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/index.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/index.png" alt="" width="743" height="28" /></a></p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/united_1a.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/united_1a.png" alt="" width="929" height="577" /></a><br />
<a href="http://blog.browsermob.com/wp-content/uploads/2011/08/united_2a.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/united_2a.png" alt="" width="929" height="540" /></a><br />
<a href="http://blog.browsermob.com/wp-content/uploads/2011/08/united_3a.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/united_3a.png" alt="" width="850" height="560" /></a><br />
<a href="http://blog.browsermob.com/wp-content/uploads/2011/08/united_4a.png"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/united_4a.png" alt="" width="929" height="305" /></a></p>
<p>The ‘waitForPageToLoad’ at Step 1 captured the traffic only until the document was complete. But as the waterfall chart above shows, several images, JavaScript files and iframes loaded asynchronously after the document was complete, especially the JavaScript file ‘airportSuggestion.js’ which was required for the autosuggestion at Step 2. Since the script simulated entering of the airport code ‘SAN’ even before the airportSuggestion.js was loaded, the autosuggest did not work as expected, resulting in a script failure.</p>
<p>Here is the modified script that works as expected:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Step 1: United Airlines Home &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.united.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">waitForNetworkTrafficToStop</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2000</span><span style="color: #339933;">,</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Travel information&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Step 2: Choose Flights using AutoSuggest &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id=shop_from0_temp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">typeKeys</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id=shop_from0_temp&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;SAN &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// wait for the network traffic to stop and the autosuggest to populate</span>
browserMob.<span style="color: #660066;">waitForNetworkTrafficToStop</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2000</span><span style="color: #339933;">,</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">mouseOver</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;css=div#autoSuggestDiv &amp;gt; div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">clickAt</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;css=div#autoSuggestDiv &amp;gt; div&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1e]</p>
<p>I’d like to highlight one more important aspect of the ‘waitForPageToLoad/waitFor[Text/Element]Present’ and ‘waitForPageToLoad/verify[Text/Element]Present’ combination. While both work fine it is recommended to use the combination waitForPageToLoad/verify[Text/Element]Present for load testing. Why?</p>
<p>Consider the snippets below:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">60000</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1f]</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">60000</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home Page&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>[Example: 1g]</p>
<p>Both would exhibit the same behavior when the page loads successfully. However, in the instance of an error, say an ‘Internal Server’ error or a ‘Connection Reset’ error, the script would declare an error immediately after the error page loads with script 1f while it’ll wait for 60 more seconds to declare the same error with script 1g as the ‘waitForTextPresent(“Latest news”) is going to wait for 60 more seconds, which is the timeout we’ve set in the script, to declare the same content error, irrespective of the page’s status code. Besides,  script 1f will help simulate more transactions in the same amount of time than script 1g, especially in the event of errors.</p>
<li><em><strong>Setting Proper Timeouts</strong></em></li>
<p>The default selenium timeout is 30 seconds (30000 milliseconds) and the default TimeUnit in use by BrowserMob is milliseconds. It must be remembered that most of the &#8216;waitFor&#8217; commands like the &#8216;waitForElementpresent&#8217;, &#8216;waitForVisible&#8217;, &#8216;waitFortextPresent&#8217; etc wait for however long this default selenium timeout is set to. Timeouts can be set the following way in the script:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">60000</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>It is recommended to set the timeout value before the actual transaction begins in the script. Studies show that the ideal page load time is 5 seconds. Any amount of load time greater than this is considered unacceptable for real users. However, 5 seconds is too small of a timeout threshold for load testing as load times are expected to rise with increase in user load. Hence, 60 seconds to 120 seconds would be considered ideal. The upper limit on the timeout threshold set by BrowserMob is 120 seconds.</p>
<p>Occasionally, you may have the necessity to set a different timeout value for different page loads which can be accomplished by the solution proposed in this <a href="http://blog.browsermob.com/2010/06/advanced-handling-of-page-timeouts-in-selenium/" target="_blank">article</a>. The article on <a href="http://blog.browsermob.com/2011/03/selenium-tips-wait-with-waitforcondition/" target="_blank">waitForCondition</a> may also make an interesting read to learn more about advanced handling of timeouts.</p>
<li><em><strong>Optimization of Locators</strong></em></li>
<p>Selenium provides several ways of locating elements on pages. It may be worthwhile to read through this before proceeding further: <a href="http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/dotnet/Selenium.html" target="_blank">http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/dotnet/Selenium.html</a></p>
<p>The most commonly used locator is the xpath. FireFox plugins like xpath finder, firebug may be used to identify the correct xpath for the appropriate elements. Below are a couple of useful articles on this topic:</p>
<p><a href="http://blog.browsermob.com/2008/12/using-firebug-for-load-testing/" target="_blank">http://blog.browsermob.com/2008/12/using-firebug-for-load-testing/ </a></p>
<p><a href="http://blog.browsermob.com/2009/04/test-your-selenium-xpath-easily-with-firebug/" target="_blank">http://blog.browsermob.com/2009/04/test-your-selenium-xpath-easily-with-firebug/</a></p>
<p><a href="http://blog.browsermob.com/wp-content/uploads/2011/08/xpath1.bmp"><img src="http://blog.browsermob.com/wp-content/uploads/2011/08/xpath1.bmp" alt="" /></a></p>
<p>Optimization of the locators used is extremely important for script robustness and re-usability. In the screenshot below, the IDE has captured the xpath ‘link=Arrested GI had gunpowder, ammo’ when clicking on the first article under “Latest News”. Obviously, the script will work only until this article is available on the Home Page. The xpath shown by firefbug for the same is ‘/html/body/div[5]/div/div[4]/div[3]/div/div[3]/div/ul[2]/li/a’ . Again, this might work temporarily but the moment the site is updated and the DOM changes, the script could break because of this complex xpath as the hierarchy of the elements could have been altered. ‘//ul[@class='cnn_bulletbin']/li[1]/a’ would be a much more optimized and a less brittle xpath for this example. Learn more about locators and pattern matching <a href="http://blog.browsermob.com/2011/02/regular-expressions-and-pattern-matching-with-browsermob-and-selenium/" target="_blank">here</a>.</p>
<li><em><strong>Pause Times</strong></em></li>
<p>Inserting pause times in between steps is essential in order to simulate real user actions more closely. A range of pause times is recommended over a fixed time as different users browse through a web site at different paces. Both <a href="http://static.browsermob.com/api/com/browsermob/api/BrowserMob.html#pause(long)" target="_blank">BrowserMob</a> and <a href="http://static.browsermob.com/api/com/browsermob/api/Selenium.html#pause(java.lang.String)" target="_blank">Selenium API’s pause</a> method can be used to insert think/pause times in between steps.</p>
<li><em><strong>Randomization</strong></em></li>
<p>In the context of load testing, I want to emphasize the extreme importance of having large datasets available for testing. Many important bugs simply do not surface unless you deal with very large entities such thousands of users, thousands of mail server mailboxes etc. For scenarios involving product checkout, browsing through product pages etc, consider randomizing the product being purchased or browsed through, from a list of several products in order to simulate real user behavior more realistically as not all users are going to be purchasing the same product at the same time. Randomization and parameterization can be achieved in a few ways which are explained in depth <a href="http://blog.browsermob.com/2010/10/parameterizing-your-tests-part-2/" target="_blank">here</a> and <a href="http://blog.browsermob.com/help/creating-a-test/parameterizing-your-tests/" target="_blank">here</a>.</p>
<li><strong><em>Use of quickStop() and stopExpected()</em></strong></li>
<p>The BrowserMob API has two methods that come in handy when you want to pause a test that has exceptionally lengthy scripts running, such as loops that repeat certain actions several times over the course of the script execution.</p>
<p>By default, when a test is paused, BrowserMob will wait for the actively running scripts to finish executing and complete the current transaction. Long running scripts with loops or scripts testing a streaming video will not be interrupted until they complete. So in order to abort such transactions immediately on pausing, it is important to include the method <a href="http://static.browsermob.com/api/com/browsermob/api/BrowserMob.html#quickStop%28%29" target="_blank">browserMob.quickStop()</a> at the top of the script.</p>
<p>However, forcefully aborting the scripts could result in an increased error rate, skewing the results. This can be avoided by using quickStop() in conjunction with <a href="http://static.browsermob.com/api/com/browsermob/api/BrowserMob.html#stopExpected%28%29" target="_blank">stopExpected()</a>. This instructs BrowserMob that the script is expecting to be stopped at any time and if that happens, the sudden stop should not be considered an error.</p>
<p>Here is a complete script, incorporating all of the above:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">browserMob.<span style="color: #660066;">quickStop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">stopExpected</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> selenium <span style="color: #339933;">=</span> browserMob.<span style="color: #660066;">openBrowser</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> c <span style="color: #339933;">=</span> browserMob.<span style="color: #660066;">getActiveHttpClient</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//  Set the timeout threshold</span>
<span style="color: #006600; font-style: italic;">//  Set a different timeout threshold for local validation as it has a limit on the</span>
<span style="color: #006600; font-style: italic;">// transaction length, capped at 2 minutes.</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>browserMob.<span style="color: #660066;">isValidation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 	<span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">30000</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
 	<span style="color: #003366; font-weight: bold;">var</span> timeout <span style="color: #339933;">=</span> <span style="color: #CC0000;">120000</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
selenium.<span style="color: #660066;">setTimeout</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//*************** Randomize think time *********************//</span>
<span style="color: #003366; font-weight: bold;">function</span> randomXToY<span style="color: #009900;">&#40;</span>minVal<span style="color: #339933;">,</span>maxVal<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
 	<span style="color: #003366; font-weight: bold;">var</span> randVal <span style="color: #339933;">=</span> minVal<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>maxVal<span style="color: #339933;">-</span>minVal<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	<span style="color: #000066; font-weight: bold;">return</span> Math.<span style="color: #660066;">floor</span><span style="color: #009900;">&#40;</span>randVal<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> sleep<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
 	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>browserMob.<span style="color: #660066;">isValidation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  		browserMob.<span style="color: #660066;">pause</span><span style="color: #009900;">&#40;</span>randomXToY<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 	<span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
  		browserMob.<span style="color: #660066;">pause</span><span style="color: #009900;">&#40;</span>randomXToY<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//********** Randomly pick an articleId, SearchString combination *************//</span>
<span style="color: #003366; font-weight: bold;">function</span> randOption<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> list <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;1,PERMALINK;2,Related Links;3,Related Articles;4,Most Popular&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> myArray <span style="color: #339933;">=</span> list.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//pick a random combination from the array every time</span>
	<span style="color: #003366; font-weight: bold;">var</span> position <span style="color: #339933;">=</span> Math.<span style="color: #660066;">floor</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>myArray.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> myArray1 <span style="color: #339933;">=</span> myArray<span style="color: #009900;">&#91;</span>position<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> myArray1<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> selected <span style="color: #339933;">=</span> randOption<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;,&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> id <span style="color: #339933;">=</span> selected<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> string <span style="color: #339933;">=</span> selected<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Logging the variables being set provides a good means of troubleshooting</span>
browserMob.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Begin Transaction</span>
transaction <span style="color: #339933;">=</span> browserMob.<span style="color: #660066;">beginTransaction</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Open CNN Home&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://www.cnn.com/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Latest news&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
sleep<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">beginStep</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Click on a random article&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// Randomly clicking on an article with every script run</span>
selenium.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;//ul[@class='cnn_bulletbin']/li[&quot;</span><span style="color: #339933;">+</span>id<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;]/a&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">waitForPageToLoad</span><span style="color: #009900;">&#40;</span>timeout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
selenium.<span style="color: #660066;">verifyTextPresent</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
browserMob.<span style="color: #660066;">endStep</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
browserMob.<span style="color: #660066;">endTransaction</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>As web sites get complex, the scenarios for the load testing tend to get complex and so does the scripting and other load testing requirements such as configuration and set up. Our team of trained load testing experts is waiting to assist you with all your complex load testing requirements. <a href="http://www.webmetrics.com/About-Us/Contact-Us" target="_blank">Contact us</a> right away and get all your load testing needs fulfilled!!</p>
<p>Hope you enjoyed reading this article as much as I enjoyed writing it. Coming up next in this Load Testing Best Practices blog series is “Test Execution” so be sure to stay tuned.</p>
<p>Happy Testing!!</ol>
<hr />
<p><strong>More articles<em>In the Driver&#8217;s Seat</em> Series:</strong><br />
<a href="http://blog.browsermob.com/2011/07/repost-in-the-drivers-seat-load-testing-best-practices-planning-2/">Part One: Planning</a><br />
<a href="http://blog.browsermob.com/2011/07/repost-in-the-driver%e2%80%99s-seat-load-testing-best-practices-configuration/">Part Two: Configuration</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/08/repost-in-the-driver%e2%80%99s-seat-load-testing-best-practices-%e2%80%93-scripting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Customer Success Story: ConnectEDU’s web apps keep pace with the company’s growth with BrowserMob Monitoring</title>
		<link>http://blog.browsermob.com/2011/08/customer-success-story-connectedu%e2%80%99s-web-apps-keep-pace-with-the-company%e2%80%99s-growth-with-browsermob-monitoring/</link>
		<comments>http://blog.browsermob.com/2011/08/customer-success-story-connectedu%e2%80%99s-web-apps-keep-pace-with-the-company%e2%80%99s-growth-with-browsermob-monitoring/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 23:44:58 +0000</pubDate>
		<dc:creator>Connie</dc:creator>
				<category><![CDATA[Customer Feature]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Monitoring]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1534</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
As ConnectEDU continues to expand, it must have reliable web apps. Anything less will hamper performance and profitability. With BrowserMob Performance Monitoring solution, the company is ready to sustain their growth—not just theirs but that of the students whose dreams they help achieve. Learn More.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>As ConnectEDU continues to expand, it must have reliable web apps. Anything less will hamper performance and profitability. With BrowserMob Performance Monitoring solution, the company is ready to sustain their growth—not just theirs but that of the students whose dreams they help achieve. <a href="http://blog.browsermob.com/wp-content/uploads/2011/08/cs_bmob_connectedu_web.pdf">Learn More</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/08/customer-success-story-connectedu%e2%80%99s-web-apps-keep-pace-with-the-company%e2%80%99s-growth-with-browsermob-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrowserMob Helps SMBs with Participation in Start-Up, Boot-Up</title>
		<link>http://blog.browsermob.com/2011/04/browsermob-helps-smbs-with-participation-in-start-up-boot-up/</link>
		<comments>http://blog.browsermob.com/2011/04/browsermob-helps-smbs-with-participation-in-start-up-boot-up/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 18:16:55 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BrowserMob]]></category>
		<category><![CDATA[Contegix]]></category>
		<category><![CDATA[Load Testing]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[SUBU]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=1019</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
Are you a start-up looking to get your rock star business out of a basement and into an office complete with technology solutions fit for an Enterprise? This year Contegix is hosting its national Start-Up, Boot-UpTM competition, where one winner will be given more than $75,000 in “Enterprize” technology tools and office space. Along with <a href='http://blog.browsermob.com/2011/04/browsermob-helps-smbs-with-participation-in-start-up-boot-up/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>Are you a start-up looking to get your rock star business out of a basement and into an office complete with technology solutions fit for an Enterprise? This year <a href="http://www.contegix.com/">Contegix</a> is hosting its national <a href="http://startupbootup.com/">Start-Up, Boot-Up</a><sup>TM</sup> competition, where one winner will be given more than $75,000 in “Enterprize” technology tools and office space.</p>
<p>Along with other solution providers<a href="http://browsermob.com/performance-testing">, BrowserMob</a> will award the winning start-up with a free load testing and monitoring plan, perfect for a website that is sure to get a ton of new traffic.</p>
<p>Interested? See below for the details.</p>
<p><strong>Who: </strong>Contegix and BrowserMob</p>
<p><strong>What: </strong>Start-Up, Boot-Up<sup>TM</sup> (SUBU) competition</p>
<p><strong>Where:</strong> Submit under the ‘Enter Now’ tab on the <a href="http://startupbootup.com/">SUBU website</a></p>
<p><strong>When</strong>: Fill out the entry form on the SUBU website <strong>by Sunday, April 10</strong></p>
<p>The winner will be announced on Tuesday, May 3. Good luck! For more information check out the Start-Up, Boot-Up<sup>TM</sup> <a href="http://startupbootup.com/">website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/04/browsermob-helps-smbs-with-participation-in-start-up-boot-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrowserMob/FriendRunner Contest for Facebook Application Developers &#8211; Win $100 Amazon Gift Card</title>
		<link>http://blog.browsermob.com/2011/03/browsermobfriendrunner-contest-for-facebook-application-developers-win-100-amazon-gift-card/</link>
		<comments>http://blog.browsermob.com/2011/03/browsermobfriendrunner-contest-for-facebook-application-developers-win-100-amazon-gift-card/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 17:58:20 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BrowserMob]]></category>
		<category><![CDATA[Cloud FriendRunner]]></category>
		<category><![CDATA[facebook applications]]></category>
		<category><![CDATA[FriendRunner]]></category>
		<category><![CDATA[Load Testing]]></category>
		<category><![CDATA[Selenium 2]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=977</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
As you may have seen, Neustar’s BrowserMob Load Testing and FriendRunner announced last week that the two companies have joined forces to provide developers with a cost-effective solution to test Facebook applications before viral deployment to the community.  As such, we would like to hear from you regarding best practices and challenges you have overcome <a href='http://blog.browsermob.com/2011/03/browsermobfriendrunner-contest-for-facebook-application-developers-win-100-amazon-gift-card/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>As you may have seen, Neustar’s <a href="http://browsermob.com/performance-testing">BrowserMob  Load  Testing</a> and <a href="http://www.friendrunner.com/">FriendRunner</a> announced last week that the two companies have joined forces to provide developers with a cost-effective solution to  test Facebook applications before viral deployment to the community.  As such, we would like to hear from you regarding best practices and challenges you have overcome in developing applications for Facebook. Included below are details for the BrowserMob-sponsored contest, where you can simply send in a 200-word entry in order to win a $100 Amazon gift card!</p>
<p><strong>Who</strong>: BrowserMob and FriendRunner</p>
<p><strong>What</strong>: Application developers highlighting best practices with developing Facebook applications for community use &#8211; WINNERS receive $100 Amazon Gift Card!</p>
<p><strong>Where</strong>: Submit within the &#8220;<a href="http://www.browsermob.com/landing/friendrunner" target="_blank">request more information section</a>&#8221;</p>
<p><strong>When</strong>: Deadline for submissions is 5pm ET on Tuesday, April 5th</p>
<p><strong>How</strong>: Provide a 200 word overview of best practices for developing Facebook applications and describe obstacles you have overcome within the development phase. Winners will be announced on Friday, April 8th.</p>
<p>Good Luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/03/browsermobfriendrunner-contest-for-facebook-application-developers-win-100-amazon-gift-card/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Neustar’s BrowserMob Teams Up With with FriendRunner to Develop and Test Facebook Applications</title>
		<link>http://blog.browsermob.com/2011/03/neustar%e2%80%99s-browsermob-teams-up-with-with-friendrunner-to-develop-and-test-facebook-applications/</link>
		<comments>http://blog.browsermob.com/2011/03/neustar%e2%80%99s-browsermob-teams-up-with-with-friendrunner-to-develop-and-test-facebook-applications/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 21:35:23 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BrowserMob]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Cloud FriendRunner]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FriendRunner]]></category>
		<category><![CDATA[Load Testing]]></category>
		<category><![CDATA[Selenium]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=966</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
As you may have seen, we announced some exciting news today: Neustar’s BrowserMob Load Testing and FriendRunner have joined forces. With these platforms combined, developers will be better able to test Facebook applications and ensure they are ready for viral deployment before launching them publicly to the Facebook community. So why did we form this <a href='http://blog.browsermob.com/2011/03/neustar%e2%80%99s-browsermob-teams-up-with-with-friendrunner-to-develop-and-test-facebook-applications/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p align="center"><strong> </strong></p>
<p>As you may have seen, we announced some exciting news today: Neustar’s <a href="http://browsermob.com/performance-testing">BrowserMob Load Testing</a> and <a href="http://www.friendrunner.com/">FriendRunner</a> have joined forces. With these platforms combined, developers will be better able to test Facebook applications and ensure they are ready for viral deployment before launching them publicly to the Facebook community.</p>
<p>So why did we form this relationship? Well, Facebook’s unique architecture makes it more challenging to perform traditional load testing. However, with this solution, application developers can run load tests easily and efficiently, all while staying within budget.</p>
<p>BrowserMob’s loyal customers know that it’s Load Testing helps to identify web performance bottlenecks, get a handle on how much traffic your site can handle, and make sure that your applications are ready for launch. FriendRunner is a drop-in replacement for the Facebook servers, providing a cloud-based platform developed by Sericon Technology for load testing Facebook applications outside the Facebook system.</p>
<p>Some of the key  features includes:</p>
<ul>
<li>Selenium open-source toolkit</li>
<li>Export MySQL</li>
<li>Fast set-up — start testing in minutes, plus run a free test immediately</li>
<li>Supports testing of flash applications</li>
<li>And More….</li>
</ul>
<p>Combined, these two solutions provide a robust tool for application and web developers alike.  Don’t wait &#8212; learn more about this solution at <a href="http://bit.ly/igkOUe">http://bit.ly/igkOUe</a> and get started testing applications today!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2011/03/neustar%e2%80%99s-browsermob-teams-up-with-with-friendrunner-to-develop-and-test-facebook-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Holiday Maintenance</title>
		<link>http://blog.browsermob.com/2010/12/holiday-maintenance/</link>
		<comments>http://blog.browsermob.com/2010/12/holiday-maintenance/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 04:06:56 +0000</pubDate>
		<dc:creator>Ian White</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.browsermob.com/?p=866</guid>
		<description><![CDATA[Happy Holidays from the BrowserMob crew! We're taking an opportunity while everyone is distracted to perform a few performance upgrades on the site. The maintenance window is scheduled for a full 12 hour period on Sunday December 26, from noon to midnight PST.]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top:40%;
left:60px;
z-index:1;
background-color:#F0F4F9}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;
width:55px;
height:60px;
padding-bottom:2px;
}


#bottomcontainerBox {
float:left;
height:30px;
width:100%;
background-color:#F0F4F9}

#bottomcontainerBox .buttons {
float:left;
height:30px;
width:85px;
margin:4px 4px 4px 4px;
}

</style>
<p>Happy Holidays from the BrowserMob crew! I hope everyone has a chance to spend some quality time with friends and family this week, and a few moments away from the keyboard.</p>
<p>We&#8217;re taking an opportunity while everyone is distracted to perform a few performance upgrades on the site. The maintenance window is scheduled for a 12 hour period on Sunday December 26, from noon to midnight PST. We don&#8217;t expect more than a few minutes of actual interruption to any individual service and the website will remain accessible during the maintenance window. Monitoring will continue as expected the entire time, with a small possibility of delayed alerts. We will leave the maintenance notification up until all upgrades have been completed. Here&#8217;s a rundown of what we are changing and how it might effect you.</p>
<p><strong>Upgrades to the website:</strong> browsermob.com will go offline for about 5 minutes at the beginning of the maintenance window so that we can release the latest code. Once rebooted, all of the normal functionality will be available except that you won&#8217;t be able to schedule a load test until maintenance is complete. Our priority is to make sure our customer&#8217;s needs are met, and if you have a requirement to run a test during this time we will be sure to accommodate, just give us a call (1 503 828-9003) or <a href="mailto:support@browsermob.com">send us an email</a></p>
<p><strong>Upgrades to load testing:</strong> We&#8217;re in the middle of improving the load testing infrastructure with the aim of increasing efficiency and ultimately providing our customers with the best features and pricing possible. The load testing updates this time around will go largely unnoticed, as it is mostly back-end changes, but tests will be more reliable and it will set us up for some bigger changes to come.</p>
<p><strong>Upgrades to monitoring:</strong> Each account&#8217;s monitoring database will be upgraded to increase performance. While the upgraded is being performed, monitoring charts will be unavailable and new transactions will be delayed. The entire process should take less than five minutes for each account, before and after which you&#8217;ll be able to access your monitoring charts as usual. Just to be clear, your monitoring will <strong>not</strong> be interrupted, it will continue to run as scheduled throughout the entire monitoring window. There is a slight chance that if a site you are monitoring goes down at the same time we&#8217;re upgrading your particular account, you will receive an email notification a few minutes later than expected. After which you should notice a marked improvement in the speed of your monitoring charts and reports.</p>
<p>Please feel free to <a href="mailto:support@browsermob.com">contact us</a> with any questions or concerns during this period. Our aim was to pick a window that would impact as few users as possible, but we are definitely here to make sure everyone is taken care of. Enjoy the holidays and have a wonderful end to 2010!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.browsermob.com/2010/12/holiday-maintenance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (enhanced)

Served from: blog.browsermob.com @ 2012-02-04 02:50:58 -->
