<?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>James Eisenhauer</title>
	<atom:link href="http://www.jameseisenhauer.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jameseisenhauer.com</link>
	<description>Chief Quality Scientist @HubbubHealth, Data Nerd, Software Engineer, Curator @PDXSelenium &#38; Automator of all things</description>
	<lastBuildDate>Wed, 15 May 2013 21:00:47 +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>Selected to Speak @ PacNW Software Quality Conference!</title>
		<link>http://www.jameseisenhauer.com/2013/05/15/selected-to-speak-at-2013-pacific-nw-software-quality-conference/</link>
		<comments>http://www.jameseisenhauer.com/2013/05/15/selected-to-speak-at-2013-pacific-nw-software-quality-conference/#comments</comments>
		<pubDate>Wed, 15 May 2013 20:31:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=671</guid>
		<description><![CDATA[Selected to Speak at 2013 Pacific NW Software Quality Conference! Super excited.  PNSCQ is always a great conference and it shows what a great Software Quality community we have here! Hope to see you there!! http://www.pnsqc.org/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Title: Mobile Continuous Delivery &#8211; Automating the iPhone App build pipeline Abstract: Releasing high quality software quickly is always a challenge. [...]]]></description>
			<content:encoded><![CDATA[<p>Selected to Speak at 2013 Pacific NW Software Quality Conference!</p>
<p>Super excited.  PNSCQ is always a great conference and it shows what a great Software Quality community we have here!</p>
<p>Hope to see you there!! <a href="http://www.pnsqc.org/">http://www.pnsqc.org/</a></p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/headerb14sm.jpg"><img class="aligncenter size-full wp-image-676" title="headerb14sm" src="http://www.jameseisenhauer.com/wp-content/uploads/headerb14sm.jpg" alt="" width="400" height="91" /></a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Title: Mobile Continuous Delivery &#8211; Automating the iPhone App build pipeline</strong></p>
<p><strong id="docs-internal-guid-2904d718-a9dd-11ac-cc68-b2e6f8287675"> </strong></p>
<p dir="ltr"><strong id="docs-internal-guid-2904d718-a9dd-11ac-cc68-b2e6f8287675">Abstract:<br />
Releasing high quality software quickly is always a challenge.  Add mobile devices and Apple’s iPhone infrastructure and now we have an almost impossible task.</strong></p>
<p dir="ltr"><strong id="docs-internal-guid-2904d718-a9dd-11ac-cc68-b2e6f8287675">Configuration changes, static code analysis, code compilation, unit testing, 3rd party &amp; API testing, security testing, functional testing, beta testing &amp; production release.  In the past this task would take a large team multiple weeks if not months to complete.  Today we do this in minutes and on every code change.  The mobile world moves fast and we have to move with it.</strong></p>
<p dir="ltr"><strong id="docs-internal-guid-2904d718-a9dd-11ac-cc68-b2e6f8287675">This paper describes the design and process I went through implementing hubbub Health’s continuous delivery pipeline for their native iPhone application.  It will cover tool selection, test automation frameworks, test strategy, cloud resources, mobile challenges &amp; techniques for dealing with Apple’s challenging iOS environment.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2013/05/15/selected-to-speak-at-2013-pacific-nw-software-quality-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Native iPhone App Test Automation with Appium</title>
		<link>http://www.jameseisenhauer.com/2013/02/23/native-iphone-app-test-automation-with-appium/</link>
		<comments>http://www.jameseisenhauer.com/2013/02/23/native-iphone-app-test-automation-with-appium/#comments</comments>
		<pubDate>Sat, 23 Feb 2013 16:14:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[appium]]></category>
		<category><![CDATA[hubbubhealth]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[test automation]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=658</guid>
		<description><![CDATA[Slide deck from a presentation I gave to the Portland Selenium &#38; Test Automation User Group featuring Appium for iPhone test automation. &#160; Slides &#8211; Native iPhone App Test Automation with Appium]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: left;">Slide deck from a presentation I gave to the <a href="http://www.meetup.com/pdx-se/">Portland Selenium &amp; Test Automation User Group</a> featuring <a href="http://www.appium.io">Appium</a> for iPhone test automation.</h2>
<p style="text-align: left;"><a href="http://www.jameseisenhauer.com/wp-content/uploads/Native-iPhone-App-Test-Automation-with-Appium.pdf" target="_blank"><img class="size-medium wp-image-666" title="Screen Shot 2013-02-23 at 8.22.59 AM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2013-02-23-at-8.22.59-AM-300x224.png" alt="" width="300" height="224" /></a></p>
<p>&nbsp;</p>
<h3><a href="http://www.jameseisenhauer.com/wp-content/uploads/Native-iPhone-App-Test-Automation-with-Appium.pdf">Slides &#8211; Native iPhone App Test Automation with Appium</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2013/02/23/native-iphone-app-test-automation-with-appium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portland Selenium User Group Presentation</title>
		<link>http://www.jameseisenhauer.com/2012/08/17/portland-selenium-user-group-presentation-on-iphone-webdriver/</link>
		<comments>http://www.jameseisenhauer.com/2012/08/17/portland-selenium-user-group-presentation-on-iphone-webdriver/#comments</comments>
		<pubDate>Fri, 17 Aug 2012 18:06:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[hubbub]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[webdriver]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=644</guid>
		<description><![CDATA[Thanks everyone for coming to the meetup!  It was great fun and great questions/discussion/comments!! &#160; I have attached a copy of my presentation. Hubbub Health iPhone Test Automation &#160;]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-645" title="Screen Shot 2012-08-17 at 10.59.46 AM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-08-17-at-10.59.46-AM-300x60.png" alt="" width="300" height="60" /></p>
<p>Thanks everyone for coming to the meetup!  It was great fun and great questions/discussion/comments!!</p>
<p>&nbsp;</p>
<p>I have attached a copy of my presentation.</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Hubbub-Health-iPhone-Test-Automation.pdf">Hubbub Health iPhone Test Automation</a></p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/pdxseiphone2.jpg"><img class="alignnone size-full wp-image-655" title="pdxseiphone2" src="http://www.jameseisenhauer.com/wp-content/uploads/pdxseiphone2.jpg" alt="" width="640" height="640" /></a></p>
<p>&nbsp;</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/pdxseiphone1.jpg"><img class="alignnone size-full wp-image-656" title="pdxseiphone1" src="http://www.jameseisenhauer.com/wp-content/uploads/pdxseiphone1.jpg" alt="" width="600" height="359" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2012/08/17/portland-selenium-user-group-presentation-on-iphone-webdriver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Selenium iPhone Simulator</title>
		<link>http://www.jameseisenhauer.com/2012/08/11/selenium-iwebdriver-apple-iphone-simulator-iphonewebdriversim/</link>
		<comments>http://www.jameseisenhauer.com/2012/08/11/selenium-iwebdriver-apple-iphone-simulator-iphonewebdriversim/#comments</comments>
		<pubDate>Sun, 12 Aug 2012 00:05:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[webdriver]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=614</guid>
		<description><![CDATA[Find a pre-prepackaged Selenium Webdriver app and iPhone simulator.  Also in the readme on github you will find easy command line instructions on how to start and stop the simulator. https://github.com/jameseisenhauer/iPhoneWebDriverSim &#160; &#160; &#160; Selenium iPhone Driver http://code.google.com/p/selenium/wiki/IPhoneDriver &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-08-11-at-5.19.07-PM.png"><img class="alignnone size-full wp-image-631" title="Screen Shot 2012-08-11 at 5.19.07 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-08-11-at-5.19.07-PM.png" alt="" width="300" height="153" /></a></p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Octocat-e1344732314510.png"><img title="Octocat" src="http://www.jameseisenhauer.com/wp-content/uploads/Octocat-e1344732314510.png" alt="" width="125" height="125" /></a></p>
<h3><a href="http://www.jameseisenhauer.com/wp-content/uploads/Octocat-e1344732314510.png"></a>Find a pre-prepackaged Selenium Webdriver app and iPhone simulator.  Also in the readme on github you will find easy command line instructions on how to start and stop the simulator.<br />
<a href="https://github.com/jameseisenhauer/iPhoneWebDriverSim" target="_blank">https://github.com/jameseisenhauer/iPhoneWebDriverSim</a></h3>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/xcodeLogo-e1344732267970.png"><img class="alignnone size-full wp-image-638" title="xcodeLogo" src="http://www.jameseisenhauer.com/wp-content/uploads/xcodeLogo-e1344732267970.png" alt="" width="125" height="115" /></a></p>
<p>&nbsp;</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-08-11-at-5.39.50-PM-e1344732197641.png"><img class="alignnone size-full wp-image-639" title="Screen Shot 2012-08-11 at 5.39.50 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-08-11-at-5.39.50-PM-e1344732197641.png" alt="" width="150" height="37" /></a><br />
Selenium iPhone Driver<a href="http://code.google.com/p/selenium/wiki/IPhoneDriver" target="_blank"></p>
<p>http://code.google.com/p/selenium/wiki/IPhoneDriver</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="https://github.com/jameseisenhauer/iPhoneWebDriverSim" target="_blank"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2012/08/11/selenium-iwebdriver-apple-iphone-simulator-iphonewebdriversim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance Testing in the Cloud &#8211; Tool Evaluation</title>
		<link>http://www.jameseisenhauer.com/2012/06/03/performance-testing-in-the-cloud/</link>
		<comments>http://www.jameseisenhauer.com/2012/06/03/performance-testing-in-the-cloud/#comments</comments>
		<pubDate>Sun, 03 Jun 2012 19:30:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[blazemeter]]></category>
		<category><![CDATA[blitz]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[load testing]]></category>
		<category><![CDATA[loadui]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[soasta]]></category>
		<category><![CDATA[stress testing]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=521</guid>
		<description><![CDATA[&#160; &#160; Performance Testing in the Cloud.  No real servers required.  How do the solutions stack up? The plan is to test all three four (added JMeter &#38; BlazeMeter to the mix!) of the above tools and see what they can do! The Scenario:  The slash dot effect&#8230;.or whatever they call it now&#8230;hacker news&#8217;ed? How [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/perftestheader.jpg"><img class="alignnone size-full wp-image-625" title="perftestheader" src="http://www.jameseisenhauer.com/wp-content/uploads/perftestheader.jpg" alt="" width="575" height="162" /></a></p>
<p>Performance Testing in the Cloud.  No real servers required.  How do the solutions stack up?</p>
<p>The plan is to test all <del>three</del> four (added JMeter &amp; BlazeMeter to the mix!) of the above tools and see what they can do!</p>
<p>The Scenario:  The slash dot effect&#8230;.or whatever they call it now&#8230;hacker news&#8217;ed?<br />
How about a contest!</p>
<p>Imagine you are going to run a Super Bowl commercial and instruct people to go to a website and submit as many entries as possible for a chance to win 1 million dollars!<br />
You just might end up with the Faster Faster Pussycat Contest!<br />
But can your web site handle the load?  Lets see!</p>
<p><img class="alignnone size-full wp-image-536" title="Fasterfaster" src="http://www.jameseisenhauer.com/wp-content/uploads/Fasterfaster.png" alt="" width="459" height="731" /><a href="http://www.jameseisenhauer.com/wp-content/uploads/Fasterfaster.png"></p>
<p>http://fasterfaster.herokuapp.com/</p>
<p></a></p>
<p>Test Case: 250 concurrent users viewing &amp; submitting entries.<br />
Yeah yeah I know sounds more like pop warner super bowl&#8230;250 users&#8230;<br />
If the tool will allow we will gradually ramp up the users from 1-250 and run for 1 minutes.</p>
<p>Test Script Steps:</p>
<ol>
<li>Go to Contest site</li>
<li>Go to contest entry page</li>
<li>Fill out and submit entry form</li>
<li>Go back to main Contest site</li>
</ol>
<p>The review criteria:</p>
<ol>
<li> Cost</li>
<li>Ease of setup</li>
<li>Ease of scripting</li>
<li>Ability to handle complex test cases / Flexibility</li>
<li>Reporting</li>
<li>Integration with other tools/environments</li>
</ol>
<p>The Test Environment:<br />
Heroku Cedar &#8211; 2 Web Dyno / 0 Worker Dyno<br />
Rails 3.2<br />
Ruby 1.9.2<br />
Unicorn<br />
Memcache 5MB<br />
Heroku 5mb Shared Database<br />
<a href="http://newrelic.com/" target="_blank">New Relic</a> monitoring</p>
<p>After each test reset the database to Zero records:<br />
<script src="https://gist.github.com/2795771.js"> </script></p>
<p>&nbsp;</p>
<p><img class="alignnone size-medium wp-image-591" title="confused-cat-meme" src="http://www.jameseisenhauer.com/wp-content/uploads/confused-cat-meme-230x300.jpg" alt="" width="230" height="300" /></p>
<p><a href="http://www.soasta.com" target="_blank">soasta.com</a><br />
<img class="alignnone size-full wp-image-543" title="soastamini" src="http://www.jameseisenhauer.com/wp-content/uploads/soastamini.png" alt="" width="72" height="72" /><a href="http://www.jameseisenhauer.com/wp-content/uploads/soastamini.png"><br />
</a> Well not a big fan of SOASTA.  Would have to give kudo&#8217;s to their marketing department.  The reason it made my list to try is because &#8220;I have been hearing&#8221; it&#8217;s a leader in the cloud performance testing area.  The tool available for download on their site is called CloudTest Light&#8230;.I looked &#8230;I couldn&#8217;t find anything &#8220;cloud&#8221; about this tool.</p>
<li><strong>Cost</strong><br />
CloudTest light is a local machine tool that is free and gives you access to a maximum 100 virtual testers.  To scale the tool to their higher services, which do include the cloud, you need to pay but no idea how much.  It feels like the big bait and switch.  Free tool, claims cloud, limited functionality buy our real services to get what you need.  Also I hate talking to software sales people.  So companies that make this a requirement to get any deeper level of knowledge around price I would tend to stay away from.</li>
<li><strong>Ease of setup</strong><br />
CloudTest Light comes as a VMWare virtual server.  Kinda slick and made it real easy to get up and running.</li>
<li><strong>Ease of scripting</strong><br />
This tool greatly failed my &#8220;how long does it take to do a simple load on a single url get&#8221;.  I never got it to work completely and gave up after sitting through 3 tutorial videos and reading a few pages of help documents.   The UI isn&#8217;t intuitive and requires to high of level of knowledge just to run a simple test.  I was able to record a test, convert it to a test and then attempt to make it a real test or whatever 100th step they were requiring and whatever they were calling it.  I stopped here&#8230;shut it all down and deleted it.  Next tool please!</li>
<li><strong>Ability to handle complex test cases / Flexibility<br />
</strong>My guess is this is where the tool shines.  I see many people around the web that like this tool so maybe it is worth spending the effort to learn.  I just like tools that let me add complexity as I need it instead of all or nothing.</li>
<li><strong>Reporting<br />
</strong>not evaluated</li>
<li><strong>Integration with other tools/environments<br />
</strong>not evaluated<strong>&nbsp;</p>
<p></strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong>Screen Shot of CloudTest Lite User Interface </strong></li>
<li><strong> <img class="alignnone size-full wp-image-548" title="SOASTA CloudTestUI" src="http://www.jameseisenhauer.com/wp-content/uploads/SOASTA-CloudTestUI.png" alt="" width="915" height="524" /><br />
</strong></li>
<p>&nbsp;</p>
<p><a href="http://blitz.io" target="_blank">blitz.io</a><br />
<img class="alignnone size-full wp-image-540" title="blitz" src="http://www.jameseisenhauer.com/wp-content/uploads/blitz.png" alt="" width="72" height="72" /></p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/blitz.png"> </a></p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/blitz.png"></a>I really like blitz.io.  I think it can become a really great tool.  It still feels kinda &#8220;beta&#8221;.  The documentation is sparse, major API changes so old support topics don&#8217;t make any sense, all interfaces don&#8217;t behave the same, support seems kinda slow (many support requests are started with &#8220;sorry it took so long&#8230;&#8221;), but it has some really cool things check them out!  This tool really shines in giving teams a general idea on how their site will perform without doing heavy scripting.  If you have a very quick release cycle and are constantly concerned with performance this tool would work well.</p>
<p>Test Case Result:<br />
<a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-2.30.23-PM.png"><img class="alignnone size-full wp-image-566" title="Screen Shot 2012-06-02 at 2.30.23 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-2.30.23-PM.png" alt="" width="450" height="130" /></a><br />
With 2 Web dynos 855 entries were able to be submitted.  To get an idea of scalability here are the numbers with different number of web dyno&#8217;s running.</p>
<p>1 dyno &#8211; 660 entries<br />
2 dyno &#8211; 855 entries<br />
3 dyno &#8211; 1100 entries</p>
<li><strong>Cost<br />
</strong>Cost is reasonable because you only get charged for what you use.  They offer up free 250 virtual users with 1 minutes tests.  You can do quite a bit with this.  And when you need it you can ramp up your ability to 50,000 users for a ~half hour test for about ~$75.  Or more on the reasonable side of things 5000 virtual users for a 5 minute test for about 2 bucks.</li>
<li><strong>Ease of setup<br />
</strong>blitz wins! the do a simple get performance test on a single URL test hands down!!  It was basically add the add-on to your heroku app, click on the new blitz menu, enter the URL and hit run.&nbsp;</p>
<p>I ran a simple home page GET load test for 60 seconds with ramping up users from 1-250.  The results on the left is with 1 web dyno and the one on the right is 2 dynos.  Makes sense&#8230;looks like it doubled performance.  3.49 second response vs. 7.41 seconds<strong><br />
<img class="alignnone size-large wp-image-556" title="Screen Shot 2012-06-02 at 2.20.15 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-2.20.15-PM-1024x514.png" alt="" width="1024" height="514" /><br />
</strong></li>
<li><strong>Ease of scripting<br />
</strong>If  your a curl expert blitz should be easy for you.  They take a lot of function/features from curl.  Doing simple things were easy and fast.</li>
<li><strong>Ability to handle complex test cases / Flexibility<br />
</strong>This is where blitz starts having some issues.  It took me quite a while to get the simple 3 step test working.  Also blitz has a limit of 4 steps.&nbsp;</p>
<p>There are many methods/libraries to create tests with.  It seems some methods are better then others and they don&#8217;t all do the same thing.  For example the below test that worked with the Ruby Gem gave me an error in their web interface.</p>
<p>I also couldn&#8217;t get any of their simple Ruby sample scripts to run completely without error.  I think this has more to do with not updating their documentation then the tool not working, but no way to really know.</li>
<li><strong>Reporting<br />
</strong>Looking at the screen shots above I think you have to agree that the reports are slick!  And if you have a pro New Relic account you can overlay New Relic performance points with blitz results, but&#8230;  If you want to run anything via command line CI, build tool etc&#8230;.you get the below.  You could also pipe out all the data into some format and make your own reports but that&#8217;s all I saw.  Maybe somebody will make a Jenkins Blitz report plugin??</li>
<li>This is the results ran from the command line for our &#8220;official&#8221; test case.  You can see the site started failing around ~180 concurrent users.<br />
<img class="alignnone size-full wp-image-579" title="Screen Shot 2012-06-02 at 4.46.54 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-4.46.54-PM.png" alt="" width="581" height="615" /><strong><br />
</strong><strong> </strong></li>
<li><strong>Integration with other tools/environments<br />
</strong>If your on Heroku using New Relic the integration is very very nice!</li>
<p><a href="http://www.loadui.org/" target="_blank">loadui.org</a></p>
<p><img class="alignnone size-full wp-image-545" title="loaduimini" src="http://www.jameseisenhauer.com/wp-content/uploads/loaduimini.png" alt="" width="68" height="68" /></p>
<p>LoadUI looks and feels slick.  It kinda passes the run a simple load test on a single URL test.  It was REALLY easy, BUT there is no Cloud yet&#8230;and am thinking setting up EC2 servers gonna take away all the easy bonus points <img src='http://www.jameseisenhauer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>After I ran the simple GET load test I found the tool doesn&#8217;t have out of the box simple http POST capability, just GET.  I saw some solutions where you could write it in groovy scripts, custom plugin or use SOAPUI blah blah&#8230;got board/annoyed and uninstalled it.  Not sure if their &#8220;PRO&#8221; version would solve these issues, but it costs $9900.00!!! for a single user license per YEAR!  So wasn&#8217;t even a thought to give the trial a chance.</p>
<p>I told you it looks slick!<br />
<img class="alignnone size-large wp-image-581" title="Screen Shot 2012-06-02 at 6.29.30 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-6.29.30-PM-1024x957.png" alt="" width="819" height="766" /></p>
<p>&nbsp;</p>
<p><a href="http://jmeter.apache.org/ " target="_blank">jmeter.apache.org</a></p>
<p><img class="alignnone size-full wp-image-598" title="JMeter Logo" src="http://www.jameseisenhauer.com/wp-content/uploads/JMeter-Logo.png" alt="" width="133" height="113" /></p>
<p>JMeter seems to be the de facto standard when it comes to performance testing.  Obviously there is no cloud, but one would think you could set it up to run on the Amazon EC2 cloud.  I found a few people talking about it and it doesn&#8217;t seem like a trivial task, but it sounds like an interesting one.  But for the faint of heart somebody already did this for you and they call it Blazemeter!</p>
<p>To see how a non-cloud single instance of JMeter (running on my 8gig mac mini via ~35Mbps/~35Mbps Fios network) would fair running our &#8220;official&#8221; test case.<br />
<a href="http://www.jameseisenhauer.com/wp-content/uploads/1988102844.png"><img class="alignnone size-full wp-image-609" title="1988102844" src="http://www.jameseisenhauer.com/wp-content/uploads/1988102844.png" alt="" width="300" height="135" /></a></p>
<p>Well 250 entries and didn&#8217;t even begin to tax the single dyno instance of the fasterfaster site.  Need MOAR Power!</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-7.27.11-PM.png"><img class="alignnone size-full wp-image-601" title="Screen Shot 2012-06-02 at 7.27.11 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-7.27.11-PM.png" alt="" width="453" height="114" /></a></p>
<li>Cost<br />
Free as in Beer!  Well open source and all that.</li>
<li>Ease of setup<br />
&gt;brew install JMeter<br />
&gt;JMeter<br />
yeah that was easy!</li>
<li>Ease of scripting<br />
Great documentation on the JMeter site.  Was running the simple GET load test within minutes and it only took about 10 more minutes to script up our official Test Case.  So HUGE Kudo&#8217;s to JMeter for ability to create test scripts easy and fast!</li>
<li>Ability to handle complex test cases / Flexibility<br />
Has more power then most people will use.</li>
<li>Reporting<br />
I would say this is the weakest area&#8230;functional but nothing gorgeous like we see with the other tools.</li>
<li>Integration with other tools/environments<br />
It&#8217;s Java and Open Source so &#8220;should be&#8221; able to do anything ya need.</li>
<p>Screen Shot of the JMeter GUI<a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-03-at-11.15.04-AM.png"><br />
<img class="alignnone size-full wp-image-600" title="Screen Shot 2012-06-03 at 11.15.04 AM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-03-at-11.15.04-AM.png" alt="" width="851" height="436" /></a></p>
<p><a href="http://blazemeter.com/" target="_blank">blazemeter.com</a></p>
<p><img class="alignnone size-full wp-image-599" title="FacebookSmall_reasonably_small" src="http://www.jameseisenhauer.com/wp-content/uploads/FacebookSmall_reasonably_small.jpg" alt="" width="72" height="72" /></p>
<p>Lets put JMeter into the Cloud!  A really really really nice implementation of JMeter running on EC2.  You can just upload your JMeter test files and run them!  It is that easy!</p>
<p>I didn&#8217;t spend the time doing math to determine what I think of the cost, but at first glance it seems ~ reasonable~</p>
<p>They limit their test accounts to only 50 virtual users so we were not able to run our &#8220;Official&#8221; test case of 250 users.  BUT they let us run the test for 1 hour!  So we decided to run a &#8220;SOAK&#8221; test!! (or whatever you want to call them <img src='http://www.jameseisenhauer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>We ramped up from 0-50 users over the first 5 minutes and then let 50 concurrent users hit the test case for the next 55 minutes.  We ended up with 6593 entries!!  About ~2 entries a second, compared to the blitz test where we averaged ~14 entries per second.</p>
<p><img class="alignnone size-full wp-image-604" title="Screen Shot 2012-06-02 at 9.46.14 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-9.46.14-PM.png" alt="" width="490" height="117" /></p>
<p>Blazmeter has some really nice reporting features.  You can see response times start to increase as we fill the database with more and more data.  Also I noticed that MemCache was having a fit because the data grew larger then it allowed, which I am sure added to the increase response times and errors we see in the next chart.</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-9.48.34-PM.png"><img class="alignnone size-full wp-image-605" title="Screen Shot 2012-06-02 at 9.48.34 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-9.48.34-PM.png" alt="" width="893" height="400" /></a></p>
<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-606" title="Screen Shot 2012-06-02 at 9.49.19 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-9.49.19-PM.png" alt="" width="889" height="359" /></p>
<p>&nbsp;</p>
<p>I am a strong believer that your server monitoring tools should be the same in your test environments as they are in your production ones.  AND New Relic does an awesome job at it!  If you haven&#8217;t seen them check out the link below.</p>
<p><a href="http://newrelic.extole.com/a/clk/WwXg0" target="_blank">New Relic</a></p>
<p>New Relic Snap shot showing the &#8220;Overview&#8221; view during the Blazemeter soak test.</p>
<p><img class="alignnone size-full wp-image-603" title="Screen Shot 2012-06-02 at 9.45.19 PM" src="http://www.jameseisenhauer.com/wp-content/uploads/Screen-Shot-2012-06-02-at-9.45.19-PM1.png" alt="" width="800" height="239" /></p>
<p>If you actually made it this far amazing!!! What a giant blog article.  If you have any comments questions hit me up on Twitter  <a href="https://twitter.com/jameseisenhauer" target="_blank">@jameseisenhauer</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2012/06/03/performance-testing-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Aggregation of Automated Test Results</title>
		<link>http://www.jameseisenhauer.com/2012/03/14/aggregation-of-automated-test-results/</link>
		<comments>http://www.jameseisenhauer.com/2012/03/14/aggregation-of-automated-test-results/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 20:47:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[aggregation]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[couchDB]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[predict]]></category>
		<category><![CDATA[results]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[test results]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=492</guid>
		<description><![CDATA[Just wanted to show off some of the work I have been doing on aggregation of Automated Test Results. Really just in the early stages, but already have some cool stuff. Architecture and design were highly inspired by Mikeal Rogers and this talk - http://www.youtube.com/watch?v=fWuwcSm_pUo My designs continue to be inspired by the work he and Max Ogden are doing. [...]]]></description>
			<content:encoded><![CDATA[<p>Just wanted to show off some of the work I have been doing on aggregation of Automated Test Results.</p>
<p>Really just in the early stages, but already have some cool stuff.</p>
<p>Architecture and design were highly inspired by <a href="http://www.mikealrogers.com/" target="_blank">Mikeal Rogers</a> and this talk - <a href="http://www.youtube.com/watch?v=fWuwcSm_pUo">http://www.youtube.com/watch?v=fWuwcSm_pUo</a></p>
<p>My designs continue to be inspired by the <a href="https://github.com/mikeal/redcouch">work</a> he and <a href="http://maxogden.com" target="_blank">Max Ogden</a> are doing.</p>
<p>Once you put all your test results into one <em>non</em>-relational data store like  <a href="http://couchdb.apache.org/">Apache CouchDB</a> the possibilities become endless.</p>
<p>First thing I created was a simple yearly test frequency chart.  If you follow my blog you might notice that it looks very familiar to the <a href="http://www.jameseisenhauer.com/2011/09/06/tweet-history-via-couchdb-jquery-sparklines/" target="_blank">Tweet History via CouchDB &amp; JQuery Sparklines!</a> project I did.  That&#8217;s because it is!  The tweet history project was the proof of concept learning phase for the technology I used to build the test result site.</p>
<p>&nbsp;</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/gavelYearChart.png"><img class="alignnone size-full wp-image-506" title="gavelYearChart" src="http://www.jameseisenhauer.com/wp-content/uploads/gavelYearChart.png" alt="" width="600" height="160" /></a></p>
<p>The entire application is built on:</p>
<ul>
<li>HTML 5</li>
<li>CSS 3</li>
<li>JQuery</li>
<li>JavaScript</li>
<li>CouchDB &amp; JSON</li>
</ul>
<p>I loved this technology stack!  Very clean and simple.  It felt like the early days of web development before we tried to make web development <strong>EXACTLY</strong> like &#8220;normal&#8221; software development.  Well let me show you some of the other features I have implemented so far.</p>
<p>Viewing the build status was the priority Feature.</p>
<p>First page lists all the builds that were tested in the past week and gives high level status.</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/Build-Reports.png"><img class="alignnone size-full wp-image-504" title="Build Reports" src="http://www.jameseisenhauer.com/wp-content/uploads/Build-Reports.png" alt="" width="600" height="250" /></a></p>
<p>&nbsp;</p>
<p>You can then drill down deeper into a build and see exactly what tests passed, failed or error-ed (is that a word?)  out.</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/BuildReportsDetail.png"><img class="alignnone size-full wp-image-505" title="BuildReportsDetail" src="http://www.jameseisenhauer.com/wp-content/uploads/BuildReportsDetail.png" alt="" width="600" height="385" /></a></p>
<p>&nbsp;</p>
<p>Drilling even further down we can see detailed information about the test.  The exact steps that were taken, screen shots and verification points.</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/logFileDetail.png"><img class="alignnone size-full wp-image-503" title="logFileDetail" src="http://www.jameseisenhauer.com/wp-content/uploads/logFileDetail.png" alt="" width="600" height="310" /></a></p>
<p>&nbsp;</p>
<p>Whats next?!? Who knows, but I am thinking with all this data I am collecting something like this might be possible!</p>
<p><a href="http://www.jameseisenhauer.com/wp-content/uploads/preko.png"><img class="alignnone size-full wp-image-509" title="preko" src="http://www.jameseisenhauer.com/wp-content/uploads/preko.png" alt="" width="500" height="125" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2012/03/14/aggregation-of-automated-test-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Mobile Test Automation with Selenium</title>
		<link>http://www.jameseisenhauer.com/2012/02/15/android-mobile-test-automation-with-selenium/</link>
		<comments>http://www.jameseisenhauer.com/2012/02/15/android-mobile-test-automation-with-selenium/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 15:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[farmville]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[portland]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=453</guid>
		<description><![CDATA[&#160; I will be showing off my Selenium Android Farmville Tweeter bot at the Portland Oregon Selenium User Group tomorrow. What better way to learn Selenium and Android automation then to farm some crops on Zynga&#8217;s most famous game! I will walk you through the steps I took to create my Selenium Farmville Tweeter Bot [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-459" title="ftbot" src="http://www.jameseisenhauer.com/wp-content/uploads/ftbot.png" alt="" width="600" height="176" /></p>
<p>I will be showing off my Selenium Android Farmville Tweeter bot at the <a href="http://www.meetup.com/pdx-se/events/48923842/" target="_blank">Portland Oregon Selenium User Group</a> tomorrow.</p>
<p><img class="alignnone size-full wp-image-437" title="highres_76328382" src="http://www.jameseisenhauer.com/wp-content/uploads/highres_76328382.png" alt="" width="368" height="168" /></p>
<p>What better way to learn Selenium and Android automation then to farm some crops on Zynga&#8217;s most famous game!</p>
<p>I will walk you through the steps I took to create my Selenium Farmville Tweeter Bot</p>
<p>First step is to install <a href="http://www.eclipse.org" target="_blank">Eclipse</a></p>
<p><img class="alignnone size-full wp-image-465" title="eclipse-logo" src="http://www.jameseisenhauer.com/wp-content/uploads/eclipse-logo.gif" alt="" width="163" height="68" /></p>
<p>I recommend the <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/indigosr1" target="_blank">Eclipse IDE for Java Developers </a>version</p>
<p>&nbsp;</p>
<p>Next step is to install the <a href="http://developer.android.com/sdk/index.html" target="_blank">Android SDK</a></p>
<p><img class="alignnone size-full wp-image-464" title="bg_logo" src="http://www.jameseisenhauer.com/wp-content/uploads/bg_logo.png" alt="" width="180" height="50" /></p>
<p>Once the SDK is installed launch eclipse and install the <a href="http://developer.android.com/sdk/eclipse-adt.html#installing" target="_blank">Android Eclipse Plugin</a></p>
<p>Follow the instructions on the Android Eclipse plugin page its easy as pie.</p>
<p>Once you get the plugin installed, it will ask you to restart eclipse.</p>
<p>Restart eclipse and the android sdk manager should pop up.  If it doesn&#8217;t you can find it in the menus.</p>
<p><img class="alignnone size-medium wp-image-474" title="androidsdkmgr" src="http://www.jameseisenhauer.com/wp-content/uploads/androidsdkmgr-300x211.png" alt="" width="300" height="211" /></p>
<p>Select install the latest version.</p>
<p>Once you finish the installation it is time to set up the emulator for testing with selenium.</p>
<p>I have an iphone so we will only be talking about the emulator <img src='http://www.jameseisenhauer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .  Look for a future post of Selenium on the iphone.</p>
<p>The Selenium team has a great page on the <a href="http://code.google.com/p/selenium/wiki/AndroidDriver" target="_blank">Android Driver</a> start here and move down to the &#8220;Setup the Emulator&#8221; section.  They give you instructions on how to set up the emulator via the command line.  You can also launch the Android Virtual Device Manager GUI within Eclipse</p>
<p><img class="alignnone size-medium wp-image-475" title="androidvirtualdevcemgr" src="http://www.jameseisenhauer.com/wp-content/uploads/androidvirtualdevcemgr-300x164.png" alt="" width="300" height="164" /></p>
<p><img class="alignnone size-medium wp-image-476" title="myAndroidconfig" src="http://www.jameseisenhauer.com/wp-content/uploads/myAndroidconfig-202x300.png" alt="" width="202" height="300" /></p>
<p>&nbsp;</p>
<p>So I have done this on OSX, Linux and now windows.  When I went to create the emulator in windows I got this error.</p>
<p>&#8220;Unable to find a &#8216;userdata.img&#8217; file for ABI armeabi to copy into the AVD folder&#8221;</p>
<p>Some googling and I find out I am missing something from the SDK.</p>
<p>So I open the SDK manager and like it is a mind reader it highlights the 2 packages I need&#8230;.hmmmm</p>
<p>The ARM EABI v7a system Image &amp; the Google USB Driver package</p>
<p><img class="alignnone size-medium wp-image-478" title="androidsdkmgrmore" src="http://www.jameseisenhauer.com/wp-content/uploads/androidsdkmgrmore-300x278.png" alt="" width="300" height="278" /></p>
<p>I installed those packages and was able to create my emulator without error.</p>
<p>Now that the emulator is working time to install the Webdriver APK.</p>
<p>Open up a command prompt/shell and follow the instructions <a href="http://code.google.com/p/selenium/wiki/AndroidDriver#Install_the_APK">here</a></p>
<p>First we need to start the emulator.  Browse to the tools directory where you put the android-sdk</p>
<p>emulator -avd my_Android</p>
<p>Ran into some errors trying to start the emulator on windows.  emulator: ERROR: unknown skin name &#8216;WVGA800&#8242;</p>
<p>I didn&#8217;t have any issues on the other operating systems.  Did some windows troubleshooting AKA rebooting.  I found the issue.  The SDK windows installer installed to C:\program files\android where the eclipse android plugin put it in my home directory.  I am running on XP but this looks like a mod for windows 7.  I modified the plugin to look for the sdk in the program files directory reinstalled some of the libraries and wala!  Ok lets forget this happened and dream of having a new mac book air.</p>
<p>Lets create the emulator in the eclipse gui and start it via command line:</p>
<p>emulator -avd my_Android</p>
<p>&nbsp;</p>
<p>Ok so we have it running now where were we&#8230;.ooh yeah install Webdriver APK.</p>
<p>Open up a command prompt/shell and follow the instructions <a href="http://code.google.com/p/selenium/wiki/AndroidDriver#Install_the_APK">here</a></p>
<ul>
<li>get the device serial ID</li>
<li>install the apk</li>
<li>start webdriver</li>
<li>port forward</li>
</ul>
<p>&nbsp;</p>
<p>Now our Android environment is set up and running time to write some selenium scripts!</p>
<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-466" title="big-logo" src="http://www.jameseisenhauer.com/wp-content/uploads/big-logo.png" alt="" width="200" height="181" /></p>
<p>Lets test it out and see if it works.  I like to use Maven.  So that is what we are going to do.  Create a new project and select other-maven-maven project.  Maven is a build tool and makes it easy to do actions like download/install selenium and running tests among a million other things.</p>
<ul>
<li>Select the simple project check box.</li>
<li>Create a junit test under the src/test/java package.  Make sure to create a folder under the default otherwise eclipse yells at you.</li>
</ul>
<p>Almost forgot we need to add selenium!</p>
<p>Go to Maven &#8211; Add Dependency and search for selenium</p>
<p>Select org.seleniumhq.selenium selenium-java hit ok &#8211; click maven update dependencies</p>
<p>Now selenium is installed!! Lets go back to our junit test.</p>
<p>Replace the fail(&#8220;Not yet implemented&#8221;); with the sample code <a href="http://code.google.com/p/selenium/wiki/AndroidDriver#Run_the_Tests">here </a></p>
<p>The code is a little old so I just take the code out of the testGoogle class and paste it into the test class.</p>
<p>Let eclipse do its work and auto-correct all the error, which imports the stuff we need!</p>
<p>Lets run it!  If you did everything correctly it runs.</p>
<p><img class="alignnone size-medium wp-image-489" title="googleAndroid" src="http://www.jameseisenhauer.com/wp-content/uploads/googleAndroid-300x269.png" alt="" width="300" height="269" /></p>
<p>&nbsp;</p>
<p>So what should we do with all this new found power?  I know lets create a bot that harvests and replants my crops in Farmville and then tweets how awesome I am!</p>
<p>&nbsp;</p>
<p>If you go to m.farmville.com it asks you to login via facebook.  Clicking on the link opens a new window for facebook.</p>
<p>In my script I just short-circuit this by opening m.facebook.com and logging in first before heading to m.farmville.com.</p>
<p>It maintains my session and auto logs me into the mobile farmville site.</p>
<p><img class="alignnone size-medium wp-image-457" title="FTBOT_FacebookLogin" src="http://www.jameseisenhauer.com/wp-content/uploads/FTBOT_FacebookLogin-300x257.png" alt="" width="300" height="257" /></p>
<p>&nbsp;</p>
<p>Once we are in I do a check to see if my crops are ready to harvest!  I check it by doing an assert on the status message and if they are not ready I fail the test.</p>
<p>If they are ready it clicks into the screen for harvesting and continues to harvest and harvest and harvest&#8230;like over 200 times it clicks that button!  Glad I have Selenium on my side!</p>
<p>When it is done harvesting it got a little tricky.  Only because the behavior of the application is not consistent.  Sometimes it just grays out the harvest button while other times it completely disappears!  I put the check for &#8220;x 0&#8243; crops in a try catch loop that will stop clicking if there is no more to harvest or if the button disappears it will throw an stale element error and handle it nicely.</p>
<p><img class="alignnone size-medium wp-image-458" title="FTBOT_Farmville" src="http://www.jameseisenhauer.com/wp-content/uploads/FTBOT_Farmville-220x300.png" alt="" width="220" height="300" /></p>
<p>Once harvesting is done its time to tweet our bumper crop!! (that&#8217;s what it&#8217;s called right??)  I grab the text elements for how much money I have and what level I am, set those to variables and head on over to m.twitter.com</p>
<p>Once I log into twitter and get session I forward directly to the tweet url instead of looking for a button to push.</p>
<p>Using the values in my $ &amp; level vars I tweet out my Farmville awesomeness!</p>
<p><img class="alignnone size-medium wp-image-455" title="FTBOT_Tweet" src="http://www.jameseisenhauer.com/wp-content/uploads/FTBOT_Tweet-300x124.png" alt="" width="300" height="124" /></p>
<p>&nbsp;</p>
<p>Here you can see it in all it&#8217;s twitter glory!  Mos6yCanTest is my test twitter account.  If you don&#8217;t know who John Mosby was you can google him&#8230;.he is one of my heros.</p>
<p><img class="alignnone size-full wp-image-456" title="FTBOT_tweeted" src="http://www.jameseisenhauer.com/wp-content/uploads/FTBOT_tweeted.png" alt="" width="523" height="189" /></p>
<p>I did have a lot of problems with stale errors being thrown.  I handle it with try catch and loops.  Not sure if this is due to the large amount of javascript in these mobile sites or if my emulator is lagging to much or what.  Anybody else have these issues with mobile web apps?</p>
<p>Well thats it the famous Farmville Tweeter App!</p>
<p><img class="alignnone size-thumbnail wp-image-467" title="github-logo" src="http://www.jameseisenhauer.com/wp-content/uploads/github-logo-150x150.png" alt="" width="150" height="150" />You can find my selenium scripts out on my <a href="https://github.com/jameseisenhauer/FarmvilleTweeterBot">github account</a> I think I need to work on my gitignore files a little <img src='http://www.jameseisenhauer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2012/02/15/android-mobile-test-automation-with-selenium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Started the PDX Selenium Users Group!</title>
		<link>http://www.jameseisenhauer.com/2011/12/01/started-the-pdx-selenium-users-group/</link>
		<comments>http://www.jameseisenhauer.com/2011/12/01/started-the-pdx-selenium-users-group/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 06:30:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[GTAC]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[portland]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=436</guid>
		<description><![CDATA[This month some co-workers and I started the brand new Portland Oregon Selenium Users group! We met a bunch of people and learned a lot at the Google Test Automation Conference so we decided to continue with the momentum and start a user group here in portland. If you are interested in test automation come join us!  http://www.meetup.com/pdx-se/ [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-437" title="highres_76328382" src="http://www.jameseisenhauer.com/wp-content/uploads/highres_76328382-300x136.png" alt="" width="300" height="136" /></p>
<p>This month some co-workers and I started the brand new Portland Oregon <a href="http://seleniumhq.org/">Selenium</a> Users group!</p>
<p>We met a bunch of people and learned a lot at the <a href="http://www.gtac.biz">Google Test Automation Conference</a> so we decided to continue with the momentum and start a user group here in portland.</p>
<p>If you are interested in test automation come join us!  <a href="http://www.meetup.com/pdx-se/">http://www.meetup.com/pdx-se/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2011/12/01/started-the-pdx-selenium-users-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Test Automation Conference 2011</title>
		<link>http://www.jameseisenhauer.com/2011/10/29/google-test-automation-conference-gtac-2011/</link>
		<comments>http://www.jameseisenhauer.com/2011/10/29/google-test-automation-conference-gtac-2011/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 05:46:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[GTAC]]></category>
		<category><![CDATA[mountain view]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[test automation]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=446</guid>
		<description><![CDATA[Just got back from GTAC. Wow what a great conference!   It was a invite only conference and google picked up the entire bill.  It was a complete who&#8217;s who in software test automation.  Made a lot of great contacts, learned a lot and have a bunch of ideas.  Next years is in Paris.  Better start working on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-442" title="gtac white" src="http://www.jameseisenhauer.com/wp-content/uploads/gtac-white-300x266.png" alt="" width="300" height="266" /></p>
<p>Just got back from <a href="http://www.gtac.biz">GTAC.</a> Wow what a great conference!   It was a invite only conference and google picked up the entire bill.  It was a complete who&#8217;s who in software test automation.  Made a lot of great contacts, learned a lot and have a bunch of ideas.  Next years is in Paris.  Better start working on my boss right away <img src='http://www.jameseisenhauer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Check out the <a href="http://www.youtube.com/playlist?list=PLBB2CAFDDBD7B7265&amp;feature=viewall">YouTube Play list of all the sessions</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2011/10/29/google-test-automation-conference-gtac-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Featured in IBM Rational Case Study on Test Automation!</title>
		<link>http://www.jameseisenhauer.com/2011/09/28/featured-in-ibm-rational-case-study-on-test-automation/</link>
		<comments>http://www.jameseisenhauer.com/2011/09/28/featured-in-ibm-rational-case-study-on-test-automation/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 02:31:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quality]]></category>
		<category><![CDATA[Rational]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[regence]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.jameseisenhauer.com/?p=431</guid>
		<description><![CDATA[&#160; Me and my coworkers were featured in a IBM Rational Case Study.  We had a lot of success with the Rational tools, but we have moved on to Selenium for added features, community and multi-browser capability. Regence BlueCross BlueShield of Oregon halves testing time Testing automation with IBM Rational tools dramatically improves efficiency and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-432" title="R4_RTL_CMYK.EPS" src="http://www.jameseisenhauer.com/wp-content/uploads/ReadyForRationalLogo.jpg" alt="" width="341" height="144" /></p>
<p>&nbsp;</p>
<p>Me and my coworkers were featured in a IBM Rational Case Study.  We had a lot of success with the Rational tools, but we have moved on to Selenium for added features, community and multi-browser capability.</p>
<h1>Regence BlueCross BlueShield of Oregon halves testing time</h1>
<p id="subtitle"><em>Testing automation with IBM Rational tools dramatically improves efficiency and effectiveness</em></p>
<p><a href="http://www-01.ibm.com/software/success/cssdb.nsf/cs/CPAR-8M5MTF?OpenDocument&amp;Site=rational&amp;cty=en_us">http://www-01.ibm.com/software/success/cssdb.nsf/cs/CPAR-8M5MTF?OpenDocument&amp;Site=rational&amp;cty=en_us</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameseisenhauer.com/2011/09/28/featured-in-ibm-rational-case-study-on-test-automation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
