<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: So You&#039;re Trying to Automate Tests for a Legacy Web Application&#8230;</title>
	<atom:link href="http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/feed/" rel="self" type="application/rss+xml" />
	<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/</link>
	<description>Elisabeth Hendrickson&#039;s thoughts on Agile, Testing, and Agile Testing.</description>
	<lastBuildDate>Sat, 04 Sep 2010 11:42:24 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Jean-Noël Rouvignac</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-483</link>
		<dc:creator>Jean-Noël Rouvignac</dc:creator>
		<pubDate>Wed, 04 Jun 2008 09:44:41 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-483</guid>
		<description>Sorry gunn,
I do not have a definite answer for all your questions. You will have to try to find it by yourself. I know this takes time, but the reward is probably high enough for you to invest it.
About your questions:
1) I do not know how to &quot;data drive/parameterize my tests in Selenium *IDE*&quot;. Selenium RC can do that provided you build your own framework for it. Advatage: it can be as flexible as you want. Disadvantage, unless you find something already done, this takes time.
2) &quot;report test results, collate and consolidate them in some form I can present to my supervisor.&quot;. This is something you can achieve by writting your Selenium RC Tests using xUnit-like testing frameworks that generates reports of the tests runs.

So my very simple advice for a very minimal “HOW TO” are:
a) Write a simple automated test. =&gt; Use xUnit testing tools (and resolve all the setup problems you have at the beginning)
b) Add checkpoints, breakpoints
=&gt; Do you mean debugging the tests? For example, if you write your tests in Java you can run them through Eclipse and use Eclipse debugging capabilities very easily.
=&gt; Do you mean writing maitainable tests? This is classical code maintenance. Ask any good developer for this.
c) Data driving
=&gt; I do not know how to do that. I never did. It seems to me what Elisabeth said makes a lot of sense.
d) Error handling
=&gt; Do you mean when tests fail? This is given for free by xUnit testing frameworks.
e) Reporting
=&gt; Should be part of a good xUnit testing frameworks, like JUnit or TestNG in the Java world.</description>
		<content:encoded><![CDATA[<p>Sorry gunn,<br />
I do not have a definite answer for all your questions. You will have to try to find it by yourself. I know this takes time, but the reward is probably high enough for you to invest it.<br />
About your questions:<br />
1) I do not know how to &#8220;data drive/parameterize my tests in Selenium *IDE*&#8221;. Selenium RC can do that provided you build your own framework for it. Advatage: it can be as flexible as you want. Disadvantage, unless you find something already done, this takes time.<br />
2) &#8220;report test results, collate and consolidate them in some form I can present to my supervisor.&#8221;. This is something you can achieve by writting your Selenium RC Tests using xUnit-like testing frameworks that generates reports of the tests runs.</p>
<p>So my very simple advice for a very minimal “HOW TO” are:<br />
a) Write a simple automated test. =&gt; Use xUnit testing tools (and resolve all the setup problems you have at the beginning)<br />
b) Add checkpoints, breakpoints<br />
=&gt; Do you mean debugging the tests? For example, if you write your tests in Java you can run them through Eclipse and use Eclipse debugging capabilities very easily.<br />
=&gt; Do you mean writing maitainable tests? This is classical code maintenance. Ask any good developer for this.<br />
c) Data driving<br />
=&gt; I do not know how to do that. I never did. It seems to me what Elisabeth said makes a lot of sense.<br />
d) Error handling<br />
=&gt; Do you mean when tests fail? This is given for free by xUnit testing frameworks.<br />
e) Reporting<br />
=&gt; Should be part of a good xUnit testing frameworks, like JUnit or TestNG in the Java world.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gunn</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-484</link>
		<dc:creator>gunn</dc:creator>
		<pubDate>Fri, 23 May 2008 17:21:56 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-484</guid>
		<description>Thanks all for your replies.  So I gather that IDE cannot to what I want to do and that RC is perhaps my best bet.

So then, can somebody please point me to or write me a &quot;Definitive Guide to Selenium RC&quot; which includes info atleast about &quot;HOW TO&quot; -

