<?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: Adventures in GUI automation</title>
	<atom:link href="http://www.testjutsu.com/adventures-in-gui-automation/feed" rel="self" type="application/rss+xml" />
	<link>http://www.testjutsu.com/adventures-in-gui-automation</link>
	<description></description>
	<lastBuildDate>Thu, 19 Aug 2010 00:14:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: A little QTP performance test: Object Repository vs. Descriptive Programming - Automation Beyond</title>
		<link>http://www.testjutsu.com/adventures-in-gui-automation/comment-page-1#comment-290</link>
		<dc:creator>A little QTP performance test: Object Repository vs. Descriptive Programming - Automation Beyond</dc:creator>
		<pubDate>Thu, 18 Mar 2010 12:25:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.testjutsu.com/?p=182#comment-290</guid>
		<description>[...] recently replied to Ben Kelly&#8217;s post &#8220;Adventures in GUI Automation&#8221; and he got interested in using QTP&#8217;s Object Repositories dynamically in functions, [...]</description>
		<content:encoded><![CDATA[<p>[...] recently replied to Ben Kelly&#8217;s post &#8220;Adventures in GUI Automation&#8221; and he got interested in using QTP&#8217;s Object Repositories dynamically in functions, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Albert Gareev</title>
		<link>http://www.testjutsu.com/adventures-in-gui-automation/comment-page-1#comment-283</link>
		<dc:creator>Albert Gareev</dc:creator>
		<pubDate>Mon, 15 Mar 2010 15:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.testjutsu.com/?p=182#comment-283</guid>
		<description>Hi Ben,

Replying to the previous comment.

QTP is very powerful tool with high integrity but its price makes it available to organizations in certain segments only. But since you have it that&#039;s a good automation platform to start developing your testing tools.

If you&#039;re comfortable developing solid programs I would recommend you not to use built-in QTP framework and develop your own, truly keyword-driven instead. That way, your test automation will be script-less, and you will only have to maintain code of the core engine which is compact and project-application-independent.

Regarding OR&#039;s. There are more valuable advantages than performance boost.
First of all, default QTP mechanism requires attaching OR&#039;s to Actions. Managing on your own you have the full freedom and it comes very handy when you create generic, highly reusable components.
Second, if your application is multi-lingual you either have to duplicate test code (of course, that creates more maintenance problems) - or you can load OR&#039;s dynamically and reuse same Actions.

- You&#039;re very welcome. Don&#039;t mind to drop questions to my email or blog, if you have some more.

Thank you,
Albert Gareev
http://automation-beyond.com/</description>
		<content:encoded><![CDATA[<p>Hi Ben,</p>
<p>Replying to the previous comment.</p>
<p>QTP is very powerful tool with high integrity but its price makes it available to organizations in certain segments only. But since you have it that&#8217;s a good automation platform to start developing your testing tools.</p>
<p>If you&#8217;re comfortable developing solid programs I would recommend you not to use built-in QTP framework and develop your own, truly keyword-driven instead. That way, your test automation will be script-less, and you will only have to maintain code of the core engine which is compact and project-application-independent.</p>
<p>Regarding OR&#8217;s. There are more valuable advantages than performance boost.<br />
First of all, default QTP mechanism requires attaching OR&#8217;s to Actions. Managing on your own you have the full freedom and it comes very handy when you create generic, highly reusable components.<br />
Second, if your application is multi-lingual you either have to duplicate test code (of course, that creates more maintenance problems) &#8211; or you can load OR&#8217;s dynamically and reuse same Actions.</p>
<p>- You&#8217;re very welcome. Don&#8217;t mind to drop questions to my email or blog, if you have some more.</p>
<p>Thank you,<br />
Albert Gareev<br />
<a href="http://automation-beyond.com/" rel="nofollow">http://automation-beyond.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Kelly</title>
		<link>http://www.testjutsu.com/adventures-in-gui-automation/comment-page-1#comment-280</link>
		<dc:creator>Ben Kelly</dc:creator>
		<pubDate>Sat, 06 Mar 2010 05:04:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.testjutsu.com/?p=182#comment-280</guid>
		<description>&lt;i&gt;because it’s so complex that no one can use the damn thing
&gt;&gt;Sorry, I have to disagree here not because I am used to it but I have seen people(freshers) able to ramp up fast with this tool with minimal training.&lt;/i&gt;

True enough I suppose. Thanks for bringing my lack of clarity to my attention. :) 
I maintain that while damn near anyone could use the record/playback functionality, this doesn&#039;t necessarily mean they are proficient in using the tool. Throwaway scripts are one thing. Knowing enough about the tool (when to use the object repository, when to use descriptive programming, how to create functions and classes and so on), but my (admittedly poorly made) point was that there are a large number of things that you can do, and if you do not have money or an experienced guide, then doing anything more than rudimentary checks will take you some time. 

I suppose it really depends on what your needs are, but it would seem a bit wasteful to spend so much money on a tool if all you need to do is record throwaway scripts.</description>
		<content:encoded><![CDATA[<p><i>because it’s so complex that no one can use the damn thing<br />
>>Sorry, I have to disagree here not because I am used to it but I have seen people(freshers) able to ramp up fast with this tool with minimal training.</i></p>
<p>True enough I suppose. Thanks for bringing my lack of clarity to my attention. <img src='http://www.testjutsu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I maintain that while damn near anyone could use the record/playback functionality, this doesn&#8217;t necessarily mean they are proficient in using the tool. Throwaway scripts are one thing. Knowing enough about the tool (when to use the object repository, when to use descriptive programming, how to create functions and classes and so on), but my (admittedly poorly made) point was that there are a large number of things that you can do, and if you do not have money or an experienced guide, then doing anything more than rudimentary checks will take you some time. </p>
<p>I suppose it really depends on what your needs are, but it would seem a bit wasteful to spend so much money on a tool if all you need to do is record throwaway scripts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ankur Jain</title>
		<link>http://www.testjutsu.com/adventures-in-gui-automation/comment-page-1#comment-276</link>
		<dc:creator>Ankur Jain</dc:creator>
		<pubDate>Fri, 05 Mar 2010 13:59:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.testjutsu.com/?p=182#comment-276</guid>
		<description>I think that it’s really bloody cheeky for a company to charge six figures for a product because of its feature richness, then charge 5 figures for training
&gt;&gt; Yes, it seems like HP has just continued with the legacy of Mercury (the co it acquired in around 2006). High time price should come down.

because it’s so complex that no one can use the damn thing
&gt;&gt;Sorry, I have to disagree here not because I am used to it but I have seen people(freshers) able to ramp up fast with this tool with minimal training. 

Thank You for sharing Michael Hunter&#039;s link. Do keep us posted with your experience on QTP.</description>
		<content:encoded><![CDATA[<p>I think that it’s really bloody cheeky for a company to charge six figures for a product because of its feature richness, then charge 5 figures for training<br />
&gt;&gt; Yes, it seems like HP has just continued with the legacy of Mercury (the co it acquired in around 2006). High time price should come down.</p>
<p>because it’s so complex that no one can use the damn thing<br />
&gt;&gt;Sorry, I have to disagree here not because I am used to it but I have seen people(freshers) able to ramp up fast with this tool with minimal training. </p>
<p>Thank You for sharing Michael Hunter&#8217;s link. Do keep us posted with your experience on QTP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Albert Gareev</title>
		<link>http://www.testjutsu.com/adventures-in-gui-automation/comment-page-1#comment-275</link>
		<dc:creator>Albert Gareev</dc:creator>
		<pubDate>Fri, 05 Mar 2010 13:45:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.testjutsu.com/?p=182#comment-275</guid>
		<description>Hi Ben,

I&#039;m about to wish you good luck in your adventure and make a couple of notes that might be of value to you.

So, good luck in making your smoke/sanity/regression testing suite efficient and reliable, robust and maintainable! 
In addition to resources you use the following might help in that too: http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm

A note about pricing. Since you didn&#039;t make a decision yet, you may want to take a close look at TestComplete. It has some surprising features including it&#039;s price. If you&#039;re more leaning toward open-source/free tools explore Robot Framework and AutoIt.

A note about Object Repositories in QTP. If you&#039;re going to build your own framework targeting low maintenance cost in the long run, I&#039;d suggest you managing OR&#039;s dynamically, like in a short code example below.

&#039;Load repository
intPos = RepositoriesCollection.Find(sRepositoryFile)
If intPos =  -1 Then
  RepositoriesCollection.Add sRepositoryFile
End If

&#039;Unload repository
intPos = RepositoriesCollection.Find(sRepositoryFile)
If intPos  -1 Then
  RepositoriesCollection.Remove intPos
End If

(RepositoriesCollection is a built-in QTP object)

Thank you,
Albert Gareev
http://automation-beyond.com/

&lt;em&gt;
[Ben&#039;s response]
Thanks Albert.
I&#039;m afraid the decision re purchase was made a while ago, hence me embarking on said adventure. Open source would have been my preference, alas the decision was not mine to make.
I&#039;m curious. Can you tell me what the advantages are of managing the OR dynamically? I imagine that it provides a performance boost when you&#039;re dealing with large repositories, as you can link to what you need when you need it. Is there more to it than that?
Thanks for stopping by and for your advice.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Hi Ben,</p>
<p>I&#8217;m about to wish you good luck in your adventure and make a couple of notes that might be of value to you.</p>
<p>So, good luck in making your smoke/sanity/regression testing suite efficient and reliable, robust and maintainable!<br />
In addition to resources you use the following might help in that too: <a href="http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm" rel="nofollow">http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm</a></p>
<p>A note about pricing. Since you didn&#8217;t make a decision yet, you may want to take a close look at TestComplete. It has some surprising features including it&#8217;s price. If you&#8217;re more leaning toward open-source/free tools explore Robot Framework and AutoIt.</p>
<p>A note about Object Repositories in QTP. If you&#8217;re going to build your own framework targeting low maintenance cost in the long run, I&#8217;d suggest you managing OR&#8217;s dynamically, like in a short code example below.</p>
<p>&#8216;Load repository<br />
intPos = RepositoriesCollection.Find(sRepositoryFile)<br />
If intPos =  -1 Then<br />
  RepositoriesCollection.Add sRepositoryFile<br />
End If</p>
<p>&#8216;Unload repository<br />
intPos = RepositoriesCollection.Find(sRepositoryFile)<br />
If intPos  -1 Then<br />
  RepositoriesCollection.Remove intPos<br />
End If</p>
<p>(RepositoriesCollection is a built-in QTP object)</p>
<p>Thank you,<br />
Albert Gareev<br />
<a href="http://automation-beyond.com/" rel="nofollow">http://automation-beyond.com/</a></p>
<p><em><br />
[Ben's response]<br />
Thanks Albert.<br />
I&#8217;m afraid the decision re purchase was made a while ago, hence me embarking on said adventure. Open source would have been my preference, alas the decision was not mine to make.<br />
I&#8217;m curious. Can you tell me what the advantages are of managing the OR dynamically? I imagine that it provides a performance boost when you&#8217;re dealing with large repositories, as you can link to what you need when you need it. Is there more to it than that?<br />
Thanks for stopping by and for your advice.</em></p>
]]></content:encoded>
	</item>
</channel>
</rss>
