<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fiji Ecuador Seattle Greece Montana</title>
	<atom:link href="http://fijiaaron.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fijiaaron.wordpress.com</link>
	<description></description>
	<lastBuildDate>Tue, 13 Oct 2009 21:46:20 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='fijiaaron.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f6ff44b3f68d23913493eb13c093a11a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Fiji Ecuador Seattle Greece Montana</title>
		<link>http://fijiaaron.wordpress.com</link>
	</image>
			<item>
		<title>The death of Selenium?</title>
		<link>http://fijiaaron.wordpress.com/2009/10/13/the-death-of-selenium/</link>
		<comments>http://fijiaaron.wordpress.com/2009/10/13/the-death-of-selenium/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 18:24:13 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=874</guid>
		<description><![CDATA[I&#8217;m trying to be hyperbolic today.
So I&#8217;ve been spinning my wheels trying to get Firefox 3 to work with Selenium.  But why not use Selenium with IE or a custom browser or Firefox with a custom profile?
Well, because Selenium doesn&#8217;t work with IE8.  Although IE8 does allow you permanently add self-signed certs.  It appears to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=874&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m trying to be hyperbolic today.</p>
<p>So I&#8217;ve been spinning my wheels trying to get Firefox 3 to work with Selenium.  But why not use Selenium with IE or a custom browser or Firefox with a custom profile?</p>
<p>Well, because Selenium doesn&#8217;t work with IE8.  Although IE8 does allow you permanently add self-signed certs.  It appears to have a javascript error based on the popup blocker:</p>
<p><a href="http://clearspace.openqa.org/message/68291?tstart=0">http://clearspace.openqa.org/message/68291</a></p>
<p><a href="http://clearspace.openqa.org/message/69194">http://clearspace.openqa.org/message/69194</a></p>
<p>And Selenium doesn&#8217;t work with *custom.  Not Selenium 1.0.1, not on Vista.  Sadly, there&#8217;s nothing in the trace about what&#8217;s going on.</p>
<p>Granted, it&#8217;s an open source project, and jhuggins is sick of working on it, and nobody has stepped up.  But things like popup blockers and ssl-cert blockers are a real issue.  Where there&#8217;s a will, there&#8217;s a way.  But the way might have to be to use COM.  Which means WATI*.</p>
<p>It looks like the IE8 issue is because Vista needs you to run as adminstrator.</p>
<p><a href="http://clearspace.openqa.org/thread/19335">http://clearspace.openqa.org/thread/19335</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=874&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/10/13/the-death-of-selenium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox 3 handling of SSL Certs is broken</title>
		<link>http://fijiaaron.wordpress.com/2009/10/13/firefox-3-handling-of-ssl-certs-is-broken/</link>
		<comments>http://fijiaaron.wordpress.com/2009/10/13/firefox-3-handling-of-ssl-certs-is-broken/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 17:30:20 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=868</guid>
		<description><![CDATA[There must be a million posts on the internet (and no doubt some scrawled in frustration on bathroom walls) about Firefox 3 and it&#8217;s broken handling of SSL certificates.
https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=158991&#38;forumId=1
Commentary  is as numerous as complaints.  Though there&#8217;s little in the way of action.
http://www.freesoftwaremagazine.com/columns/self_signed_certificates_and_firefox_3_possible_solution
http://www.cs.uml.edu/~ntuck/mozilla/
http://www.gerv.net/security/self-signed-certs/
http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1326622,00.html
http://www.0xdeadbeef.com/weblog/?p=521
http://www.pcworld.com/businesscenter/article/150215/debating_the_firefox_ssl_certificate.html
In particular, self-signed certificates have 2 issues.
One is just a really bad UI design [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=868&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There must be a million posts on the internet (and no doubt some scrawled in frustration on bathroom walls) about Firefox 3 and it&#8217;s broken handling of SSL certificates.</p>
<p><a href="https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=158991&amp;forumId=1">https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=158991&amp;forumId=1</a></p>
<p>Commentary  is as numerous as complaints.  Though there&#8217;s little in the way of action.</p>
<p><a href="http://www.freesoftwaremagazine.com/columns/self_signed_certificates_and_firefox_3_possible_solution">http://www.freesoftwaremagazine.com/columns/self_signed_certificates_and_firefox_3_possible_solution</a></p>
<p><a href="http://www.cs.uml.edu/~ntuck/mozilla/">http://www.cs.uml.edu/~ntuck/mozilla/</a></p>
<p><a href="http://www.gerv.net/security/self-signed-certs/">http://www.gerv.net/security/self-signed-certs/</a></p>
<p><a href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1326622,00.html">http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1326622,00.html</a></p>
<p><a href="http://www.0xdeadbeef.com/weblog/?p=521">http://www.0xdeadbeef.com/weblog/?p=521</a></p>
<p><a href="http://www.pcworld.com/businesscenter/article/150215/debating_the_firefox_ssl_certificate.html">http://www.pcworld.com/businesscenter/article/150215/debating_the_firefox_ssl_certificate.html</a></p>
<p>In particular, self-signed certificates have 2 issues.</p>
<p>One is just a really bad UI design based on a misunderstanding by the folks at Firefox (RIP Mozilla) of what:</p>
<ol>
<li>SSL is used for and</li>
<li>a certificate authority does.</li>
</ol>
<p>That issue is that Firefox actually blocks people from visiting sites they want to visit in a misguided attempt at protecting them from themselves.  Their theory is that if it is theoretically possible for someone to intercept internet communication (it hasn&#8217;t been done in real life yet), adding several buttons saying &#8220;beware&#8221;, &#8220;warning&#8221;, and &#8220;go away&#8221; will stop people from wanting to visit sites on the internet that haven&#8217;t paid a company $20 to join the &#8220;safe companies on the internet&#8221; club.</p>
<p>Note to Firefox: Anyone who goes to the effort to intercept internet communications is willing to spend $20 to join that club.  They&#8217;re shooting for a minimum gross income of at least $21 anyway to make it worth their while.</p>
<p>Firefox doesn&#8217;t realize that the real reason people want to use SSL is to protect their communication on the internet.  They trust the source, they want to give them money (or information) and don&#8217;t want anybody snooping inbetween.  They want encryption, and they want host verification.  They don&#8217;t really care about the Verisign logo (which is actually extra now) in the corner of the browser.</p>
<p>But since back in 1995 (before the IPO), the only income Netscape could get was from a little startup (with government backing) who thought they could create a brand of the &#8220;safe internet club&#8221; and sell it to businesses wanting to &#8220;get online&#8221; and their plan was to put their logo in the browser.   So because pre-IPO Netscape got government money channeled through a would-be entrepreneur bereaucrat (who was beat by a solo programmer from South Africa who used their monopoly buy-out money to go to Space) we have Firefox 3&#8217;s horrible UI for &#8220;beware of the non internet safe club website&#8221;</p>
<p>PS.  self-signed certs are most definitely proof that the host is who they say they are.  You can&#8217;t go phishing by showing your ID.  The real issue is with <a href="http://www.kb.cert.org/vuls/id/800113">DNS</a>.</p>
<p>But enough about their deliberately bad UI.  Microsoft&#8217;s is little better.  That&#8217;s just to show a potential motive for why they&#8217;ve ignored the real problem for years.</p>
<p><a href="http://support.mozilla.com/tiki-view_forum_thread.php?forumId=1&amp;comments_parentId=396749">&#8220;Permanently store this exception&#8221; seems to be temporary</a></p>
<p>Firefox 2 just had a popup warning. There was a byzantine and obscure way to actually bypass their silly marketing scheme disguised as warnings, but Firefox 3 has been broken since day 1, as far as I can tell.  Firefox 3 actually avoids the popup (for some strange reason &#8212; not enough XUL, I guess) and it&#8217;s easier to find a way to turn of their Verisign spam (which is kind of pointless for the internal networks it troubles most), but the problem is that when you check &#8220;Permanently store this exception&#8221; &#8212; it doesn&#8217;t.</p>
<p>It&#8217;s a lie and they know it.  They pretend it isn&#8217;t an issue, they try to scare ignorant people that the world will end if they use a self-signed cert, or they try to change the subject.</p>
<p><a href="http://blog.johnath.com/2008/08/05/ssl-question-corner/">http://blog.johnath.com/2008/08/05/ssl-question-corner/</a></p>
<p>I believe many of them just don&#8217;t understand the issue, don&#8217;t understand what SSL is for and how it works, and are just too lazy to try to reproduce it.  But you can&#8217;t really deny it when there is a third party extension published on your own website that actually tries to fix the bug:</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/10246/63416?src=addondetail">Remember Certificate Exception</a></p>
<p>Of course, my additional problem (and the cause for this rant) is that the Remember Certificate Extension doesn&#8217;t work with Selenium.  You can&#8217;t automate around the problem.  Firefox 3 is dead in the water for SSL in testing environments (where you almost always have to self-sign &#8212; or use an &#8220;untrusted&#8221; verifier for your certs.)</p>
<p>And what&#8217;s more, Firefox won&#8217;t let you download Firefox 2.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/868/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/868/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/868/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/868/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/868/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/868/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/868/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/868/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/868/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/868/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=868&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/10/13/firefox-3-handling-of-ssl-certs-is-broken/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>Finding a sailboat</title>
		<link>http://fijiaaron.wordpress.com/2009/09/28/finding-a-sailboat/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/28/finding-a-sailboat/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:41:41 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=864</guid>
		<description><![CDATA[Finding a sailboat, especially a cruising sailboat you hope to take over the horizon someday, is a hard task.  A lot harder than you think.
I&#8217;ve spent a good deal of time the last few years (off and on, ever since coming back from Fiji in 2005) doing just that.  I admit that it hasn&#8217;t been [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=864&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Finding a sailboat, especially a cruising sailboat you hope to take over the horizon someday, is a hard task.  A lot harder than you think.</p>
<p>I&#8217;ve spent a good deal of time the last few years (off and on, ever since coming back from Fiji in 2005) doing just that.  I admit that it hasn&#8217;t been a single-minded focus, since I&#8217;ve gotten married, started a business, moved to Ecuador (and back), had a baby (with another one on the way), had a day job, and re-immersed myself in my business during that time.</p>
<p>I almost bought a boat last year around Christmas time.  A Halberg-Rassey Rasmus 35 parked in Elliot Bay.  The owners were a young couple that had crossed the Pacific, so I knew the boat could do it again (with some work).  But the economy, a car wreck in the Seattle snow, and another baby on the way have intervened, and it looks like I&#8217;ll spend another Christmas without a boat.  I actually didn&#8217;t even go sailing once this year (yet &#8212; I&#8217;m open to offers).</p>
<p>But I still want to be involved in the sailing community.</p>
<p>I have a service, <a href="http://sailhost.org">sailhost.org</a>, where I will help cruisers and racers create blogs and websites, and I&#8217;m willing to donate hosting to worthy askers.</p>
<p>I&#8217;m also working on sales tools for sailboats.  I don&#8217;t want to be the next <a href="http://yachtworld.com">Yachtworld</a>, but I want to help sailboat dealers and brokers reach their customers.</p>
<p>Besides doing testing, I&#8217;ve been branching out into sales automation, CRM, etc. (You might have noticed some posts about CRM tools, and some frustrated tweets about SugarCRM in particular.<a href="http://broadrea.ch"></a></p>
<p><a href="http://broadrea.ch">Broadreach</a> is the name I&#8217;m giving for the sales consulting and tools &#8211;  apart from<a href="http://one-shore.com"> One Shore</a>, which is more geared towards testing.  I&#8217;m going to focus on reaching out to Yacht brokers, sailing charters, boat surveyers, marine finance, buyers agents and teachers such as John Neal and John Kretschmer, and other people who make money in, on, or around the water.</p>
<p>I&#8217;m looking for a broker willing to tell me what they want or need to make their job better.  More particularly, I&#8217;m looking at it from the potential buyer&#8217;s perspective.</p>
<p>Ideally, I&#8217;d like to have a resource available for sailboat buyers so they can learn the process easier.  I&#8217;d like to be able to point to books, articles, and people who could help people out.</p>
<p>Two names I&#8217;m thinking of are <a href="http://boatbuyersresource.com">boatbuyersresource.com</a> and <a href="http://sailboatbuyer.com">sailboatbuyer.com</a>.</p>
<p>I was also introduced to Lasers last year by my friend Ed.  Another venture I&#8217;m thinking about is <a href="http://laserlisting.com">laserlisting.com</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/864/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/864/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/864/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/864/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/864/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/864/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/864/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/864/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/864/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/864/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=864&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/28/finding-a-sailboat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>Verification and Exploration</title>
		<link>http://fijiaaron.wordpress.com/2009/09/23/verification-and-exploration/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/23/verification-and-exploration/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 15:00:17 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=860</guid>
		<description><![CDATA[There&#8217;s a move towards separating what testers do into two categories, called by some &#8220;testing&#8221; and &#8220;checking&#8221;.  I don&#8217;t particularly like the terminology (or most attempts to redefine words), but I appreciate the distinction, as well as the reaching towards semantic clarity.
The distinction being that there are two unique activities that are called testing.
The first [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=860&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There&#8217;s a move towards separating what testers do into two categories, called by some &#8220;testing&#8221; and &#8220;checking&#8221;.  I don&#8217;t particularly like the terminology (or most attempts to redefine words), but I appreciate the distinction, as well as the reaching towards semantic clarity.</p>
<p>The distinction being that there are two unique activities that are called testing.</p>
<p>The first is exemplified by unit tests, but also includes the functional testing done to &#8220;assure&#8221; requirements are met &#8212; usually represented on spreadsheets with lots of steps and expected results, as well as regression testing (which those typically become.)</p>
<p>The second is exemplified by exploratory testing, but also includes performance testing, security penetration testing (though hopefully, a standard set of security tests falls under the first category), and usability tests.</p>
<p>This isn&#8217;t a clear separation, and some amount of each category can fall into any type of testing.</p>
<p>The distinguishing characteristic is whether the expected result of the test is known at the outset or not.  Or rather, whether the result is assumed.  The object of the result is the distinguishing factor &#8212; whether the object is to learn something new or verify something already known is correct.</p>
<p>This is where I find the appellations of &#8220;testing&#8221; and &#8220;checking&#8221; imprecise.  While you can clearly distinguish which category a test falls into, the labels are not obvious and must be learned &#8211; although it&#8217;s clear enough to categorize them when given the labels.</p>
<ul>
<li>A test, for instance, at school is a verification of a student understanding requirements.</li>
<li>A test of strength or will is a challenge to find it&#8217;s capacity.</li>
<li>A scientific experiment can be considered a test, but isn&#8217;t typically called so</li>
<li>A check is what you do to the test results at school</li>
<li>A check is also a boundary limiting what can be done</li>
</ul>
<p>I think better terms would be &#8220;verification&#8221; and &#8220;exploration&#8221;.  It is clear with verification that you are &#8220;checking&#8221; for expected behavior.  And it is also clear with exploration that you are &#8220;testing&#8221; unknown factors.</p>
<p>Both are important to QA, and being aware of the two categories, regardless of the terminology, helps you decide how the focus of testing should be balanced.  In different situations, more of one type or the other may be advantageous.  For instance, a startup with an unproven product might want to do more exploratory testing; but a mature product with clear requirements might want to do more verification.  The point being that neither should neglected.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/860/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=860&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/23/verification-and-exploration/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>SugarCRM, custom fields, and complex objects</title>
		<link>http://fijiaaron.wordpress.com/2009/09/21/sugarcrm-custom-fields-and-complex-objects/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/21/sugarcrm-custom-fields-and-complex-objects/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 14:45:33 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=854</guid>
		<description><![CDATA[LornaJane has a good write-up on using custom fields with SugarCRM.
But I have a client that needs complex fields.  For instance, email_address has the following fields:
+--------------------+--------------+------+-----+---------+-------+
&#124; Field              &#124; Type         &#124; Null &#124; Key &#124; Default &#124; Extra &#124;
+--------------------+--------------+------+-----+---------+-------+
&#124; id                 &#124; char(36)     &#124; NO   &#124; PRI &#124; NULL    &#124;       &#124;
&#124; email_address      &#124; varchar(255) &#124; NO   &#124; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=854&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.lornajane.net/pages/about.html">LornaJane</a> has a good <a href="http://www.lornajane.net/posts/2008/SugarCRM-Custom-Fields">write-up</a> on using custom fields with SugarCRM.</p>
<p>But I have a client that needs complex fields.  For instance, email_address has the following fields:</p>
<pre>+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| id                 | char(36)     | NO   | PRI | NULL    |       |
| email_address      | varchar(255) | NO   | MUL | NULL    |       |
| email_address_caps | varchar(255) | NO   | MUL | NULL    |       |
| invalid_email      | tinyint(1)   | YES  |     | 0       |       |
| opt_out            | tinyint(1)   | YES  |     | 0       |       |
| date_created       | datetime     | YES  |     | NULL    |       |
| date_modified      | datetime     | YES  |     | NULL    |       |
| deleted            | tinyint(1)   | YES  |     | 0       |       |
+--------------------+--------------+------+-----+---------+-------+</pre>
<p>How can you, for instance, add an <strong>opt_out</strong> field to a telephone number?</p>
<p>While email_addresses is it&#8217;s own table, other information such as phones and addresses are just fields in the contact (or account or lead, etc.) table.  This is a major flaw in SugarCRM.<br />
It looks like to create an address or phone number that is a &#8220;complex object&#8221; (like an email address), or to modify the components of an email address, I&#8217;ll need to create a custom module.</p>
<p>Does that mean I have to throw away the functionality of the existing contacts module?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/854/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=854&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/21/sugarcrm-custom-fields-and-complex-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>A new model for CRM (*groan*)</title>
		<link>http://fijiaaron.wordpress.com/2009/09/14/a-new-model-for-crm-groan/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/14/a-new-model-for-crm-groan/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 19:26:10 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=843</guid>
		<description><![CDATA[I&#8217;m using SugarCRM, which is nice, but seems to have a confused model for contacts, accounts, leads, etc.
I realize that this is the &#8220;standard&#8221; CRM way to describe entities, but can&#8217;t help but think it could be improved.
SugarCRM has a few oddities that make it particularly grating.  For instance:

Last Name is required for all Contacts
While [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=843&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m using SugarCRM, which is nice, but seems to have a confused model for contacts, accounts, leads, etc.</p>
<p>I realize that this is the &#8220;standard&#8221; CRM way to describe entities, but can&#8217;t help but think it could be improved.</p>
<p>SugarCRM has a few oddities that make it particularly grating.  For instance:</p>
<ul>
<li>Last Name is required for all Contacts</li>
<li>While Contacts are referenced by Last Name, Leads are referenced by First Name</li>
<li>I&#8217;m still not sure who should be a Lead and who should be a Contact<br />
(is this just a personal naming preference?)</li>
<li>What&#8217;s the difference between a Sales Lead/Contact and a Marketing Lead/Contact?</li>
<li>How can you have a contact/lead without a name?  Is there such a thing as an Account Lead?</li>
<li>How do you associate contacts with accounts (without manually updating)</li>
<li>How can you associate, for example Outlook Business Contact Manager accounts with SugarCRM accounts?</li>
<li>How can you target Campaigns at Businesses (not individuals)</li>
</ul>
<p>I think SugarCRM&#8217;s model isn&#8217;t clear enough.</p>
<p>First of all, both businesses and individuals have contact information.  Most often, a business will be targeted for a campaign, become a lead, and eventually a Sales opportunity develops, where you might gain individual contact.</p>
<p>Second, whoops, guess I said it, businesses (or rather, organizations), are the target of campaigns, not just individuals.  Businesses and individuals have contact information.  You have relationships with businesses and individuals.</p>
<p>When I write my own CRM system, I&#8217;ll break the mold, and think of things in terms of Entities and Relationships (and Actions).</p>
<p>An entity can be an individual or an organization.</p>
<p>Individuals are always people (or I guess you could also have animals or plants)</p>
<p>Organizations have an associated type.  It can be a business, non-profit, government, informal association, or other (and you can add types.)</p>
<p>You have relationships with Entities.</p>
<p>Relationships are categorized as Business or Personal.</p>
<p>Personal relationships can be type Family, Friends, Acquaintence, Other. (and can be added to)</p>
<p>Business relationships can be type Supplier/Vendor/Manufacturer, Customer/Client, Partner, Other (with additions &amp; subcategories.)</p>
<p>You can have multiple relationships with a single record (contact, account, etc.)</p>
<p>Accounts are Entities you do business with, not every organization you may do business with.  Because any entity (organization or individual) has contact information, and can become a lead, you don&#8217;t need to use &#8220;Accounts&#8221; to mean &#8220;organizations&#8221; and &#8220;Contacts&#8221; to mean &#8220;people&#8221;.</p>
<p>Entities will have contact information.  Account records can concentrate on accounting, and Contact records can concentrate on contacting.  A contact is an action.  An individual (or group) is something you have a relationship with.  Part of a relationship is contacting them.</p>
<p>Entities can be in both a customer bucket and a prospect bucket for a different sales opportunity or campaign.</p>
<p><img title="entity_inheritance" src="../files/2009/09/entity_inheritance1.png" alt="entity_inheritance" width="500" height="437" /></p>
<p><img title="relationship_inheritance" src="http://fijiaaron.files.wordpress.com/2009/09/relationship_inheritance2.png?w=499&#038;h=426" alt="relationship_inheritance" width="499" height="426" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/843/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=843&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/14/a-new-model-for-crm-groan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>

		<media:content url="../files/2009/09/entity_inheritance1.png" medium="image">
			<media:title type="html">entity_inheritance</media:title>
		</media:content>

		<media:content url="http://fijiaaron.files.wordpress.com/2009/09/relationship_inheritance2.png" medium="image">
			<media:title type="html">relationship_inheritance</media:title>
		</media:content>
	</item>
		<item>
		<title>Automated testing is a craft</title>
		<link>http://fijiaaron.wordpress.com/2009/09/14/automated-testing-is-a-craft/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/14/automated-testing-is-a-craft/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 16:46:24 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=839</guid>
		<description><![CDATA[Automated testing is a craft.  It requires skill, training, and at least a bit of talent.  I guess it&#8217;s like everything else in that sense.  But it&#8217;s unlike everything else in that you are doing automated testing.  Not a lot of people do that.
There are way more people that writing code or do testing than [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=839&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Automated testing is a craft.  It requires skill, training, and at least a bit of talent.  I guess it&#8217;s like everything else in that sense.  But it&#8217;s unlike everything else in that you are doing automated testing.  Not a lot of people do that.</p>
<p>There are way more people that writing code or do testing than do both.  Even including the two fringes of writing unit &#8220;tests&#8221; and record and playback &#8220;testing&#8221;.  I think (somewhat vainly) that the ability (and inclination) to automate testing on a practical, functional level (in a useful way) is an unusual commodity.</p>
<p>Or maybe I&#8217;m just not that talented and have chosen the career path equivalent of joining the water-polo team.  (Notice that I restrained myself from saying &#8220;lacrosse&#8221; or &#8220;soccer&#8221;.)</p>
<p>As a result, I think we tend to get into our silos, and each have to reinvent not only the wheel, but the concept of propulsion.  We scrape together bits and pieces from the internet, and occasionalyl find published gems like <a href="http://tosa.goucher.ca/phpwiki/index.php?BeautifulTesting">Beautiful Testing</a> or <a href="http://www.wakaleo.com/java-power-tools">Java Power Tools</a>.  If we&#8217;re lucky, we make a few contacts with peers through blogs, local user groups,  or conferences and share ideas.  If we&#8217;re really lucky we get to work with and learn from a few insightful co-workers.  But let&#8217;s face it, test automation isn&#8217;t exactly good water-cooler fare.</p>
<p>Beautiful testing is a great book (that I hope to read someday soon).  I&#8217;d like to see something focused, not abstract, and relevant.  I don&#8217;t want to see tutorials or best practices, but individual experience so others can say &#8220;I do that too&#8221; or &#8220;I didn&#8217;t think of that.&#8221;</p>
<p>I want it to be focused, so that there can be enough common information to discuss details.  On the other hand, I&#8217;d like to see discussions about the pros and cons of specific tools (Selenium vs. Watir) and techniques (browser driven vs. browser simulated) and plunge into the details of design patterns (Page Objects, Helpers) and organization strategies (suite grouping, continuous integration, test environments).</p>
<p>I guess what I&#8217;d really like to see are case studies, real or hypothetical, that tell why certain decisions were made, how they were implemented, and what lessons were learned.  I could see either focusing specifically on web application functional testing with Selenium, or covering a variety of platforms (iPhone, web services, AJAX) and tools (Selenium, Webrat, Cucumber, SOAPUI, etc.)  I suppose a certain variety would be needed to discuss the pros and cons of each decision.</p>
<p>I&#8217;m not looking for rights and wrongs, &#8220;best practices&#8221;, just individual solutions (I guess I&#8217;m repeating myself).  Anyway, I&#8217;d envision something like 10 essays, with a discussion afterward among the authors, and then of course, an online forum where comments from all comers could be given.</p>
<p>I&#8217;d be interested in hearing from QA &#8220;celebrities&#8221;, authors, and trainers, including (but not limited to):</p>
<ul>
<li> <a href="http://adam.goucher.ca/">Adam Goucher</a></li>
<li><a href="http://www.wakaleo.com">John Smart</a></li>
<li><a href="http://www.satisfice.com">James Bach</a></li>
<li><a href="http://pushtotest.com">Frank Cohen</a></li>
<li><a href="http://agiletesting.blogspot.com/">Grig Georghiu</a></li>
</ul>
<p>Tool creators (a few of many):</p>
<ul>
<li><a href="seleniumhq.org">Selenium</a></li>
<li><a href="http://wtr.rubyforge.org/">Watir</a></li>
<li><a href="http://cukes.info/">Cucumber</a></li>
<li><a href="http://hudson.dev.java.net">Hudson</a></li>
</ul>
<p>as well as anonymous testers in their silos who maybe haven&#8217;t written a word about what they&#8217;re doing.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/839/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/839/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/839/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/839/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/839/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=839&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/14/automated-testing-is-a-craft/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
		<item>
		<title>Interacting with SeleniumRC directly</title>
		<link>http://fijiaaron.wordpress.com/2009/09/10/interacting-with-seleniumrc-directly/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/10/interacting-with-seleniumrc-directly/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 19:50:04 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=835</guid>
		<description><![CDATA[In my previous post, I talked about launching Selenium RC from the command line.   I&#8217;d mentioned navigating to http://localhost:4444/ after starting the Selenium Server but removed it since it wasn&#8217;t directly pertinent to a getting started post.  Here&#8217;s the removed content:
You can launch selenium-server in &#8220;interactive&#8221; mode and enter commands directly from the command interface.
C:\selenium-remote-control-1.0.1\selenium-server-1.0.1&#62;java [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=835&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my <a href="http://fijiaaron.wordpress.com/2009/09/10/transitioning-from-selenium-ide-to-remote-control/">previous post</a>, I talked about launching Selenium RC from the command line.   I&#8217;d mentioned navigating to http://localhost:4444/ after starting the Selenium Server but removed it since it wasn&#8217;t directly pertinent to a getting started post.  Here&#8217;s the removed content:</p>
<p>You can launch selenium-server in &#8220;interactive&#8221; mode and enter commands directly from the command interface.</p>
<pre style="background:#333;color:#cce;">C:\selenium-remote-control-1.0.1\selenium-server-1.0.1&gt;java -jar selenium-server.jar -interactive
11:54:06.143 INFO - Java: Sun Microsystems Inc. 1.5.0_13-b05
11:54:06.145 INFO - OS: Windows Vista 6.0 x86
11:54:06.161 INFO - v1.0.1 [2696], with Core v@VERSION@ [@REVISION@]
11:54:06.300 INFO - Version Jetty/5.1.x
11:54:06.302 INFO - Started HttpContext[/,/]
11:54:06.306 INFO - Started HttpContext[/selenium-server,/selenium-server]
11:54:06.308 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
11:54:06.338 INFO - Started SocketListener on 0.0.0.0:4444
11:54:06.340 INFO - Started org.mortbay.jetty.Server@863399
Entering interactive mode... type Selenium commands here (e.g: cmd=open&amp;1=http://www.yahoo.com)</pre>
<p>The format for the query string is the same as for a HTML table in Selenese:</p>
<ul>
<li>What comes after &#8220;cmd=&#8221; is the first column.</li>
<li>What comes after &#8220;&amp;1=&#8221; is the second column.</li>
<li>What comes after &#8220;&amp;2=&#8221; is the third column (sometimes optional).</li>
</ul>
<p>All normal commands including &#8220;open&#8221;, &#8220;type&#8221;, &#8220;click&#8221;, &#8220;verifyTextPresent&#8221;, etc. are supported, as well as special commands such getNewBrowserSession and <span id="main" style="visibility:visible;"><span id="search" style="visibility:visible;">shutDownSeleniumServer.</span></span></p>
<p>The first thing you need to do is start a browser session.  You can either type in the command window (when in interactive mode):</p>
<pre style="background:#333;color:#cce;">cmd=getNewBrowserSession&amp;1=*chrome&amp;2=http://one-shore.com
12:14:20.698 INFO - ---&gt; Requesting http://localhost:4444/selenium-server/driver?cmd=getNewBrowserSession&amp;1=*chrome&amp;2=ht
tp://one-shore.com
12:14:20.706 INFO - Command request: getNewBrowserSession[*chrome, http://one-shore.com] on session null
12:14:20.708 INFO - creating new remote session
12:14:20.710 INFO - Allocated session e4c0bda97077462aa916c61111a7f806 for http://one-shore.com, launching...
12:14:20.842 INFO - Preparing Firefox profile...
12:14:24.647 INFO - Launching Firefox...</pre>
<p>or you can enter the url in a browser:</p>
<p><a href="http://localhost:4444/selenium-server/driver/?cmd=getNewBrowserSession&amp;1=*chrome&amp;2=http://one-shore.com">http://localhost:4444/selenium-server/driver/?cmd=getNewBrowserSession&amp;1=*chrome&amp;2=http://one-shore.com</a></p>
<p>You&#8217;ll notice that when you ran the command getNewBrowserSession, it opened two new browser windows.</p>
<p>The first windows is a controller window.  You can interact with this much as you would with the command line. The second window is a blank window, that will eventually be the window where your commands get executed.</p>
<p>The first window  is the &#8220;chrome&#8221; driver.  It is the controlling interface for selenium RC. (Chrome refers to the base version of Firefox, which has elevated privileges (and thus can avoid cross-site scripting limitations.  The equivalent for Internet Explorer is &#8220;iehta&#8221;.)</p>
<p><img class="aligncenter size-medium wp-image-836" title="selenium_rc_chrome" src="http://fijiaaron.files.wordpress.com/2009/09/selenium_rc_chrome.png?w=300&#038;h=142" alt="selenium_rc_chrome" width="300" height="142" /></p>
<p>There are three frames.  The first is the control frame, the second shows a command history, and the third is blank.  Depending on your configuration, the commands are executed in either the third frame, or in the second window (which is the default for newer versions of Selenium RC.)</p>
<p>A sessionID is returned, and will be needed to be passed as an argument to interact with selenium-server from the URL.  The command line interface is tied to the sessionID automatically.</p>
<pre style="background:#333;color:#cce;">cmd=open&amp;1=/contact
12:36:18.783 INFO - ---&gt; Requesting http://localhost:4444/selenium-server/driver?cmd=open&amp;1=/contact&amp;sessionId=bb5439b87
fec422282d2ec42a2611171
12:36:18.803 INFO - Command request: open[/contact, ] on session bb5439b87fec422282d2ec42a2611171
12:36:19.379 INFO - Got result: OK on session bb5439b87fec422282d2ec42a2611171
12:37:30.973 INFO - Command request: open[/about, ] on session bb5439b87fec422282d2ec42a2611171
12:37:31.192 INFO - Got result: OK on session bb5439b87fec422282d2ec42a2611171
12:39:25.267 INFO - Got result: ERROR: Command timed out on session 79eaade6ab7249a1ac05ac71eab60e33</pre>
<p>or enter the following URL into any browser window.</p>
<p><a href="http://localhost:4444/selenium-server/driver?cmd=open&amp;1=/about&amp;sessionId=bb5439b87fec422282d2ec42a2611171">http://localhost:4444/selenium-server/driver?cmd=open&amp;1=/contact&amp;sessionId=bb5439b87fec422282d2ec42a2611171</a></p>
<p>Note that you have to pass the sessionID as well.  This is the only difference.</p>
<hr />
<p>This is the way your selenium driver interacts with the selenium server at a low level.  But you can forget all about that, because the APIs  abstract all that and you can enter commands in Java (or Ruby or PHP, etc.) that are similar to the familiar HTML commands.</p>
<p>For instance, the above session could be executed with the following Java commands</p>
<pre>
<pre style="background:#333333 none repeat scroll 0 0;color:#ccccee;">
<pre>Selenium selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://one-shore.com/");
selenium.open("/contact")</pre>
</pre>
</pre>
<p>Some commands, however, are not supported directly, or are an aggregate of multiple commands, such as <strong>verifyText </strong>which in java would look more like</p>
<pre>
<pre style="background:#333333 none repeat scroll 0 0;color:#ccccee;">
<pre>verifyEquals("expected", selenium.getText(locator);</pre>
</pre>
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/835/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=835&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/10/interacting-with-seleniumrc-directly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>

		<media:content url="http://fijiaaron.files.wordpress.com/2009/09/selenium_rc_chrome.png?w=300" medium="image">
			<media:title type="html">selenium_rc_chrome</media:title>
		</media:content>
	</item>
		<item>
		<title>Transitioning from Selenium IDE to Remote Control</title>
		<link>http://fijiaaron.wordpress.com/2009/09/10/transitioning-from-selenium-ide-to-remote-control/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/10/transitioning-from-selenium-ide-to-remote-control/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 17:37:03 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=830</guid>
		<description><![CDATA[I recently wrote a blog post about writing higher level test cases using Selenium RC
http://fijiaaron.wordpress.com/2009/09/02/selenium-page-objects-site-objects-data-objects-high-level-navigation/
If you are just transitioning from using Selenium IDE, it might be a bit abstract for you.
To start with, you need to decide which platform you are targeting:

What programming language you plan on using?
(Selenium supports Java, Ruby, PHP, Perl, Python, C#, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=830&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I recently wrote a blog post about writing higher level test cases using Selenium RC</p>
<p><a href="../2009/09/02/selenium-page-objects-site-objects-data-objects-high-level-navigation/">http://fijiaaron.wordpress.com/2009/09/02/selenium-page-objects-site-objects-data-objects-high-level-navigation/</a></p>
<p>If you are just transitioning from using Selenium IDE, it might be a bit abstract for you.</p>
<p>To start with, you need to decide which platform you are targeting:</p>
<ul>
<li>What programming language you plan on using?<br />
(Selenium supports Java, Ruby, PHP, Perl, Python, C#, and Groovy)</li>
<li>What testing framework you plan on using ?<br />
(dependent on the language, e.g. junit, nunit, phpUnit, testng, rspec, etc.)</li>
<li>How you want to execute your tests?<br />
(this can be left as a step for later, once you have a working test framework)</p>
<ul>
<li>in Selenium IDE (you probably don&#8217;t need this tutorial, then)</li>
<li>via the command line (e.g. with the junit textrunner)</li>
<li>in your IDE (e.g. with a plugin for Eclipse, Netbeans, IDEA, Visual Studio, Emacs)</li>
<li>with an automated build script (ant, rake, etc.)</li>
<li>from continuous integration (cruisecontrol, hudson, etc.)</li>
</ul>
</li>
</ul>
<p>I’m going to assume Java, JUnit, and Ant.  But you could just as easily use Ruby, Rspec, and Rake, or whatever you prefer.</p>
<p>You can use Selenium IDE to record some example tests and then convert them to Junit test cases.  This will help you get familiar with the basic format and syntax of Selenium tests written inJava with JUnit.</p>
<p><img class="aligncenter size-full wp-image-833" title="selenium_ide_format_junit" src="http://fijiaaron.files.wordpress.com/2009/09/selenium_ide_format_junit.png?w=406&#038;h=580" alt="selenium_ide_format_junit" width="406" height="580" /></p>
<p>Here is the output of that script from Selenium IDE:</p>
<pre style="background:#333;color:#cce;">package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
public class OneshoreContactFormTest extends SeleneseTestCase {

   public void setUp() throws Exception {
      setUp("<a href="http://www.one-shore.com/">http://www.one-shore.com/</a>", "*chrome");
   }

   public void testOneshoreContactForm() throws Exception {
      selenium.open("/");
      selenium.click("link=contact");
      selenium.waitForPageToLoad("30000");
      selenium.select("dept", "label=Other");
      selenium.type("name", "Aaron Evans");
      selenium.type("email", "<a href="mailto:ashgopi@gmail.com">aarone@one-shore.com</a>");
      selenium.type("subject", "online training in selenium junit");
   }
}</pre>
<p>Note that the test extends SeleneseTestCase, which extends the base JUnit TestCase.  There are other options, including extending TestCase yourself and handling setUp (which launches the browser), or writing your own base class.</p>
<p>The next step is to run your tests with Selenium Remote Control:</p>
<p><a href="http://seleniumhq.org/projects/remote-control/">http://seleniumhq.org/projects/remote-control/</a></p>
<p>Selenium Remote Control  can be downloaded from:</p>
<p><a href="http://release.seleniumhq.org/selenium-remote-control/1.0.1/selenium-remote-control-1.0.1-dist.zip">http://release.seleniumhq.org/selenium-remote-control/1.0.1/selenium-remote-control-1.0.1-dist.zip</a></p>
<p>You can start Selenium server by executing the following command (additional lines are the output):</p>
<pre style="background:#333;color:#cce;">C:\selenium-remote-control-1.0.1\selenium-server-1.0.1&gt;java -jar selenium-server.jar
10:21:43.631 INFO - Java: Sun Microsystems Inc. 1.5.0_13-b05
10:21:43.633 INFO - OS: Windows Vista 6.0 x86
10:21:43.648 INFO - v1.0.1 [2696], with Core v@VERSION@ [@REVISION@]
10:21:43.820 INFO - Version Jetty/5.1.x
10:21:43.823 INFO - Started HttpContext[/,/]
10:21:43.826 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:21:43.828 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
10:21:43.860 INFO - Started SocketListener on 0.0.0.0:4444
10:21:43.861 INFO - Started org.mortbay.jetty.Server@863399</pre>
<p>There are additional parameters that can be passed, including specifying a different port (the default is 4444):</p>
<pre style="background:#333;color:#cce;">java –jar selenium-server.jar –port 4445</pre>
<p>To see all options include the –help flag:</p>
<pre style="background:#333;color:#cce;">java –jar selenium-server.jar – help</pre>
<p>Your test can be run by executing junit from the command line, in your IDE, or via an ant script.  I&#8217;ll go over that in my next post, with additional posts covering:</p>
<ul>
<li>accessing  external resources in your tests (like querying a database)</li>
<li>test abstraction and organization (like page based testing)</li>
<li>using different testing frameworks (such as <a href="http://rspec.info">Rspec</a>, <a href="http://jbehave.org/">JBehave</a>, and <a href="http://cukes.info/">Cucumber</a>)</li>
<li>testing multiple browsers with <a href="http://selenium-grid.seleniumhq.org/">Selenium Grid</a></li>
<li>executing your tests as part of a continuous integration process.</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/830/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/830/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/830/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/830/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/830/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/830/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/830/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/830/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/830/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/830/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=830&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/10/transitioning-from-selenium-ide-to-remote-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>

		<media:content url="http://fijiaaron.files.wordpress.com/2009/09/selenium_ide_format_junit.png" medium="image">
			<media:title type="html">selenium_ide_format_junit</media:title>
		</media:content>
	</item>
		<item>
		<title>Open Source and Commercial CRM solutions</title>
		<link>http://fijiaaron.wordpress.com/2009/09/03/open-source-and-commercial-crm-solutions/</link>
		<comments>http://fijiaaron.wordpress.com/2009/09/03/open-source-and-commercial-crm-solutions/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 17:57:53 +0000</pubDate>
		<dc:creator>fijiaaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fijiaaron.wordpress.com/?p=825</guid>
		<description><![CDATA[I&#8217;m looking over the market at Customer Relationship Management (CRM) solutions.
First what are the aspects of a CRM?
The term is a bit vague, and fairly abused, so that it has come to mean, generally, &#8220;business applications&#8221; including those used for sales &#38; marketing, enterprise resource management (ERP &#8211; another abused term), business contact management, order [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=825&subd=fijiaaron&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m looking over the market at Customer Relationship Management (CRM) solutions.</p>
<p>First what are the aspects of a CRM?</p>
<p>The term is a bit vague, and fairly abused, so that it has come to mean, generally, &#8220;business applications&#8221; including those used for sales &amp; marketing, enterprise resource management (ERP &#8211; another abused term), business contact management, order fulfillment &amp; shipping, billing &amp; invoicing, trouble ticketing, and even sometimes e-commerce or accounting.</p>
<p>Of course part of the problem is that you want all these systems to work together, so many vendors offer some or all of these features in one application or suite of applications.  This is especially true of the big vendors, <a href="www.oracle.com/crm">Oracle/Siebel</a>, <a href="www.sap.com/solutions/business-suite/crm/index.epx">SAP</a>, and <a href="crm.dynamics.com">Microsoft</a> but also true of smaller vendors who sometimes try to shoehorn one application inside another.</p>
<p>The core elements of a CRM include:</p>
<ul>
<li>customer &amp; account data</li>
<li>customer issues and interactions (sales, support, etc.)</li>
<li>customer intelligence &amp; reporting</li>
</ul>
<p>Prospective customers are often included as well, which ties in with sales and marketing.</p>
<p>The big  commercial CRM solutions are, as stated above:</p>
<ul>
<li><a href="www.oracle.com/crm">Oracle/Siebel</a></li>
<li><a href="www.sap.com/solutions/business-suite/crm/index.epx">SAP</a></li>
<li><a href="crm.dynamics.com">Microsoft Dynamics</a></li>
</ul>
<p>A big player that offers CRM software as a service (SaaS) is:</p>
<ul>
<li><a href="http://Salesforce.com">Salesforce.com</a></li>
</ul>
<p>Other SaaS vendors:</p>
<ul>
<li><a href="www.netsuite.com/portal/products/crm_plus/main.shtml">Netsuite</a></li>
</ul>
<p>There are several other commercial enterprise vendors:</p>
<ul>
<li><a href="http://amdocs.com">Amdocs </a></li>
<li><a href="go.infor.com/inforcrm/">E.piphany</a></li>
</ul>
<p>Open source CRM is getting increasingly popular, though often the term &#8220;open source&#8221; is <a href="http://www.opensource.org/node/163">abused</a>.  Some major open source CRM applications:</p>
<ul>
<li><a href="http://www.sugarcrm.com/crm/">SugarCRM</a></li>
<li><a href="http://www.vtiger.com/">vTiger</a></li>
<li><a href="http://splendidcrm.com/">SplendidCRM</a></li>
<li><a href="http://www.opencrx.org/">OpenCRX</a></li>
<li><a href="http://civicrm.org/">CiviCRM</a></li>
</ul>
<p><a href="http://www.sugarcrm.com/crm/">SugarCRM</a> is the big Open Source CRM system.  It is written in PHP and uses MySQL database.  There is a basic open source edition, and non-free Professional versions.  Sugar offers hosted solutions at <a href="http://sugarondemand.com">sugarondemand.com</a> and a number of third party</p>
<p><a href="http://www.vtiger.com/">vTiger</a> was originally a fork of SugarCRM.  It has sense gone it&#8217;s own way, and is a good product in it&#8217;s own right.  My impression is that e-commerce companies tend to look to vTiger while more traditional businesses prefer SugarCRM.  This may have to do with the technical savvy of the the IT staff of the different types of companies, with ecommerce shops naturally having a broader IT expertise.</p>
<p><a href="http://splendidcrm.com/">SplendidCRM</a> is a .NET CRM offering written in C#  that is also open source.  Microsoft IT shops, or companies that integrate with other .NET and Microsoft products (i.e. SQL Server) should investigate this.</p>
<p><a href="http://www.opencrx.org/">OpenCRX</a> is written in Java, supports many databases, and has a featureful API.  For JEE performance, it&#8217;s a good solution.</p>
<p><a href="http://civicrm.org/">CiviCRM</a> is based on Drupal, the PHP content management system (CMS), and targets nonprofits and associated volunteer and donor networks and compaigns.</p>
<p>Additional Open Source applications that offer CMS features:</p>
<ul>
<li><a href="www.compiere.com/">Compiere</a></li>
<li><a href="ofbiz.apache.org/">OfBiz</a></li>
<li><a href="http://xrms.sourceforge.net/">XRMS</a></li>
</ul>
<p>Smaller commerical CRM offerings &amp; SaaS:</p>
<ul>
<li><a href="http://www.smallbizcrm.com/top-crm-software.html">http://www.smallbizcrm.com/top-crm-software.html</a></li>
</ul>
<p>I&#8217;m looking to add to this list.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fijiaaron.wordpress.com/825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fijiaaron.wordpress.com/825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fijiaaron.wordpress.com/825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fijiaaron.wordpress.com/825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fijiaaron.wordpress.com/825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fijiaaron.wordpress.com/825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fijiaaron.wordpress.com/825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fijiaaron.wordpress.com/825/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fijiaaron.wordpress.com/825/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fijiaaron.wordpress.com/825/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fijiaaron.wordpress.com&blog=1103338&post=825&subd=fijiaaron&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fijiaaron.wordpress.com/2009/09/03/open-source-and-commercial-crm-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a2412957bb28ab1a33b1eae61c964ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fijiaaron</media:title>
		</media:content>
	</item>
	</channel>
</rss>