a) Write a simple automated test.
b) Add checkpoints, breakpoints
c) Data driving
d) Error handling
e) Reporting


Also, Elisabeth please elaborate on that Fit/Fitnesse solution you mentioned... preferably in a seperate blog post/section dedicated to it.

Thanks in advance.</description>
		<content:encoded><![CDATA[<p>Thanks all for your replies.  So I gather that IDE cannot to what I want to do and that RC is perhaps my best bet.</p>
<p>So then, can somebody please point me to or write me a &#8220;Definitive Guide to Selenium RC&#8221; which includes info atleast about &#8220;HOW TO&#8221; -</p>
<p>a) Write a simple automated test.<br />
b) Add checkpoints, breakpoints<br />
c) Data driving<br />
d) Error handling<br />
e) Reporting</p>
<p>Also, Elisabeth please elaborate on that Fit/Fitnesse solution you mentioned&#8230; preferably in a seperate blog post/section dedicated to it.</p>
<p>Thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruslan Strazhnyk</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-493</link>
		<dc:creator>Ruslan Strazhnyk</dc:creator>
		<pubDate>Fri, 23 May 2008 15:56:17 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-493</guid>
		<description>Hi Elisabeth! I&#039;ve read your solution about adding  -multiWindow when start selenium server, it runs now in two windows, but html source, which selenium parses is still like that.

\n        \n            Problem displaying iframes\n        \n.

You see, in this frame there is email message displayed, but i can&#039;t tell you the name of the app that I am testing.

So, I can consider this as a bug in Selenium RC.</description>
		<content:encoded><![CDATA[<p>Hi Elisabeth! I&#8217;ve read your solution about adding  -multiWindow when start selenium server, it runs now in two windows, but html source, which selenium parses is still like that.</p>
<p>\n        \n            Problem displaying iframes\n        \n.</p>
<p>You see, in this frame there is email message displayed, but i can&#8217;t tell you the name of the app that I am testing.</p>
<p>So, I can consider this as a bug in Selenium RC.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruslan Strazhnyk</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-492</link>
		<dc:creator>Ruslan Strazhnyk</dc:creator>
		<pubDate>Fri, 23 May 2008 15:20:20 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-492</guid>
		<description>I am using Selenium nearly a year, but recently i&#039;ve discovered that &quot;iframes&quot; is really a problem. soulution with multiwindow didn&#039;t pass :(((.
I don&#039;t know what to do(.

&lt;i&gt;
Elisabeth replies...

Can you say more about what didn&#039;t work about multiwindow?  It worked great for me...
&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>I am using Selenium nearly a year, but recently i&#8217;ve discovered that &#8220;iframes&#8221; is really a problem. soulution with multiwindow didn&#8217;t pass <img src='http://testobsessed.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> ((.<br />
I don&#8217;t know what to do(.</p>
<p><i><br />
Elisabeth replies&#8230;</p>
<p>Can you say more about what didn&#8217;t work about multiwindow?  It worked great for me&#8230;<br />
</i></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Braun</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-491</link>
		<dc:creator>Martin Braun</dc:creator>
		<pubDate>Thu, 22 May 2008 22:10:32 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-491</guid>
		<description>Hi,

(in reply to gunn)
i really don&#039;t think Selenium IDE and the Selenese &quot;language&quot; is the right way to go when doing real test automation. The IDE is a very nice tool to do a quick demo about the basic stuff you can do with selenium, but as soon as it comes to data driven tests, reporting, continuous testing and all the stuff which makes testing more valuable, IDE is no option any more.

Simple things (like Selenium IDE) are great for simple tasks, but it&#039;s doomed to fail when it comes to more complex testing or integration to $you_favorite_tool. We also played around with the IDE at the start but realized that it is not powerful enough - hey, if it would that simple all the big testing vendors would have burned billions in developing their complex toolchains...

In my opinion, a effective, reliable and valuable testing tool is a mix of a framework which removes the hickups between the test runner (xUnit/Selenium RC) and the application under test and a real powerful programming language backend like java or ruby to provide a solid and useable interface for testcase development.

Anyway, Selenium IDE will not ne able to provide the intelligence of a Selenium RC with a powerful framework. &quot;Click, click, click, run = test done&quot; may be work of the most simple test-cases but not for complex stuff that&#039;s required in many web applications.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>(in reply to gunn)<br />
i really don&#8217;t think Selenium IDE and the Selenese &#8220;language&#8221; is the right way to go when doing real test automation. The IDE is a very nice tool to do a quick demo about the basic stuff you can do with selenium, but as soon as it comes to data driven tests, reporting, continuous testing and all the stuff which makes testing more valuable, IDE is no option any more.</p>
<p>Simple things (like Selenium IDE) are great for simple tasks, but it&#8217;s doomed to fail when it comes to more complex testing or integration to $you_favorite_tool. We also played around with the IDE at the start but realized that it is not powerful enough &#8211; hey, if it would that simple all the big testing vendors would have burned billions in developing their complex toolchains&#8230;</p>
<p>In my opinion, a effective, reliable and valuable testing tool is a mix of a framework which removes the hickups between the test runner (xUnit/Selenium RC) and the application under test and a real powerful programming language backend like java or ruby to provide a solid and useable interface for testcase development.</p>
<p>Anyway, Selenium IDE will not ne able to provide the intelligence of a Selenium RC with a powerful framework. &#8220;Click, click, click, run = test done&#8221; may be work of the most simple test-cases but not for complex stuff that&#8217;s required in many web applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gunn</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-490</link>
		<dc:creator>gunn</dc:creator>
		<pubDate>Thu, 22 May 2008 19:21:31 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-490</guid>
		<description>Hi..

I&#039;ve hitched on the Selenium bandwagon recently and I&#039;ve been doing all the reading I can about it.  I use Selenium IDE and my company does not use RC or Core yet..

Now, somebody .. pleeeese pleeeess pleaaaase tell me how to do the following things -

1) data drive/parameterize my tests in Selenium *IDE* (not core, not RC.. but IDE)
2) report test results, collate and consolidate them in some form I can present to my supervisor.

