<?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>Waldemar's blog &#187; eclipse</title>
	<atom:link href="http://blog.testsautomation.com/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.testsautomation.com</link>
	<description>Live fast, die old...</description>
	<lastBuildDate>Mon, 02 Jan 2012 20:36:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Automating web flow with Selenium and Eclipse IDE</title>
		<link>http://blog.testsautomation.com/2009/11/automating-web-flow-with-selenium-and-eclipse-ide/</link>
		<comments>http://blog.testsautomation.com/2009/11/automating-web-flow-with-selenium-and-eclipse-ide/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 02:53:19 +0000</pubDate>
		<dc:creator>Waldemar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[selenium]]></category>

		<guid isPermaLink="false">http://blog.testsautomation.com/?p=435</guid>
		<description><![CDATA[Some of you may already know Selenium. Basically it&#8217;s free and open source tool for web application functional testing. It&#8217;s mainly know as replacement for HP&#8217;s QuickTestProfessional. I&#8217;ve recently discovered Selenium as very helpful for automating data setup for load testing. Here is a small description howto setup Eclipse and run Selenium script through it. [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you may already know Selenium. Basically it&#8217;s free and open source tool for web application functional testing. It&#8217;s mainly know as replacement for HP&#8217;s QuickTestProfessional. I&#8217;ve recently discovered Selenium as very helpful for automating data setup for load testing.</p>
<p>Here is a small description howto setup Eclipse and run Selenium script through it.</p>
<p>1) Download Eclipse IDE from <a href="http://www.eclipse.org/downloads/" target="_blank"> http://www.eclipse.org/downloads/</a><br />
2) Download Selenium RC from <a href="http://seleniumhq.org/download/" target="_blank">http://seleniumhq.org/download/</a><br />
3) Download Junit from <a href="http://www.junit.org/" target="_blank">http://www.junit.org/</a><br />
4) Create new project in Eclipse:</p>
<ul>
<li>Go to File -> New -> Java Project</li>
<li>enter project name e.g. &#8220;Sample&#8221;</li>
<li>Click &#8220;Finish&#8221; button</li>
</ul>
<p>5) Import Selenium and JUnit packages into the project:</p>
<ul>
<li>In Package Explorer right click project &#8220;Sample&#8221; and select Properties</li>
<li>Go to &#8220;Java Build Path&#8221; then select &#8220;Libraries&#8221; tab</li>
<li>Click &#8220;Add External JARs&#8221; and import junit-4.7.jar and selenium-java-client-driver.jar</li>
</ul>
<p>Now our Eclipse environment should be ready. Next step is to prepare a test case in Selenium IDE. I&#8217;ve prepared small test that searches for &#8220;linux&#8221; word in google. To export test case as Java, in Selenium IDE go to Options -> Format -> Java (Junit) Selenium RC. As a result you should get something like this:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">package</span> com.<span class="me1">example</span>.<span class="me1">tests</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import com.thoughtworks.selenium.*;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.regex.Pattern;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> Untitled <span class="kw2">extends</span> SeleneseTestCase <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> setUp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setUp<span class="br0">&#40;</span><span class="st0">&quot;http://change-this-to-the-site-you-are-testing/&quot;</span>, <span class="st0">&quot;*chrome&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> testUntitled<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">open</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">type</span><span class="br0">&#40;</span><span class="st0">&quot;q&quot;</span>, <span class="st0">&quot;linux&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">click</span><span class="br0">&#40;</span><span class="st0">&quot;btnG&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Default Junit code generated by Selenium doesn&#8217;t use Selenium RC. Because of that I updated the code a little bit to connect to localhost Selenium RC on port 4444. Here is updated version:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">package</span> com.<span class="me1">example</span>.<span class="me1">tests</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import com.thoughtworks.selenium.*;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.regex.Pattern;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> Untitled <span class="kw2">extends</span> SeleneseTestCase <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> DefaultSelenium selenium;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> setUp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium = <span class="kw2">new</span> DefaultSelenium<span class="br0">&#40;</span><span class="st0">&quot;localhost&quot;</span>, <span class="nu0">4444</span>, <span class="st0">&quot;*iexplore&quot;</span>, <span class="st0">&quot;http://www.google.com/&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> testUntitled<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">open</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">type</span><span class="br0">&#40;</span><span class="st0">&quot;q&quot;</span>, <span class="st0">&quot;linux&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">click</span><span class="br0">&#40;</span><span class="st0">&quot;btnG&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Now, lets add it in our Eclipse project:</p>
<ul>
<li>In Package Explorer right click on our &#8220;Sample&#8221; project and select New -> Class</li>
<li>Enter class name &#8220;Untitled&#8221; and package name &#8220;com.example.tests&#8221;</li>
<li>Click &#8220;Finish&#8221; button</li>
</ul>
<p>Before we run our test, we need to start Selenium RC. For that open command line and under selenium-remote-control-1.0.1/selenium-server-1.0.1 run command &#8220;java -jar selenium-server.jar&#8221;. It will run Selenium RC server on default port 4444.</p>
<p>Now, to start the test just select Run -> Run As -> Junit test. It should open two IE browsers. One for Selenium RC and second with Google results for &#8220;linux&#8221; word. </p>
<p>Because we run Java code, it&#8217;s only up to us how we want to run the test. Below is our example update to search for &#8220;linux&#8221; word in a loop 5 times with 5 seconds intervals.</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">package</span> com.<span class="me1">example</span>.<span class="me1">tests</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import com.thoughtworks.selenium.*;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.util.regex.Pattern;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> Untitled <span class="kw2">extends</span> SeleneseTestCase <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> DefaultSelenium selenium;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> setUp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium = <span class="kw2">new</span> DefaultSelenium<span class="br0">&#40;</span><span class="st0">&quot;localhost&quot;</span>, <span class="nu0">4444</span>, <span class="st0">&quot;*iexplore&quot;</span>, <span class="st0">&quot;http://www.google.com/&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> testUntitled<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw2">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt; <span class="nu0">5</span>; i++<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">open</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">type</span><span class="br0">&#40;</span><span class="st0">&quot;q&quot;</span>, <span class="st0">&quot;linux&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">click</span><span class="br0">&#40;</span><span class="st0">&quot;btnG&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selenium.<span class="me1">waitForPageToLoad</span><span class="br0">&#40;</span><span class="st0">&quot;10000&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AThread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Thread</span></a>.<span class="me1">sleep</span><span class="br0">&#40;</span><span class="nu0">5000</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.testsautomation.com/2009/11/automating-web-flow-with-selenium-and-eclipse-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