Are there already extensions somebody has written to accomplish the above.  Or is there some simple but winded way to accomplish it?  Or is there some not winded but quite painful way to do it?  PLeeeeeeeeeeeeeese help.

I need this information badly..  Elisabeth dear.. would you consider writing a definitive guide to accomplishing the above tasks.. I dont care how winded or complicated it is.. I just want to be able to parameterize my tests in Selenium *IDE*.  Please please please help.

&lt;i&gt;Elisabeth replies...

I don&#039;t use the IDE, but perhaps one of the people who does who commented here could address the question.  Chris?  Jean-Noël?  So instead of answering your question directly, I&#039;ll answer it indirectly.  My advice would be to use something like FIT/FITnesse with a fixture that uses SeleniumRC.  That will take care of parameterizing/data driving tests.  It can do reports too.  Or use the reports from a CI tool like CruiseControl.
&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>Hi..</p>
<p>I&#8217;ve hitched on the Selenium bandwagon recently and I&#8217;ve been doing all the reading I can about it.  I use Selenium IDE and my company does not use RC or Core yet..</p>
<p>Now, somebody .. pleeeese pleeeess pleaaaase tell me how to do the following things -</p>
<p>1) data drive/parameterize my tests in Selenium *IDE* (not core, not RC.. but IDE)<br />
2) report test results, collate and consolidate them in some form I can present to my supervisor.</p>
<p>Are there already extensions somebody has written to accomplish the above.  Or is there some simple but winded way to accomplish it?  Or is there some not winded but quite painful way to do it?  PLeeeeeeeeeeeeeese help.</p>
<p>I need this information badly..  Elisabeth dear.. would you consider writing a definitive guide to accomplishing the above tasks.. I dont care how winded or complicated it is.. I just want to be able to parameterize my tests in Selenium *IDE*.  Please please please help.</p>
<p><i>Elisabeth replies&#8230;</p>
<p>I don&#8217;t use the IDE, but perhaps one of the people who does who commented here could address the question.  Chris?  Jean-Noël?  So instead of answering your question directly, I&#8217;ll answer it indirectly.  My advice would be to use something like FIT/FITnesse with a fixture that uses SeleniumRC.  That will take care of parameterizing/data driving tests.  It can do reports too.  Or use the reports from a CI tool like CruiseControl.<br />
</i></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Speedmaster</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-489</link>
		<dc:creator>Speedmaster</dc:creator>
		<pubDate>Sat, 17 May 2008 22:12:24 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-489</guid>
		<description>I&#039;m a longtime WinRunner user, we&#039;re just making the switch to QTP. I&#039;m a bit behind on it as I&#039;ve been doing a lot of LoadRunner work lately. But I&#039;ll take a good look at Selenium. Thanks for the heads-up!</description>
		<content:encoded><![CDATA[<p>I&#8217;m a longtime WinRunner user, we&#8217;re just making the switch to QTP. I&#8217;m a bit behind on it as I&#8217;ve been doing a lot of LoadRunner work lately. But I&#8217;ll take a good look at Selenium. Thanks for the heads-up!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrini Kulkarni</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-488</link>
		<dc:creator>Shrini Kulkarni</dc:creator>
		<pubDate>Fri, 16 May 2008 12:06:07 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-488</guid>
		<description>Lesson 5:  Please work with Developers and have them to add some GUI related information.

Typical web GUI/HTML/CSS and other related development practices do not seem to consider &quot;automation requirements&quot;.

Web GUI controls like Table, CheckBoxes, buttons, List boxes typically do come with identification information. Since these are not visible on the GUI and developers least care about it.  When I asked developers - they said, it is not a standard practice to include ID, Names etc in GUI elements.

Consider a web form with several OK buttons each for a specifi purposes but has one label &quot;OK&quot;.  Automation tool gets confused in identifying this button.

In some automation projects, I have worked with developers and have them add code with identification names/labels so that automation easier.

In one cases, there used be several  popups with no window title. I worked with developers and made them to add unique window titles ....

hence the Lesson ...

EH, I am glad that you are picking up those issues that are faced in IT automation space where automation happens at GUI level. When working with automation of Web Apps - Testability has always been the issue. Keep blogging more on these lines.


Shrini</description>
		<content:encoded><![CDATA[<p>Lesson 5:  Please work with Developers and have them to add some GUI related information.</p>
<p>Typical web GUI/HTML/CSS and other related development practices do not seem to consider &#8220;automation requirements&#8221;.</p>
<p>Web GUI controls like Table, CheckBoxes, buttons, List boxes typically do come with identification information. Since these are not visible on the GUI and developers least care about it.  When I asked developers &#8211; they said, it is not a standard practice to include ID, Names etc in GUI elements.</p>
<p>Consider a web form with several OK buttons each for a specifi purposes but has one label &#8220;OK&#8221;.  Automation tool gets confused in identifying this button.</p>
<p>In some automation projects, I have worked with developers and have them add code with identification names/labels so that automation easier.</p>
<p>In one cases, there used be several  popups with no window title. I worked with developers and made them to add unique window titles &#8230;.</p>
<p>hence the Lesson &#8230;</p>
<p>EH, I am glad that you are picking up those issues that are faced in IT automation space where automation happens at GUI level. When working with automation of Web Apps &#8211; Testability has always been the issue. Keep blogging more on these lines.</p>
<p>Shrini</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Noël Rouvignac</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-487</link>
		<dc:creator>Jean-Noël Rouvignac</dc:creator>
		<pubDate>Fri, 16 May 2008 07:39:04 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-487</guid>
		<description>Chris is right: Selenium IDE is your friend in getting to the point where you are ready to write your unit tests. The methodology to follow is the following:
1- record with Selenium IDE the browsing you want to automate (that will generate locators automatically for you, using Ids over xpath).
2- export your selenese script into your favourite programming language (you can somewhat tune the export code template).
3- paste that code into the unit test you want to write (In a maitainable way) and add the missins bits.
4- execute. TADA!

Of course the code generated is not perfect. However, that helps you a lot by doing the big, uninviting work and leaving to you the smaller details. For example, I remember Selenium IDE did not record clicks on a Javascript calendar. This was easy to go round by using the input field associated with this calendar. There are some minor discrepancies between the selenese script you recorded and the export in your favourite language: ClickAndWait became Click and the Wait disappeared. But this is easy to notice and fix.


Firebug is another great tool I use more than the Web developers toolbar. With Firebug, you can &quot;Inspect&quot; any element on your web page and look or modify its content on the fly. This is great for understanding what is going on, which DOM attribute you need to change or even testing something before actually modifying the application code. I did some prototyping on web pages by modifying the content of a web page (changing text, adding / deleting elements, nearly everything), before actually delivering it in the code. It is a Javascript debugger as well. However, mastering Firebug is not always easy, but you can start small and learn little by little.</description>
		<content:encoded><![CDATA[<p>Chris is right: Selenium IDE is your friend in getting to the point where you are ready to write your unit tests. The methodology to follow is the following:<br />
1- record with Selenium IDE the browsing you want to automate (that will generate locators automatically for you, using Ids over xpath).<br />
2- export your selenese script into your favourite programming language (you can somewhat tune the export code template).<br />
3- paste that code into the unit test you want to write (In a maitainable way) and add the missins bits.<br />
4- execute. TADA!</p>
<p>Of course the code generated is not perfect. However, that helps you a lot by doing the big, uninviting work and leaving to you the smaller details. For example, I remember Selenium IDE did not record clicks on a Javascript calendar. This was easy to go round by using the input field associated with this calendar. There are some minor discrepancies between the selenese script you recorded and the export in your favourite language: ClickAndWait became Click and the Wait disappeared. But this is easy to notice and fix.</p>
<p>Firebug is another great tool I use more than the Web developers toolbar. With Firebug, you can &#8220;Inspect&#8221; any element on your web page and look or modify its content on the fly. This is great for understanding what is going on, which DOM attribute you need to change or even testing something before actually modifying the application code. I did some prototyping on web pages by modifying the content of a web page (changing text, adding / deleting elements, nearly everything), before actually delivering it in the code. It is a Javascript debugger as well. However, mastering Firebug is not always easy, but you can start small and learn little by little.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Tinkham</title>
		<link>http://testobsessed.com/2008/05/15/so-youre-trying-to-automate-tests-for-a-legacy-web-application/#comment-486</link>
		<dc:creator>Andy Tinkham</dc:creator>
		<pubDate>Fri, 16 May 2008 03:54:37 +0000</pubDate>
		<guid isPermaLink="false">http://testobsessed.com/?p=182#comment-486</guid>
		<description>I second the vote for trying FireBug. It&#039;s a beautiful plugin. Add YSlow (the Yahoo plugin to Firebug) and you can get some basic performance benchmarking too.

Also, are you using a framework to handle your tests? I&#039;ve got tests that use RSpec and tests that use Test::Unit, and a clear favorite has not yet emerged. Some tests seem to lead me to xunit syntax and some to the should syntax. Haven&#039;t tried the story format of RSpec or shoulda yet, though I&#039;d like to (and I finally get a second tester, so maybe I&#039;ll even get a chance to do so soon...)</description>
		<content:encoded><![CDATA[<p>I second the vote for trying FireBug. It&#8217;s a beautiful plugin. Add YSlow (the Yahoo plugin to Firebug) and you can get some basic performance benchmarking too.</p>
<p>Also, are you using a framework to handle your tests? I&#8217;ve got tests that use RSpec and tests that use Test::Unit, and a clear favorite has not yet emerged. Some tests seem to lead me to xunit syntax and some to the should syntax. Haven&#8217;t tried the story format of RSpec or shoulda yet, though I&#8217;d like to (and I finally get a second tester, so maybe I&#8217;ll even get a chance to do so soon&#8230;)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
