<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7200173817191646600</id><updated>2012-01-24T14:52:37.622+05:30</updated><category term='Testing Tips'/><category term='Other OpenSource Tools'/><category term='Testing Gyaan'/><category term='Testing Generic'/><category term='Jus4Fun'/><category term='QTP'/><category term='Selenium'/><category term='Skillset'/><category term='Mobile Testing'/><category term='Testing News'/><category term='QC'/><category term='Downloads'/><category term='PERL'/><category term='Test Automation'/><title type='text'>Go gaga over testing</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default?start-index=101&amp;max-results=100'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>116</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4182018620337349878</id><published>2012-01-24T14:52:00.000+05:30</published><updated>2012-01-24T14:52:37.631+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>When message box is not sufficient!!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ySSowxTJETw/Tx54QD_GEMI/AAAAAAAABQA/w-njaoBf3u0/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" gda="true" height="240" src="http://1.bp.blogspot.com/-ySSowxTJETw/Tx54QD_GEMI/AAAAAAAABQA/w-njaoBf3u0/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There are instances when we want to output a large amount of text and we can see just the truncated version in a msgbox. Here is a quick function that can be reused:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Sub Debug2(myText)&lt;br /&gt;&amp;nbsp; ' Uncomment the next line to turn off debugging&lt;br /&gt;&amp;nbsp; ' Exit Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; If Not IsObject(objIEDebugWindow) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objIEDebugWindow = CreateObject("InternetExplorer.Application")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Navigate "about:blank"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Visible = True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Toolbar = False&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Width = 200&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Height = 300&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Left = 10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Top = 10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While objIEDebugWindow.Busy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Sleep 100&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Document.Title = "IE Debug Window"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Document.Body.InnerHTML = _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;b&gt;" &amp;amp; Now &amp;amp; "&lt;/b&gt;&lt;br /&gt;"&lt;br /&gt;&amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; objIEDebugWindow.Document.Body.InnerHTML = _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objIEDebugWindow.Document.Body.InnerHTML _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; myText &amp;amp; "&lt;br /&gt;" &amp;amp; vbCrLf&lt;br /&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4182018620337349878?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4182018620337349878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4182018620337349878&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4182018620337349878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4182018620337349878'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2012/01/when-message-box-is-not-sufficient.html' title='When message box is not sufficient!!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ySSowxTJETw/Tx54QD_GEMI/AAAAAAAABQA/w-njaoBf3u0/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5217417777158690671</id><published>2012-01-23T14:58:00.000+05:30</published><updated>2012-01-23T14:58:29.108+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Add a Delay without using sleep / wait</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-p680UD9siDw/Tx0oLP70laI/AAAAAAAABP4/2UBZtDQTbUU/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" nfa="true" src="http://1.bp.blogspot.com/-p680UD9siDw/Tx0oLP70laI/AAAAAAAABP4/2UBZtDQTbUU/s1600/testing.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Lets see a simple code snippet that will add some delay without using the native wait or sleep methods while coding using VBs/QTP/QC&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Sub Delay( seconds )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim wshShell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set wshShell = CreateObject( "WScript.Shell" )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wshShell.Run "ping -n " &amp;amp; ( seconds + 1 ) &amp;amp; " 127.0.0.1", 0, True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set wshShell = Nothing&lt;br /&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;Happy Coding!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5217417777158690671?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5217417777158690671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5217417777158690671'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2012/01/add-delay-without-using-sleep-wait.html' title='Add a Delay without using sleep / wait'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-p680UD9siDw/Tx0oLP70laI/AAAAAAAABP4/2UBZtDQTbUU/s72-c/testing.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3170887801312296131</id><published>2012-01-05T12:28:00.000+05:30</published><updated>2012-01-05T12:28:48.019+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jus4Fun'/><title type='text'>Signs That You’re Dating A Tester</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wl9OSIJyNGM/TwVKGodC57I/AAAAAAAABPs/LxCU8C9O45U/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" rea="true" src="http://4.bp.blogspot.com/-wl9OSIJyNGM/TwVKGodC57I/AAAAAAAABPs/LxCU8C9O45U/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;Your love letters get returned to you marked up with red ink, highlighting your grammar and spelling mistakes&lt;/span&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: Symbol; font-size: 10.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;When you tell him that you won’t change something he has asked you to change, he’ll offer to allow you two other flaws in exchange for correcting this one.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: Symbol; font-size: 10.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;When you ask him how you look in a dress, he’ll actually tell you.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: Symbol; font-size: 10.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;When you give him the “It’s not you, it’s me” breakup line, he’ll agree with you and give the specifics.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: Symbol; font-size: 10.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;He won’t help you change a broken light bulb because his job is simply to report and not to fix.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="background: white; margin: 0in 0in 0pt 13.5pt; mso-layout-grid-align: none; mso-list: l0 level1 lfo1; text-indent: -0.25in;"&gt;&lt;span style="color: #444444; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10.5pt;"&gt;He’ll keep bringing up old problems that you’ve since resolved just to make sure that they’re truly gone.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3170887801312296131?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3170887801312296131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3170887801312296131&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3170887801312296131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3170887801312296131'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2012/01/signs-that-youre-dating-tester.html' title='Signs That You’re Dating A Tester'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-wl9OSIJyNGM/TwVKGodC57I/AAAAAAAABPs/LxCU8C9O45U/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6961952402000882007</id><published>2011-12-29T17:11:00.000+05:30</published><updated>2011-12-29T17:11:42.565+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><title type='text'>Selenium 2.0 / Web Driver and Eclipse</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CT-Mmanhjgk/TvxRwaQ6zlI/AAAAAAAABPU/lArgdV_us98/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" rea="true" src="http://2.bp.blogspot.com/-CT-Mmanhjgk/TvxRwaQ6zlI/AAAAAAAABPU/lArgdV_us98/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Steps to set up web driver and Eclipse:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Open Eclipse from the menu choose File, New, Project...&lt;/li&gt;&lt;li&gt;In the folder Java, choose Java Project. &lt;/li&gt;&lt;li&gt;Give project a name, accept the rest of the defaults, and click &lt;em&gt;Next.&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Download the latest zip file for selenium frm : &lt;a href="http://seleniumhq.org/download/"&gt;http://seleniumhq.org/download/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The latest version right now is : "selenium-java-2.15.0.zip"&lt;/li&gt;&lt;li&gt;Unzip the files into the project that you just created&lt;/li&gt;&lt;li&gt;Back in Eclipse, right click on your project in the Package Explorer and choose &lt;em&gt;Build Path&lt;/em&gt;, &lt;em&gt;Configure Build Path...&lt;/em&gt;. Choose the &lt;em&gt;Libraries&lt;/em&gt; tab&lt;/li&gt;&lt;li&gt;Click &lt;em&gt;Add Jars&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Select all of the jars that you just unzipped into the &lt;em&gt;/lib/selenium-jars/&lt;/em&gt; folder and click &lt;em&gt;OK&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Choose the primary selenium jar, which in this example is &lt;em&gt;selenium-java-2.15.jar , expand and&amp;nbsp;&lt;/em&gt; double-click on &lt;em&gt;Javadoc location&lt;/em&gt;. (Enter the location for the Selenium JavaDocs into the &lt;em&gt;Javadoc location path&lt;/em&gt; field htt&lt;em&gt;tp://selenium.googlecode.com/svn/trunk/docs/api/java/&lt;/em&gt;)&lt;/li&gt;&lt;li&gt;Click Ok and u are ready.&lt;/li&gt;&lt;li&gt;Right click on the &lt;em&gt;/src&lt;/em&gt; folder in your project and choose &lt;em&gt;New&lt;/em&gt;, &lt;em&gt;Package...&lt;/em&gt;Give the package a name and click &lt;em&gt;Finish&lt;/em&gt;. &lt;/li&gt;&lt;li&gt;Right click on the package and choose &lt;em&gt;New&lt;/em&gt;, &lt;em&gt;Class&lt;/em&gt;...Give the class a name and accept the other defaults, but make sure that &lt;em&gt;public static void main(String[] args)&lt;/em&gt; is checked.&lt;/li&gt;&lt;li&gt;Add code from selenium IDE in JUnit4 (WebDriver) format&amp;nbsp;&lt;/li&gt;&lt;li&gt;Run the test :)&lt;/li&gt;&lt;/ol&gt;Happy Testing!!!&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6961952402000882007?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6961952402000882007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6961952402000882007&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6961952402000882007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6961952402000882007'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/12/selenium-20-web-driver-and-eclipse.html' title='Selenium 2.0 / Web Driver and Eclipse'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CT-Mmanhjgk/TvxRwaQ6zlI/AAAAAAAABPU/lArgdV_us98/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7097547466866188446</id><published>2011-12-29T14:18:00.000+05:30</published><updated>2011-12-29T14:18:28.660+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Install m2eclipse for Indigo</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JyF07Cg6bSM/TvwpUiMpbwI/AAAAAAAABPI/wknllhFus3w/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" rea="true" src="http://3.bp.blogspot.com/-JyF07Cg6bSM/TvwpUiMpbwI/AAAAAAAABPI/wknllhFus3w/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Eclipse does not have integrated Maven support out of the box. To add the support, I am going to use &lt;a href="http://eclipse.org/m2e"&gt;Maven Integration (m2e)&lt;/a&gt;.&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;In Eclipse: &lt;em&gt;Help&lt;/em&gt; -&amp;gt; &lt;em&gt;Install New Software…&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Type the following URL in field &lt;em&gt;Work with&lt;/em&gt;: &lt;a href="http://download.eclipse.org/technology/m2e/releases"&gt;http://download.eclipse.org/technology/m2e/releases&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Click &lt;em&gt;Add…&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Give a name for the repository (such as &lt;code&gt;m2eclipse&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Select the checkbox &lt;em&gt;Maven Integration for Eclipse&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Click &lt;em&gt;Next&lt;/em&gt; etc. to move forward and choose to restart Eclipse when prompted&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7097547466866188446?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7097547466866188446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7097547466866188446&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7097547466866188446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7097547466866188446'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/12/install-m2eclipse-for-indigo.html' title='Install m2eclipse for Indigo'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JyF07Cg6bSM/TvwpUiMpbwI/AAAAAAAABPI/wknllhFus3w/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1729404828275955066</id><published>2011-12-28T15:49:00.001+05:30</published><updated>2011-12-28T15:52:39.617+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Lets Install Maven</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-eYzCLETL1II/TvrtC0lWGpI/AAAAAAAABO8/u3VH5Thh8aI/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" rea="true" src="http://3.bp.blogspot.com/-eYzCLETL1II/TvrtC0lWGpI/AAAAAAAABO8/u3VH5Thh8aI/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Steps to Install &lt;a href="http://en.wikipedia.org/wiki/Apache_Maven"&gt;Maven&lt;/a&gt;&amp;nbsp;for&amp;nbsp;Windows XP:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Maven is a Java tool, so you must have Java installed.&lt;/li&gt;&lt;li&gt;Download Maven from &lt;a href="http://maven.apache.org/download.html#Installation"&gt;http://maven.apache.org/download.html#Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Unzip the distribution archive, i.e. apache-maven-3.0.3-bin.zip to the directory you wish to install Maven 3.0.3&lt;/li&gt;&lt;li&gt;Add the M2_HOME environment variable with the value of where you have&amp;nbsp;extracted the&amp;nbsp;zip artchive:&amp;nbsp;C:\Program Files\Apache Software Foundation\apache-maven-3.0.3&lt;/li&gt;&lt;li&gt;Add the M2 environment variable in the user variables with the value %M2_HOME%\bin&lt;/li&gt;&lt;li&gt;Update/create the Path environment variable and append the value %M2% to add Maven available in the command line.&lt;/li&gt;&lt;li&gt;Make sure that JAVA_HOME exists in your user variables or in the system variables and it is set to the location of your JDK, e.g. C:\Program Files\Java\jdk1.5.0_02&lt;/li&gt;&lt;li&gt;Restart the machine&lt;/li&gt;&lt;li&gt;Open a new command prompt and type&amp;nbsp;mvn --version to verify that it is correctly installed&lt;/li&gt;&lt;/ol&gt;Source: &lt;a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html"&gt;http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy Testing!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1729404828275955066?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1729404828275955066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1729404828275955066&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1729404828275955066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1729404828275955066'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/12/lets-install-maven.html' title='Lets Install Maven'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-eYzCLETL1II/TvrtC0lWGpI/AAAAAAAABO8/u3VH5Thh8aI/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7908923266168706456</id><published>2011-12-05T12:30:00.002+05:30</published><updated>2012-01-23T15:01:58.359+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Integrate Quality Center with Fitnesse</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-alAi4LH0bWA/Ttx1l46dHbI/AAAAAAAABOs/jhr0J4gtE-Q/s1600/integrate.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" dda="true" src="http://1.bp.blogspot.com/-alAi4LH0bWA/Ttx1l46dHbI/AAAAAAAABOs/jhr0J4gtE-Q/s1600/integrate.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;I had a hard time trying to figure this out , so here are the steps for the basic integration of these two tools :&lt;br /&gt;The same logic can be used to integrate Quality center and any open source tool:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Set up a VAPI-XP-TEST in quality center that will store the script and the logic to run the same.&lt;/li&gt;&lt;li&gt;The script would then invoke the opensource tool , in our case Fitnesse from test lab in QC.&lt;/li&gt;&lt;li&gt;Once the test is complete we would do two things&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Report a Pass/Fail for the test&lt;/li&gt;&lt;li&gt;Upload the results that are generated by the Fitnesse tool into QC&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;Here is the cod e that you need to place in the QC VAPI-XP-TEST:&lt;br /&gt;&lt;br /&gt;' FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.SetUpLinkTest [VBScript]&lt;br /&gt;' Created by Quality Center&lt;br /&gt;' ====================================================&lt;br /&gt;&lt;br /&gt;' ----------------------------------------------------&lt;br /&gt;' Main Test Function&lt;br /&gt;' Debug - Boolean. Equals to false if running in [Test Mode] : reporting to Quality Center&lt;br /&gt;' CurrentTestSet - [OTA COM Library].TestSet.&lt;br /&gt;' CurrentTSTest - [OTA COM Library].TSTest.&lt;br /&gt;' CurrentRun - [OTA COM Library].Run.&lt;br /&gt;' ----------------------------------------------------&lt;br /&gt;Sub Test_Main(Debug, CurrentTestSet, CurrentTSTest, CurrentRun)&lt;br /&gt;&amp;nbsp; TDOutput.Clear&lt;br /&gt;&amp;nbsp;&amp;nbsp; '***************** VARIABLES TO BE MODIFIED **************************&lt;br /&gt;&amp;nbsp; Dim strFITDatabase : strFITDatabase = "FIT"&lt;br /&gt;&amp;nbsp; Dim strFITUsername : strFITUsername = "Aditya"&lt;br /&gt;&amp;nbsp; Dim strFIFITassword : strFIFITassword = "pass"&lt;br /&gt;&amp;nbsp; Dim strFIFITroject : strFIFITroject = "Common"&lt;br /&gt;&amp;nbsp; Dim strFITTestScriptName : strFITTestScriptName = CurrentTSTest.TestName&lt;br /&gt;&amp;nbsp; Dim strResultsDirectory :&amp;nbsp; strResultsDirectory = "C:\Documents and Settings\Desktop\"&lt;br /&gt;&amp;nbsp; '***********************************************************************************************&lt;br /&gt;&amp;nbsp; Dim WshShell, objExecObject, strOutput&lt;br /&gt;&amp;nbsp; Dim strCommand, strTestTypeCommand, strRes&lt;br /&gt;&amp;nbsp; Dim strTestName&lt;br /&gt;&amp;nbsp; 'Now setup some variables to handle to test results&lt;br /&gt;&amp;nbsp; Dim strMacroName : strMacroName = "ExtractResultsFromFIT"&lt;br /&gt;&amp;nbsp; Dim strExpectedResultsPath&lt;br /&gt;&amp;nbsp; Dim strTimeStamp&lt;br /&gt;&amp;nbsp; Dim strTemp&lt;br /&gt;&amp;nbsp; 'setup the timestamp in YYYYMMDD_HHMM format&lt;br /&gt;&amp;nbsp; 'get the year&lt;br /&gt;&amp;nbsp; strTimeStamp = year(now())&lt;br /&gt;&amp;nbsp; 'get the month&lt;br /&gt;&amp;nbsp; strTemp = month(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the day&lt;br /&gt;&amp;nbsp; strTemp = day(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp &amp;amp; "_"&lt;br /&gt;&amp;nbsp; 'get the hour&lt;br /&gt;&amp;nbsp; strTemp = hour(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the minute&lt;br /&gt;&amp;nbsp; strTemp = minute(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the seconds&lt;br /&gt;&amp;nbsp; strTemp = second(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'setup testname variable&lt;br /&gt;&amp;nbsp; if strFITTestScriptName &amp;lt;&amp;gt; "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTestName = strFITTestScriptName&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'Now we can setup the expected results path&lt;br /&gt;&amp;nbsp; strExpectedResultsPath = "C:\Results_" &amp;amp; strTimeStamp &amp;amp; ".html"&lt;br /&gt;&amp;nbsp; 'Now start setting up variables used to send the command&lt;br /&gt;&amp;nbsp; if strFITTestScriptName &amp;lt;&amp;gt; "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTestTypeCommand = strFITTestScriptName&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'create a windows shell object&lt;br /&gt;&amp;nbsp; Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;&amp;nbsp; WshShell.CurrentDirectory = strResultsDirectory&lt;br /&gt;&amp;nbsp;&amp;nbsp; 'construct the command we want to send to it&lt;br /&gt;&amp;nbsp; 'this is useful for debug purposes&lt;br /&gt;&amp;nbsp; TDOutput.Print "Launching FIT with this command:"&lt;br /&gt;&amp;nbsp; TDOutput.Print strCommand&lt;br /&gt;&amp;nbsp;'&amp;nbsp; strCommand = "cmd /C java -jar fitnesse.jar -p 8080 -c FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.SetUpLinkTest &amp;gt; C:\results.xml"&lt;br /&gt;&amp;nbsp;&amp;nbsp; strCommand = "cmd /C java -jar fitnesse.jar -p 8080 -c "&amp;amp;strFITTestScriptName&amp;amp;" &amp;gt; "&amp;amp;strExpectedResultsPath&lt;br /&gt;&amp;nbsp; WshShell.run strCommand&lt;br /&gt;&amp;nbsp;' strOutput = objExecObject.StdOut.readall()&lt;br /&gt;&amp;nbsp; if strOutput &amp;lt;&amp;gt; "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print strOutput&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'if this was a visual test, then this a playback error but we can still go on to retrieve the results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if instr(strOutput, "Fail") &amp;lt;= 0 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not Debug Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test Failed to launch"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit sub&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'if we reach here then the test ran correctly, we can now go and retrieve the results using the excel&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if instr(strOutput, "Pass") &amp;lt;= 0 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test passed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Passed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Passed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;&amp;nbsp; 'msgbox objFSO.FileExists(strExpectedResultsPath)&lt;br /&gt;&amp;nbsp; rc = objFSO.FileExists(strExpectedResultsPath)&lt;br /&gt;&amp;nbsp; msgbox rc&lt;br /&gt;&amp;nbsp; If ucase(rc) &amp;lt;&amp;gt; "TRUE" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep (5)&lt;br /&gt;&amp;nbsp; End If&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; TDOutput.Print "Uploading results from: " &amp;amp; strExpectedResultsPath&lt;br /&gt;&amp;nbsp; set attachF = CurrentRun.Attachments&lt;br /&gt;&amp;nbsp; Set theAttachment = attachF.AddItem(null)&lt;br /&gt;&amp;nbsp; theAttachment.FileName = strExpectedResultsPath&lt;br /&gt;&amp;nbsp; theAttachment.Type = 1&lt;br /&gt;&amp;nbsp; theAttachment.Post&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Finished"&lt;br /&gt;End Sub&lt;br /&gt;Function sleep(seconds)&lt;br /&gt;&amp;nbsp;Dim startTime, endTime&lt;br /&gt;&amp;nbsp;startTime = Time()&lt;br /&gt;&amp;nbsp;endTime = DateAdd("s",seconds,startTime)&lt;br /&gt;&amp;nbsp;While endTime &amp;gt;= Time()&lt;br /&gt;&amp;nbsp;Wend&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Hope this helps everyone trying to integrate QC with other tools.. &lt;br /&gt;The script can be enhanced in many ways, this is just the raw version demonstarting that&amp;nbsp;integration is possible.&lt;br /&gt;&lt;br /&gt;Happy Testing!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Update:&lt;br /&gt;&lt;br /&gt;Here is a updated code snippet for the same:&lt;br /&gt;&lt;br /&gt;' Created by Quality Center&lt;br /&gt;' 11/25/2011 5:12:37 AM&lt;br /&gt;' ====================================================&lt;br /&gt;&lt;br /&gt;' ----------------------------------------------------&lt;br /&gt;' Main Test Function&lt;br /&gt;' Debug - Boolean. Equals to false if running in [Test Mode] : reporting to Quality Center&lt;br /&gt;' CurrentTestSet - [OTA COM Library].TestSet.&lt;br /&gt;' CurrentTSTest - [OTA COM Library].TSTest.&lt;br /&gt;' CurrentRun - [OTA COM Library].Run.&lt;br /&gt;' ----------------------------------------------------&lt;br /&gt;Sub Test_Main(Debug, CurrentTestSet, CurrentTSTest, CurrentRun)&lt;br /&gt;&amp;nbsp; TDOutput.Clear&lt;br /&gt;&amp;nbsp;&amp;nbsp; '***************** VARIABLES TO BE MODIFIED **************************&lt;br /&gt;&amp;nbsp; Dim strFITDatabase : strFITDatabase = "FIT"&lt;br /&gt;&amp;nbsp; Dim strFITUsername : strFITUsername = "Aditya"&lt;br /&gt;&amp;nbsp; Dim strFIFITassword : strFIFITassword = "pass"&lt;br /&gt;&amp;nbsp; Dim strFIFITroject : strFIFITroject = "Common"&lt;br /&gt;&amp;nbsp; Dim strFITTestScriptName : strFITTestScriptName = CurrentTSTest.TestName&lt;br /&gt;&amp;nbsp; Dim strResultsDirectory :&amp;nbsp; strResultsDirectory = "C:\Documents and Settings\\Desktop\"&lt;br /&gt;&amp;nbsp; '***********************************************************************************************&lt;br /&gt;&amp;nbsp; Dim WshShell, objExecObject, strOutput&lt;br /&gt;&amp;nbsp; Dim strCommand, strTestTypeCommand, strRes&lt;br /&gt;&amp;nbsp; Dim strTestName&lt;br /&gt;&amp;nbsp; 'Now setup some variables to handle to test results&lt;br /&gt;&amp;nbsp; Dim strMacroName : strMacroName = "ExtractResultsFromFIT"&lt;br /&gt;&amp;nbsp; Dim strExpectedResultsPath&lt;br /&gt;&amp;nbsp; Dim strTimeStamp&lt;br /&gt;&amp;nbsp; Dim strTemp&lt;br /&gt;&amp;nbsp; Dim strPort : strPort = CurrentTestSet.TestSetFolder&lt;br /&gt;&amp;nbsp; 'setup the timestamp in YYYYMMDD_HHMM format&lt;br /&gt;&amp;nbsp; 'get the year&lt;br /&gt;&amp;nbsp; strTimeStamp = year(now())&lt;br /&gt;&amp;nbsp; 'get the month&lt;br /&gt;&amp;nbsp; strTemp = month(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the day&lt;br /&gt;&amp;nbsp; strTemp = day(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp &amp;amp; "_"&lt;br /&gt;&amp;nbsp; 'get the hour&lt;br /&gt;&amp;nbsp; strTemp = hour(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the minute&lt;br /&gt;&amp;nbsp; strTemp = minute(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'get the seconds&lt;br /&gt;&amp;nbsp; strTemp = second(now())&lt;br /&gt;&amp;nbsp; if len(strTemp) = 1 then strTemp = "0" &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; strTimeStamp = strTimeStamp &amp;amp; strTemp&lt;br /&gt;&amp;nbsp; 'setup testname variable&lt;br /&gt;&amp;nbsp; if strFITTestScriptName &amp;lt;&amp;gt; "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTestName = strFITTestScriptName&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'Now we can setup the expected results path&lt;br /&gt;&amp;nbsp; strExpectedResultsPath = "C:\Results_" &amp;amp; strTimeStamp &amp;amp; ".html"&lt;br /&gt;&amp;nbsp; 'Now start setting up variables used to send the command&lt;br /&gt;&amp;nbsp; if strFITTestScriptName &amp;lt;&amp;gt; "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTestTypeCommand = strFITTestScriptName&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'create a windows shell object&lt;br /&gt;&amp;nbsp; Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;&amp;nbsp; WshShell.CurrentDirectory = strResultsDirectory&lt;br /&gt;&amp;nbsp;&amp;nbsp; 'construct the command we want to send to it&lt;br /&gt;&amp;nbsp; 'this is useful for debug purposes&lt;br /&gt;&amp;nbsp; TDOutput.Print "Launching FIT with this command:"&lt;br /&gt;&amp;nbsp; 'Now run the command which will launch FIT - if nothing happens, put the command into a&lt;br /&gt;&amp;nbsp; 'command prompt window (start &amp;gt; run &amp;gt; "cmd") to see if there are any errors from it&lt;br /&gt;&amp;nbsp;&amp;nbsp; strCommand = "cmd /C java -jar fitnesse.jar -p "&amp;amp;strPort&amp;amp;" -c "&amp;amp;strFITTestScriptName&amp;amp;" &amp;gt; "&amp;amp;strExpectedResultsPath&lt;br /&gt;&amp;nbsp; WshShell.run strCommand&lt;br /&gt;&amp;nbsp; Delay(10)&lt;br /&gt;&amp;nbsp; 'Declares varibles&lt;br /&gt;&amp;nbsp; Dim objFSO, objFile, strCharacters&lt;br /&gt;&amp;nbsp; 'Open the file&lt;br /&gt;&amp;nbsp; Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;&amp;nbsp; Set objFile = objFSO.OpenTextFile(strExpectedResultsPath, 1)&lt;br /&gt;'&amp;nbsp; rc = objFSO.FileExists(strExpectedResultsPath)&lt;br /&gt;&amp;nbsp; 'To change the file change the path in the line above&lt;br /&gt;&amp;nbsp; 'Read the file&lt;br /&gt;&amp;nbsp; Do Until objFile.AtEndOfStream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCharacters = strCharacters &amp;amp; objFile.Read(1)&lt;br /&gt;&amp;nbsp; Loop&lt;br /&gt;&amp;nbsp; 'Debug2(strCharacters)&lt;br /&gt;&amp;nbsp; if strCharacters = "" then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'if this was a visual test, then this a playback error but we can still go on to retrieve the results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test Failed to launch"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit sub&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; 'if we reach here then the test ran correctly, we can now go and retrieve the results using the excel&lt;br /&gt;&amp;nbsp; if instr(strCharacters, "pass") &amp;gt; 0 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test passed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Passed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Passed"&lt;br /&gt;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Test Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentRun.Status = "Failed"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentTSTest.Status = "Failed"&lt;br /&gt;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp; TDOutput.Print "Uploading results from: " &amp;amp; strExpectedResultsPath&lt;br /&gt;&amp;nbsp; set attachF = CurrentRun.Attachments&lt;br /&gt;&amp;nbsp; Set theAttachment = attachF.AddItem(null)&lt;br /&gt;&amp;nbsp; theAttachment.FileName = strExpectedResultsPath&lt;br /&gt;&amp;nbsp; theAttachment.Type = 1&lt;br /&gt;&amp;nbsp; theAttachment.Post&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDOutput.Print "Finished"&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub Delay( seconds )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim wshShell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set wshShell = CreateObject( "WScript.Shell" )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wshShell.Run "ping -n " &amp;amp; ( seconds + 1 ) &amp;amp; " 127.0.0.1", 0, True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set wshShell = Nothing&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7908923266168706456?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7908923266168706456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7908923266168706456&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7908923266168706456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7908923266168706456'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/12/integrate-quality-center-with-fitnesse.html' title='Integrate Quality Center with Fitnesse'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-alAi4LH0bWA/Ttx1l46dHbI/AAAAAAAABOs/jhr0J4gtE-Q/s72-c/integrate.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6323098183768936227</id><published>2011-12-01T14:29:00.001+05:30</published><updated>2011-12-01T14:31:32.705+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>VBscript to close any popup message box</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;A strange thing happened when i was trying to run QTP tests from Quality Center , there was this error message popped up after every test run. &lt;br /&gt;Until the message box was not closed manually QC would wait indefinitely, defeating the whole purpose of automation. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-r4efKi23vK0/TtdBJD2lpKI/AAAAAAAABOk/G_Wun5xyb60/s1600/qtp_ERR.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" dda="true" height="108" src="http://3.bp.blogspot.com/-r4efKi23vK0/TtdBJD2lpKI/AAAAAAAABOk/G_Wun5xyb60/s320/qtp_ERR.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;So here is the vbcript that would run indefinitely waiting for the popup; and close it for tests to continue:&lt;br /&gt;&lt;br /&gt;Set wshShell = CreateObject("WScript.Shell")&lt;br /&gt;Do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = wshShell.AppActivate("System Settings Change")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ret = True Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wshShell.SendKeys "%N"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Sleep 500&lt;br /&gt;&amp;nbsp; Loop&amp;nbsp; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6323098183768936227?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6323098183768936227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6323098183768936227&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6323098183768936227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6323098183768936227'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/12/vbscript-to-close-any-popup-message-box.html' title='VBscript to close any popup message box'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-r4efKi23vK0/TtdBJD2lpKI/AAAAAAAABOk/G_Wun5xyb60/s72-c/qtp_ERR.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4094566400809167592</id><published>2011-11-17T18:08:00.000+05:30</published><updated>2011-11-17T18:08:17.107+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Steps to use the QTP .NET Extensibility sdk</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;QuickTest&amp;nbsp;.NET Add-in Extensibility is an SDK&amp;nbsp;package that enables you to support testing applications &lt;br /&gt;&lt;div&gt;that use third-party and custom .NET Windows Forms controls that are not supported out-of-the-box by the .NET Add-in.&lt;/div&gt;&lt;br /&gt;We need to create a&amp;nbsp;Custom Server (DLLs or control definition XML file) to handle each custom control.&lt;br /&gt;&lt;br /&gt;We shall look at the steps to develop a custom server dll using the .net extensibility kit:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Use the QTP Setup program to install the QuickTest Professional .NET Add-in Extensibility SDK on your computer.&lt;/li&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Create a new project in VS2008 or above and select&amp;nbsp;the Visual C# &amp;gt; Windows node in the Project types treeVisual C# &amp;gt; &lt;/li&gt;&lt;/ol&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://1.bp.blogspot.com/-bqqB5lLyDDc/TsTLVuPvBDI/AAAAAAAABOc/pexBySFuD6g/s1600/qtp1.PNG" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" hda="true" height="241" src="http://1.bp.blogspot.com/-bqqB5lLyDDc/TsTLVuPvBDI/AAAAAAAABOc/pexBySFuD6g/s400/qtp1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;In the Application Settings page, specify the following settings:&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Server class name e.g. TrackBarSrv&lt;/li&gt;&lt;li&gt;Select the Customize Record process check box.&lt;/li&gt;&lt;li&gt;Select the Customize Run process check box.&lt;/li&gt;&lt;li&gt;Accept the rest of the default settings.&lt;/li&gt;&lt;/ul&gt;4.&amp;nbsp; Click Next. The XML Configuration Settings page opens &lt;br /&gt;In the XML Configuration Settings page, specify the following settings: &lt;ul style="text-align: left;"&gt;&lt;li&gt;&amp;nbsp;Make sure the Auto-generate the XML configuration segment check box&lt;/li&gt;&lt;li&gt;In the Customized Control type box, enter the entire reference of the object which you can find in the references in VS for e.g.&amp;nbsp;System.Windows.Forms.TrackBar&lt;/li&gt;&lt;li&gt;Accept the rest of the default settings&lt;/li&gt;&lt;/ul&gt;5.&amp;nbsp; Click Finish&amp;nbsp;and in VS you will see &amp;nbsp;In the Class View window, you can see that the wizard created a class like e.g. TrackBarSrv class derived from the CustomServerBase class and an interface like ITrackBarSrvReplay interface.&lt;br /&gt;&lt;br /&gt;6. Implement the&amp;nbsp;Test Record Logic&lt;br /&gt;&lt;br /&gt;7. Implement the&amp;nbsp;Test Run Logic&lt;br /&gt;&lt;br /&gt;8. Configure QuickTest Professional to use the Custom Server - In the Solution Explorer window, double-click the Configuration.XML fileConfiguration.XML file. Copy everything that is between &lt;control&gt;…&lt;/control&gt; and paste it in the&amp;nbsp; &lt;controls&gt;tag SwfConfig.xml&lt;br /&gt;&lt;br /&gt;P.S - SwfConfig.xml file located in &lt;quicktest folder="" installation="" professional=""&gt;\dat..&lt;br /&gt;Make sure that the &lt;dllname&gt;elements contain the correct path to your Custom Server DLL&lt;br /&gt;&lt;br /&gt;Here is the code for Trackbar.csv&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Mercury.QTP.CustomServer;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System.Windows.Forms;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;namespace&lt;br /&gt;{&lt;br /&gt;[&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; QTCustServer&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;ReplayInterface&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;]&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;interface&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;ITrackBarSrvReplay&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;{&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Wizard generated sample code (commented)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// void CustomMouseDown(int X, int Y);&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SetValue(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; newValue);&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; Summary description for TrackBarSrv.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;/summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;TrackBarSrv&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; :&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;CustomServerBase&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;,&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;ITrackBarSrvReplay&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// You shouldn't call Base class methods/properties at the constructor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// since its services are not initialized yet.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; TrackBarSrv()&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// TODO: Add constructor logic here&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; IRecord override Methods&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;br /&gt;&lt;br /&gt;/// To change Window messages filter implement this method.&lt;br /&gt;/// The default implementation is to get only Control's window messages.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public override WND_MsgFilter GetWndMessageFilter()&lt;br /&gt;{&lt;br /&gt;return WND_MsgFilter.WND_MSGS;&lt;br /&gt;}&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// To catch window messages you should implement this method.&lt;br /&gt;/// Please note: This method is called just in case the CustomServer is running&lt;br /&gt;/// under QuickTest process.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public override RecordStatus OnMessage(ref Message tMsg)&lt;br /&gt;{&lt;br /&gt;// TODO: Add OnMessage implementation.&lt;br /&gt;return RecordStatus.RECORD_HANDLED;&lt;br /&gt;}&lt;br /&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Wizard generated sample code (commented)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;/* /// &lt;summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; In case you extend Record process, you should add your Events handlers&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; in order to listen to Control's Events.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;/summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;{&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; InitEventListener()&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;br /&gt;&lt;br /&gt;// Adding OnMouseDown handler.&lt;br /&gt;Delegate e = new System.Windows.Forms.MouseEventHandler(this.OnMouseDown);&lt;br /&gt;// Adds an event handler as the first handler of the event.&lt;br /&gt;// The first argument is the name of the event for which to listen.&lt;br /&gt;// You must provide an event that the control supports.&lt;br /&gt;// Use the .NET Spy to obtain the list of events supported by the control.&lt;br /&gt;// The second argument is the event handler delegate. &lt;br /&gt;AddHandler("MouseDown", e);&lt;br /&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Wizard generated sample code (commented)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;/* // Notice, You can add as many handlers as you need.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;AddHandler(&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;Delegate&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; e = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System.&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.OnValueChanged);&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;"ValueChanged"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, e);&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; At the end of the Record process this method is called by QuickTest to release &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; all the handlers the user added in InitEventListener method.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; Please note: Handlers added via QuickTest methods are released by QuickTest infrastructure.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;/summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;System.Windows.Forms.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ReleaseEventListener()&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; OnValueChanged(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; sender, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;EventArgs&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; e)&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;TrackBar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; trackBar = (System.Windows.Forms.&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;TrackBar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)sender;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// get the new value&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; newValue = trackBar.Value;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;// Record SetValue command to the test&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;RecordFunction(&lt;br /&gt;}&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;"SetValue"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;RecordingMode&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.RECORD_SEND_LINE, newValue);&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;br /&gt;&lt;br /&gt;#region&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Record events handlers&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;// Record line in QTP.&lt;br /&gt;if(e.Button == System.Windows.Forms.MouseButtons.Left)&lt;br /&gt;{ &lt;br /&gt;RecordFunction( "CustomMouseDown", RecordingMode.RECORD_SEND_LINE, e.X, e.Y);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Wizard generated sample code (commented)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;/* public void OnMouseDown(object sender, System.Windows.Forms.MouseEventArgs e)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;#region&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Replay interface implementation&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#region&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;MouseClick(X, Y, MOUSE_BUTTON.LEFT_MOUSE_BUTTON);&lt;br /&gt;}&lt;br /&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Wizard generated sample code (commented)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;/* public void CustomMouseDown(int X, int Y)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;{&lt;br /&gt;System.Windows.Forms.&lt;br /&gt;trackBar.Value = newValue;&lt;br /&gt;}&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SetValue(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; newValue)&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;TrackBar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; trackBar =(System.Windows.Forms.&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;TrackBar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)SourceControl;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;#endregion&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;Hope this helps anyone using the extensibility! Will try and post a video if i can of the entire process!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4094566400809167592?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4094566400809167592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4094566400809167592'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/11/steps-to-use-qtp-net-extensibility-sdk.html' title='Steps to use the QTP .NET Extensibility sdk'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-bqqB5lLyDDc/TsTLVuPvBDI/AAAAAAAABOc/pexBySFuD6g/s72-c/qtp1.PNG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-305798487143411144</id><published>2011-10-10T09:00:00.001+05:30</published><updated>2012-01-05T12:31:35.083+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jus4Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Testing the parachute for a change!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/IjIUckLtTwI/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IjIUckLtTwI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/IjIUckLtTwI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-305798487143411144?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/305798487143411144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=305798487143411144&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/305798487143411144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/305798487143411144'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/10/testing-parachute-for-change.html' title='Testing the parachute for a change!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3798023314698832574</id><published>2011-09-29T21:32:00.005+05:30</published><updated>2011-09-29T21:44:26.912+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Solution to warning in Quality Center shows FAIL</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-a84QKPtPzVk/ToSZKJ_2GXI/AAAAAAAAAas/ZV_ukSbniVQ/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" kca="true" src="http://4.bp.blogspot.com/-a84QKPtPzVk/ToSZKJ_2GXI/AAAAAAAAAas/ZV_ukSbniVQ/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I am sure a lot of QTP users who run their tests from quality center must have noticed that a test passes with warning , but when the test set is closed it turns into fail. &lt;br /&gt;&lt;br /&gt;Solution: The best way is to modify the registry setting or use the below code: WshShell.RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\"&amp;amp;_ "Logger\Media\TD\TreatWarningAs","TREAT_AS_PASS","REG_SZ"&lt;br /&gt;&lt;br /&gt;If the tests are failing the key (TreatWarningAs)would have "TREAT_AS_FAIL" change this to TREAT_AS_PASS and you would be relieved for sure ;)&lt;br /&gt;&lt;br /&gt;Hope this helps,&lt;br /&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3798023314698832574?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3798023314698832574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3798023314698832574&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3798023314698832574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3798023314698832574'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/09/solution-to-warning-in-quality-center.html' title='Solution to warning in Quality Center shows FAIL'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-a84QKPtPzVk/ToSZKJ_2GXI/AAAAAAAAAas/ZV_ukSbniVQ/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1112428972767032105</id><published>2011-08-17T14:43:00.001+05:30</published><updated>2011-08-17T17:39:54.239+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Website's underlying technology for automation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-abjaz8hhJh0/TkuGFH0v7RI/AAAAAAAAAak/77gsV7L3RmQ/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" naa="true" src="http://3.bp.blogspot.com/-abjaz8hhJh0/TkuGFH0v7RI/AAAAAAAAAak/77gsV7L3RmQ/s320/testing.jpg" width="235" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_tiz4vn="136" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_tiz4vn="136" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d; mso-themecolor: text2;"&gt;&lt;span closure_uid_tiz4vn="135" style="font-family: Calibri;"&gt;Like most testers, you probably automate a certain number of websites.. Ever wonder how those websites work? What technologies does that website or blog use? What is the underlying software that the website runs on?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_tiz4vn="136" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d; mso-themecolor: text2;"&gt;&lt;span closure_uid_tiz4vn="166" style="font-family: Calibri;"&gt;These are all good questions before starting automation on a website and not always easily determined by just viewing a website. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_tiz4vn="167" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_tiz4vn="168" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d; mso-themecolor: text2;"&gt;&lt;a href="http://www.sitonomy.com/"&gt;&lt;span style="color: purple; font-family: Calibri;"&gt;Sitonomy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt; is a cool web service that you can use to get information about a website, such as what technology is used to run the website, what advertising the site uses, the programming language for the website, what kind of server it is running on, and lots more.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div closure_uid_tiz4vn="121"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1112428972767032105?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1112428972767032105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1112428972767032105'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/08/websites-underlying-technology-for.html' title='Website&apos;s underlying technology for automation'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-abjaz8hhJh0/TkuGFH0v7RI/AAAAAAAAAak/77gsV7L3RmQ/s72-c/testing.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1206312897190579139</id><published>2011-07-27T13:34:00.000+05:30</published><updated>2011-07-27T13:34:19.512+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Solution to "this test is locked by another quality center user"</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--ZluP4VcYRE/Ti_GZDLtjyI/AAAAAAAAAaY/G8y8yP4T_Iw/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/--ZluP4VcYRE/Ti_GZDLtjyI/AAAAAAAAAaY/G8y8yP4T_Iw/s200/testing.jpg" t$="true" width="144" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="151" style="font-family: Calibri;"&gt;There are a lot of instances while working with Quality center that you might have noticed this message "this test is locked by another quality center user”&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span style="font-family: Calibri;"&gt;Sometimes you may have imposed a self lock on it.. &lt;/span&gt;&lt;/span&gt;&lt;span closure_uid_bt1r4t="129" style="color: #1f497d; font-family: Wingdings;"&gt;J&lt;/span&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="130" style="font-family: Calibri;"&gt; This happens mostly when the user kills the QTP process when the script is still open(from QC). &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="198" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="131" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span style="font-family: Calibri;"&gt;If you have forgotten the machine where you have imposed a self lock then don’t worry as here is the soln to get rid of the same:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="133" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="132" style="font-family: Calibri;"&gt;Copy the following code and run it from the machine were qc is instantiated.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="133" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="133" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="132" style="font-family: Calibri;"&gt;&lt;span style="color: blue;"&gt;On Error Resume Next&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span closure_uid_bt1r4t="145" style="color: blue;"&gt;desc = "Please provide the network id for the user, and please make sure" &amp;amp;_&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "this user is logged out prior to removing locks"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;UName = InputBox(desc,"Provide network id")&amp;nbsp;&amp;nbsp; &lt;br /&gt;If(UName &amp;lt;&amp;gt; "") Then&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; Set cmd = TDConnection.Command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; cmd.CommandText = "DELETE FROM Locks WHERE LK_USER = '" &amp;amp; UName &amp;amp; "'"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; cmd.Execute&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; MsgBox "All locks for user id: " &amp;amp; UName &amp;amp; " were removed", _&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vbNotify+vbOKOnly,"Compelted"&amp;nbsp;&amp;nbsp; &lt;br /&gt;Else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;MsgBox "No locks were changed", vbNotify+vbOKOnly, "No Info"&amp;nbsp; &lt;br /&gt;End If&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;On Error Goto 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="133" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span style="font-family: Calibri;"&gt;Provide your userid when prompted and wallah , the magic is done &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #1f497d; font-family: Wingdings;"&gt;J&lt;/span&gt;&lt;span style="color: #1f497d;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="154" style="margin: 0in 0in 12pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="152" style="font-family: Calibri;"&gt;You can now go ahead and edit your scripts.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" closure_uid_bt1r4t="154" style="margin: 0in 0in 12pt;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;span closure_uid_bt1r4t="152" style="font-family: Calibri;"&gt;Happy Testing!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1206312897190579139?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1206312897190579139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1206312897190579139&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1206312897190579139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1206312897190579139'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/07/solution-to-this-test-is-locked-by.html' title='Solution to &quot;this test is locked by another quality center user&quot;'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/--ZluP4VcYRE/Ti_GZDLtjyI/AAAAAAAAAaY/G8y8yP4T_Iw/s72-c/testing.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2927268661657862126</id><published>2011-07-14T18:01:00.004+05:30</published><updated>2011-07-14T18:23:14.658+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Maximize browser using QTP and IE8 / IE7 / Firefox</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o4m8gx-vU_8/Th7hdOhZ2yI/AAAAAAAAAaM/0QyCZBzpPJo/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" m$="true" src="http://1.bp.blogspot.com/-o4m8gx-vU_8/Th7hdOhZ2yI/AAAAAAAAAaM/0QyCZBzpPJo/s200/testing.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Problem : Maximize a tabbed browser (ie7/ie8/firefox)&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Solution1:&amp;nbsp; &lt;span style="color: blue;"&gt;hwnd=Browser("name:=myBrowser").getROProperty("hwnd")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Window("hwnd:="&amp;amp;hwnd").Maximize&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: black;"&gt;Disadvantage:&amp;nbsp; Does not work with tabbed browsers consistently &lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: black;"&gt;Solution2:&lt;/span&gt; &lt;span style="color: blue;"&gt;hwnd=Browser("name:=myBrowser").Object.HWND&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set objWindow=Window("hwnd:="&amp;amp;hwnd2)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objWindow.Maximize&lt;br /&gt;&lt;span style="color: black;"&gt;Disadvantage:&amp;nbsp; Does not work with tabbed browsers&amp;nbsp;when there are multiple browsers open&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;Solution3:&lt;/span&gt; SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe",URL,"C:\","open","3"&lt;/span&gt; &lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: black;"&gt;The "3" at the end Activates and Maximizes the window.&lt;br /&gt;Disadvantage:&amp;nbsp; Does not work when the browser is already open&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: black;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;Solution4:&lt;/span&gt; Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Alt Space X - shortcut to maximize ie browser.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="color: black;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WshShell.SendKeys "% x"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: black;"&gt;Hope this helps as always :)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Happy Testing!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2927268661657862126?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2927268661657862126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2927268661657862126&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2927268661657862126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2927268661657862126'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/07/maximize-browser-using-qtp-and-ie8-ie7.html' title='Maximize browser using QTP and IE8 / IE7 / Firefox'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-o4m8gx-vU_8/Th7hdOhZ2yI/AAAAAAAAAaM/0QyCZBzpPJo/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1874760799803018799</id><published>2011-06-29T16:53:00.000+05:30</published><updated>2011-06-29T16:53:23.570+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Why do we need to launch the application under test (AUT) after QTP is launched?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-x6JDC-5SsPw/TgsJNU-QayI/AAAAAAAAAZ4/gRGAobfh5Yk/s1600/testing.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-x6JDC-5SsPw/TgsJNU-QayI/AAAAAAAAAZ4/gRGAobfh5Yk/s200/testing.gif" width="176" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Have you ever wondered why do we need to&amp;nbsp;launch the application under test (AUT) after QTP is launched?&lt;br /&gt;When I started learning QTP I asked the same question to the trainer and he said he would get back on it, after some research i found the answer to my question , sharing here what i learnt ( few years back ) and found ( recently ) :&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;QTP interacts with test applications using windows hooks.&lt;/li&gt;&lt;/ul&gt;A hook is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain types of messages before they reach the target window procedure.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Therefore these hooks help QTP&amp;nbsp;during&amp;nbsp;recording and identifying objects&lt;/li&gt;&lt;li&gt;Hooks can only be installed using&amp;nbsp;DLLs&lt;/li&gt;&lt;li&gt;These Hooks can be injected only during runtime when QTP is brought up.&lt;/li&gt;&lt;/ul&gt;An interesting example from Tarun &lt;a href="http://knowledgeinbox.com/forums/hp-quicktest-pro/qtp-and-ie/?wap2"&gt;here&lt;/a&gt;&amp;nbsp;:&lt;br /&gt;&lt;br /&gt;"Hooks are basically interceptors in system". This example will clear it&lt;br /&gt;&lt;br /&gt;User Clicks -&amp;gt; Windows OS determine which Application should get it -&amp;gt; Sends the click to the application.&lt;br /&gt;&lt;br /&gt;Now hooks allow to intercept the message and take action accordingly&lt;br /&gt;&lt;br /&gt;User Clicks -&amp;gt; Windows OS determine which Application should get it -&amp;gt; Installed Hook (Hook can decide to send the message or cancel it or record it or take some action based on event)-&amp;gt;Sends the click to the application.&lt;br /&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1874760799803018799?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1874760799803018799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1874760799803018799&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1874760799803018799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1874760799803018799'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/why-do-we-need-to-launch-application.html' title='Why do we need to launch the application under test (AUT) after QTP is launched?'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-x6JDC-5SsPw/TgsJNU-QayI/AAAAAAAAAZ4/gRGAobfh5Yk/s72-c/testing.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4977388363827379470</id><published>2011-06-15T19:06:00.000+05:30</published><updated>2011-06-15T19:06:22.942+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Ten best Open Source Bug Tracking Systems and thier Comparison</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s200/testing.jpg" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;In continuation to the prev post on "&lt;a href="http://go-gaga-over-testing.blogspot.com/2011/06/ten-best-tools-for-test-automation.html"&gt;Ten Best Tools for Test Automation&lt;/a&gt;" read another interesting link (&lt;a href="http://www.toolsjournal.com/articles/item/184-top-10-open-source-bug-tracking-systems"&gt;&lt;span style="color: #5a6b80;"&gt;toolsjournal&lt;/span&gt;&lt;/a&gt;)&amp;nbsp;on what are the ten best &lt;span style="color: #1f497d; font-family: &amp;quot;Trebuchet MS&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-fareast;"&gt;&lt;/span&gt;open source bug tracking systems, so here is the list in no particular order:&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.bugzilla.org/"&gt;Bugzilla&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mantisbt.org/"&gt;Mantis BT&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.redmine.org/"&gt;Redmine&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://otrs.org/"&gt;OTRS [Open-source Ticket Request System]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://bestpractical.com/rt/"&gt;Request Tracker&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forge.mysql.com/wiki/Eventum/"&gt;Eventum&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thebuggenie.com/"&gt;BugGenie&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://webissues.mimec.org/"&gt;WebIssues&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki"&gt;Fossil&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Click on the links to get more info on any of the tools. &lt;span style="font-size: 19px;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;Happy Testing!&lt;br /&gt;&lt;br /&gt;And if you want a comparison on the tools features here is an excellent &lt;a href="http://www.toolsjournal.com/item/187-comparision-of-opensource-bug-tracking-tools"&gt;link&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4977388363827379470?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4977388363827379470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4977388363827379470&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4977388363827379470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4977388363827379470'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/ten-best-open-source-bug-tracking.html' title='Ten best Open Source Bug Tracking Systems and thier Comparison'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2663505131437549724</id><published>2011-06-14T13:59:00.000+05:30</published><updated>2011-06-14T13:59:49.919+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Last friday's date using VbScript</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0dtHeANquxQ/Tfcb3w5_exI/AAAAAAAAAZY/a-3ZN2KES7o/s1600/testing.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-0dtHeANquxQ/Tfcb3w5_exI/AAAAAAAAAZY/a-3ZN2KES7o/s200/testing.gif" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Some vbscript to get the previous week's date, modify the code and you can do a lot of fun things with the same:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;'Gets the last friday's date &lt;br /&gt;&amp;nbsp;strCurrentSysDate = Date&lt;br /&gt;&amp;nbsp;strModDate = dateadd("ww",-1,strCurrentSysDate)&lt;br /&gt;&amp;nbsp;numWeekDay = 6- weekday(strModDate)&lt;br /&gt;&amp;nbsp;strModifiedDate = dateadd("d",numWeekDay,strModDate)&lt;br /&gt;&amp;nbsp;strmonth =left(monthname(month(strModifiedDate)),3)&lt;br /&gt;&amp;nbsp;If len(cstr(day(strModifiedDate))) &amp;lt; 2 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;strDate = "0"&amp;amp;day(strModifiedDate)&lt;br /&gt;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;strDate = day(strModifiedDate)&lt;br /&gt;&amp;nbsp;End If&lt;br /&gt;&amp;nbsp;strYear = year(strModifiedDate)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;strPrevDate =&amp;nbsp; strmonth&amp;amp; "/" &amp;amp; strDate &amp;amp; "/" &amp;amp; strYear&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Msgbox strPrevDate &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2663505131437549724?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2663505131437549724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2663505131437549724&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2663505131437549724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2663505131437549724'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/last-fridays-date-using-vbscript.html' title='Last friday&apos;s date using VbScript'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-0dtHeANquxQ/Tfcb3w5_exI/AAAAAAAAAZY/a-3ZN2KES7o/s72-c/testing.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4638911464000691995</id><published>2011-06-13T18:22:00.002+05:30</published><updated>2011-06-13T19:00:09.028+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Ten Best Tools for Test Automation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s200/testing.jpg" t8="true" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Read an interesting link (&lt;a href="http://www.toolsjournal.com/articles/item/195-10-best-tools-for-test-automation"&gt;toolsjournal&lt;/a&gt;)&amp;nbsp;on what are the ten best tools for automation , though i wouldnt say that these are the ten best tools , rather they are ten known/popular tools in no particular order:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/HP_QuickTest_Professional"&gt;QTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Watir"&gt;Watir&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Tosca_(Software)"&gt;TOSCA Testsuite&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Selenium_(software)"&gt;Selenium&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Visual_Studio_Test_Professional"&gt;VISUAL STUDIO TEST PROFESSIONAL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/WebUI_Test_Studio"&gt;WebUI TEST STUDIO&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/IBM_Rational_Functional_Tester"&gt;RATIONAL FUNCTIONAL TESTER&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/TestComplete"&gt;TESTCOMPLETE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/TestPartner"&gt;TESTPARTNER&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Soatest"&gt;SOA TEST&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Click on the links to get more info on any of the tools. &lt;span style="font-size: 19px;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4638911464000691995?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4638911464000691995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4638911464000691995&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4638911464000691995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4638911464000691995'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/ten-best-tools-for-test-automation.html' title='Ten Best Tools for Test Automation'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ei5s5ApBa_o/TfYGrCJHcnI/AAAAAAAAAZU/vF_1Jfq8GlI/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4282508525507305572</id><published>2011-06-02T18:18:00.003+05:30</published><updated>2011-06-02T19:07:42.282+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Allow other HP products to interact option in QTP and Launch QC explorer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BwkLfqBdrbU/TeeGl8pVhII/AAAAAAAAAZQ/z5zewV1YKds/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-BwkLfqBdrbU/TeeGl8pVhII/AAAAAAAAAZQ/z5zewV1YKds/s200/testing.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;Here is the code to set "Allow other HP products" option to true before starting automation.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: blue;"&gt;Set objWshShell = CreateObject("WScript.Shell")&lt;/div&gt;&lt;span style="color: blue;"&gt;Set objApp = createObject("QuickTest.Application")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;objWshShell.RegRead("HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If Err &amp;lt;&amp;gt; 0 Then &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Sleep 1000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objApp.Launch&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objApp.Visible = False&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objApp.Options.Run.RunMode = "Fast"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objApp.Quit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objWshShell.RegWrite "HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\AllowTDConnect","1","REG_DWORD"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;'------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;' Launches QC Explorer &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;'------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Set objFSO = CreateObject("Scripting.FileSystemObject") &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;If objFSO.FileExists ("C:\Program Files\Common Files\HP\QCExplorer\QCExplorer.exe") Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objWshShell.run "cmd /K CD C:\Program Files\Common Files\HP\QCExplorer\ &amp;amp; QCExplorer.exe http://&lt;/span&gt;&lt;span style="color: blue;"&gt;qc.com&lt;/span&gt;&lt;span style="color: blue;"&gt;/qcbin/start_a.htm"&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;ElseIf objFSO.FileExists ("C:\Program Files (x86)\Common Files\HP\QCExplorer\QCExplorer.exe") Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; objWshShell.run "cmd /K CD C:\Program Files (x86)\Common Files\HP\QCExplorer\ &amp;amp; QCExplorer.exe http://qc.com/qcbin/start_a.htm" &lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Msgbox "QC Explorer not launched as .exe file not found"&lt;br /&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;br /&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4282508525507305572?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4282508525507305572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4282508525507305572&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4282508525507305572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4282508525507305572'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/allow-other-hp-products-to-interact.html' title='Allow other HP products to interact option in QTP and Launch QC explorer'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BwkLfqBdrbU/TeeGl8pVhII/AAAAAAAAAZQ/z5zewV1YKds/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6449319913777107825</id><published>2011-06-02T17:09:00.003+05:30</published><updated>2011-06-02T17:41:27.109+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Test Automation Tools Comparison Matrix - Knol</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Today came across an interesting comparison on test automation tools on "&lt;a href="http://knol.google.com/k/test-automation-tools-comparison-matrix#"&gt;knol&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;P.S: Click on the link to get the comparison .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6449319913777107825?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6449319913777107825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6449319913777107825&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6449319913777107825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6449319913777107825'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/06/today-came-across-interesting.html' title='Test Automation Tools Comparison Matrix - Knol'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3938521245531471372</id><published>2011-05-25T12:42:00.000+05:30</published><updated>2011-05-25T12:42:35.149+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>QTP  - Wait for web page to load completely</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RsM34NsQ_Tw/TdyrvQL7WgI/AAAAAAAAAZM/zHwflJf462g/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-RsM34NsQ_Tw/TdyrvQL7WgI/AAAAAAAAAZM/zHwflJf462g/s320/testing.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;There are instances when there isn't any unique property or object to check on the landing page during a browser navigation, in such cases we can use either of the below options to code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;set objReadyState =  Browser("").Page("").Object&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;While objReadyState.readyState = "Completed"&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Wend&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Set Object=nothing&lt;/span&gt;&lt;br style="color: blue;" /&gt; &lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Set Object=Browser("").object&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;While Object.Busy=True&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Wend&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Set Object=nothing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3938521245531471372?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3938521245531471372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3938521245531471372&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3938521245531471372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3938521245531471372'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/05/qtp-wait-for-web-page-to-load.html' title='QTP  - Wait for web page to load completely'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-RsM34NsQ_Tw/TdyrvQL7WgI/AAAAAAAAAZM/zHwflJf462g/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8173633880751392466</id><published>2011-05-24T15:26:00.000+05:30</published><updated>2011-05-24T15:26:20.800+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Code to get tagnames and values from an xml</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-2bpxcdT5mDM/TduAhjWzhmI/AAAAAAAAAZI/cHU9Mzg3Wc0/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-2bpxcdT5mDM/TduAhjWzhmI/AAAAAAAAAZI/cHU9Mzg3Wc0/s200/testing.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In continuation from the previous &lt;a href="http://go-gaga-over-testing.blogspot.com/2010/12/code-to-get-attribute-values-from-xml.html"&gt;post &lt;/a&gt;where we try and get the attribute values from an xml, here is the code where we get the tag names and its values :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: blue;"&gt;Const xmlFile1= "C:\Test.xml"&lt;/div&gt;&lt;span style="color: blue;"&gt;Set xmlDoc1 = CreateObject("Msxml2.DOMDocument")&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;xmlDoc1.load(xmlFile1)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;set nodes1 = xmlDoc1.selectNodes("//*") &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;for i = 0 to nodes1.length -1&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; tagname1 = nodes1(i).nodeName&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; val1 = nodes1(i).text&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp; tagname1= "test" Then&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox tagname1&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox val1&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Exit for&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps , happy testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8173633880751392466?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8173633880751392466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8173633880751392466&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8173633880751392466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8173633880751392466'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/05/code-to-get-tagnames-and-values-from.html' title='Code to get tagnames and values from an xml'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-2bpxcdT5mDM/TduAhjWzhmI/AAAAAAAAAZI/cHU9Mzg3Wc0/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6591463977340797149</id><published>2011-05-19T15:15:00.000+05:30</published><updated>2011-05-19T15:15:57.923+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skillset'/><title type='text'>Golden Rules for Career Success - Richard Moran</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-69iOKnW7MuA/TdTmv7egL1I/AAAAAAAAAZE/QpiCkm4tmXE/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-69iOKnW7MuA/TdTmv7egL1I/AAAAAAAAAZE/QpiCkm4tmXE/s200/testing.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Loved this article and thought its apt for the skillset label on my blog , so here it is for the benefit of others:&lt;br /&gt;&lt;br /&gt;WORKING as a business consultant all over the world, I have discovered some basic career-related rules that everyone should know but many don’t.&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt; Business is made up of ambiguous victories and nebulous defeats. Claim them all as victories. &lt;/li&gt;&lt;li&gt;Keep track of what you do; someone is sure to ask.&lt;/li&gt;&lt;li&gt;Be comfortable around senior managers, or learn to fake it.&lt;/li&gt;&lt;li&gt;Never bring your boss a problem without some solution.&lt;/li&gt;&lt;li&gt;You are getting paid to think, not to whine.&lt;/li&gt;&lt;li&gt;Long hours don’t mean anything; results count, not effort.&lt;/li&gt;&lt;li&gt;Write down ideas; they get lost, like good pens.&lt;/li&gt;&lt;li&gt;Always arrive at work 30 minutes before your boss.&lt;/li&gt;&lt;li&gt;Help other people network for jobs. You never know when your turn will come.&lt;/li&gt;&lt;li&gt;Don’t take days off sick unless you are.&lt;/li&gt;&lt;li&gt;Assume no one can / will keep a secret.&lt;/li&gt;&lt;li&gt;Know when you do your best morning, night, under pressure, relaxed; schedule and prioritize your work accordingly.&lt;/li&gt;&lt;li&gt;Treat everyone who works in the organization with respect and dignity, whether it be the cleaner or the managing director. Don’t ever be patronizing.&lt;/li&gt;&lt;li&gt;Never appear stressed in front of a client, a customer or your boss. Take a deep breath and ask yourself: In the course of human events, how important is this?&lt;/li&gt;&lt;li&gt;If you get the entrepreneurial urge, visit someone who has his own business. It may cure you.&lt;/li&gt;&lt;li&gt;Acknowledging someone else’s contribution will repay you doubly.&lt;/li&gt;&lt;li&gt;Career planning is an oxymoron. The most exciting opportunities tend to be unplanned.&lt;/li&gt;&lt;li&gt;Always choose to do what you’ll remember ten years from now.&lt;/li&gt;&lt;li&gt;The size of your office is not as important as the size of your pay cheque.&lt;/li&gt;&lt;li&gt;Understand what finished work looks like and deliver your work only when it is finished.&lt;/li&gt;&lt;li&gt;The person who spends all of his or her time is not hard-working; he or she is boring.&lt;/li&gt;&lt;li&gt;Know how to write business letters including thank-you notes as well as proposals.&lt;/li&gt;&lt;li&gt;Never confuse a memo with reality. Most memos from the top are political fantasy.&lt;/li&gt;&lt;li&gt;Eliminate guilt. Don’t fiddle expenses, taxes or benefits, and don’t cheat colleagues.&lt;/li&gt;&lt;li&gt;Reorganizations mean that someone will lose his or her job. Get on the committee that will make the recommendations.&lt;/li&gt;&lt;li&gt; Job security does not exist.&lt;/li&gt;&lt;li&gt;Always have an answer to the question, What would I do if I lost my job tomorrow&lt;/li&gt;&lt;li&gt;Go to the company Christmas party. Don’t get drunk at the company Christmas party.&lt;/li&gt;&lt;li&gt;Avoid working at weekends. Work longer during the week if you have to.&lt;/li&gt;&lt;li&gt;The most successful people in business are interesting.&lt;/li&gt;&lt;li&gt;Sometimes you’ll be on a winning streak and everything will click; take maximum advantage. When the opposite is true, hold steady and wait it out.&lt;/li&gt;&lt;li&gt;Never in your life say, Its not my job&lt;/li&gt;&lt;li&gt;Be loyal to your career, your interests and yourself.&lt;/li&gt;&lt;li&gt;Understand the skills and abilities that set you apart. Use them whenever you have an opportunity.&lt;/li&gt;&lt;li&gt;People remember the end of the project. As they say in boxing, always finish stronger than you start.&lt;/li&gt;&lt;/ul&gt;Hope you enjoyed reading it!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6591463977340797149?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6591463977340797149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6591463977340797149&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6591463977340797149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6591463977340797149'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/05/golden-rules-for-career-success-richard.html' title='Golden Rules for Career Success - Richard Moran'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-69iOKnW7MuA/TdTmv7egL1I/AAAAAAAAAZE/QpiCkm4tmXE/s72-c/testing.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-655541882076668418</id><published>2011-05-11T18:29:00.002+05:30</published><updated>2011-05-11T18:30:29.588+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skillset'/><title type='text'>Skillset - Test Automation Developer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-eeD3RWo-VsE/TNw9Vx2mo_I/AAAAAAAAAUQ/7E7FJRkifd4/s1600/skillset-logo-01a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/-eeD3RWo-VsE/TNw9Vx2mo_I/AAAAAAAAAUQ/7E7FJRkifd4/s200/skillset-logo-01a.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In continuation of my previous posts that are tagged "&lt;a href="http://go-gaga-over-testing.blogspot.com/search/label/Skillset"&gt;Skillset&lt;/a&gt;" , Here is what a company is looking for when they want a &lt;b&gt;"Test Automation Developer"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Overview:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Test Automation Developer will build and execute test  automation scripts using QTP, Selenium, Macro or Mobile automation test tools  for functional system integration and business acceptance testing under multiple  platforms and cross-browsers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Responsibilities:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;• Write automation  test plans &amp;amp; strategies, convert &amp;amp; or write test scripts, perform test  execution, provide result documentation &amp;amp; metrics reporting.&lt;br /&gt;• Build  automation framework in QTP&lt;br /&gt;• Collaborate with Quality Assurance Analyst –  subject matter expert to gather requirements for automation development and  provide guidance to execution of scripts&lt;br /&gt;• Provide technical knowledge on  multiple projects simultaneously.&lt;br /&gt;• Solid written and verbal communication  skills&lt;br /&gt;• Proven automation development experience&lt;br /&gt;• Proficient in testing  functionality of a Web and Mobile based applications.&lt;br /&gt;• Must be resourceful,  proactive, self-starter, able to work alone &amp;amp; as a team player in a dynamic  environment.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;• Software QA experience: 3 – 6 years&lt;br /&gt;•  Quick Test Pro (QTP) experience: 3 – 6 years&lt;br /&gt;• Quality Center experience: 3 –  4 years&lt;br /&gt;• Working knowledge of quality assurance methodologies and Software  Development Life Cycle&lt;br /&gt;• Experience building the automation frameworks in  QTP&lt;br /&gt;• Solid SQL skills&lt;br /&gt;• Database and Back-End as well as end-to-end  testing experience.&lt;br /&gt;• HP QTP 10 with Web Add-on&lt;br /&gt;• HP QualityCenter 10&lt;br /&gt;•  Selenium IDE&lt;br /&gt;• VBScripting&lt;br /&gt;• Descriptive Programming (Scripts from  Scratch)&lt;br /&gt;• SQL Server or Oracle database&lt;br /&gt;• SQL Query&lt;br /&gt;• VBS Macro&lt;br /&gt;•  MS Office.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-655541882076668418?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/655541882076668418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=655541882076668418&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/655541882076668418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/655541882076668418'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/05/skillset-test-automation-developer.html' title='Skillset - Test Automation Developer'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-eeD3RWo-VsE/TNw9Vx2mo_I/AAAAAAAAAUQ/7E7FJRkifd4/s72-c/skillset-logo-01a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5400873295971982035</id><published>2011-04-29T16:50:00.001+05:30</published><updated>2011-04-29T16:51:28.853+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Code to copy a test set from one folder to another in Quality Center</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tvzAiUKUDLY/TbqeqZJyk_I/AAAAAAAAAZA/unP8fqA3eo8/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/-tvzAiUKUDLY/TbqeqZJyk_I/AAAAAAAAAZA/unP8fqA3eo8/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I am sharing this info as I had to do quite a research before i found the solution.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Problem&lt;/b&gt;:&amp;nbsp; Copy a test set from one folder to another in Quality Center test lab using code.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;First things first&lt;/b&gt;: This cannot be coded in vbscript or QTP as it uses the ISupportCopyPaste interface and the &lt;span class="Text"&gt;CopyToClipboard method which is part of this interface. Therefore you cannot declare a statement like Dim iscp &lt;b&gt;As &lt;/b&gt;ISupportCopyPaste&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Text"&gt;A simpler way would be to use vba and do the following:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Text"&gt;1. Add the following code in excel vba editor.&lt;/span&gt;&lt;br /&gt;&lt;span class="Text"&gt;2. Add the "&lt;b&gt;OTA COM Type Library&lt;/b&gt;" as a reference under tools -&amp;gt; references from excel.&lt;/span&gt;&lt;br /&gt;&lt;span class="Text"&gt;3. Run and enjoy the magic :-)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Text"&gt;&lt;b&gt;Solution&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Text"&gt;&lt;span style="color: blue;"&gt;Public Function CopyPasteTestSetFolder(sourceFolderPath, destFolderPath)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strServer = "http://xyz/qcbin"&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strDomain = ""&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strProject = ""&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strUser = ""&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPassword = ""&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objTDConnection = CreateObject("tdapiole80.TDCONNECTION")&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTDConnection.InitConnection strServer, strDomain&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTDConnection.ConnectProject strProject, strUser, strPassword&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objTreeManager = objTDConnection.TestSetTreeManager&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set sourceFolder = objTreeManager.NodeByPath(sourceFolderPath)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set destFolder = objTreeManager.NodeByPath(destFolderPath)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iscp As ISupportCopyPaste&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set iscp = sourceFolder&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clipboard = iscp.CopyToClipBoard(sourceFolder.NodeID, 0, sourceFolderPath)&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set iscp = destFolder&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iscp.PasteFromClipBoard clipboard, destFolder.NodeID, 0, -1&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set treeMng = Nothing&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set sourceFolder = Nothing&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set destFolder = Nothing&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set iscp = Nothing&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;End Function&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Happy Testing!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5400873295971982035?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5400873295971982035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5400873295971982035&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5400873295971982035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5400873295971982035'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/code-to-copy-test-set-from-one-folder.html' title='Code to copy a test set from one folder to another in Quality Center'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-tvzAiUKUDLY/TbqeqZJyk_I/AAAAAAAAAZA/unP8fqA3eo8/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2221765817215976238</id><published>2011-04-28T16:53:00.000+05:30</published><updated>2011-04-28T16:53:31.536+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><title type='text'>QTP 11.0 - Patches till April 2011</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rZcJxz896rA/TblOIgzVRFI/AAAAAAAAAY8/yoP1axChFK0/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-rZcJxz896rA/TblOIgzVRFI/AAAAAAAAAY8/yoP1axChFK0/s320/testing.jpg" width="161" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here are a set of patches that might help wrt&amp;nbsp; QTP 11.0:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;QTP_00699 &lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;QTP 11 support for 64-Bit applications. &lt;/li&gt;&lt;li&gt; The 64-Bit technologies that are currently supported: &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt; - .Net &lt;br /&gt;- Java &lt;br /&gt;- WPF &lt;br /&gt;- Standard &lt;br /&gt;&lt;br /&gt;&lt;a href="http://h20230.www2.hp.com/selfsolve/document/FID/DOCUMENTUM_QTP_00699"&gt;http://h20230.www2.hp.com/selfsolve/document/FID/DOCUMENTUM_QTP_00699&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;QTP_00709 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Recovery scenarios did not work in BPT wrapper tests. &lt;/li&gt;&lt;li&gt;Run-time errors were displayed if you ran a business component that contained a QCUtil.CurrentTest.Name step. &lt;/li&gt;&lt;li&gt;Function libraries that were created from an &lt;/li&gt;&lt;li&gt;QuickTest crashed or an OS blue screen appeared when using a User-Defined / Non-HLLAPI emulator on Windows 7 with Office 2007/2010 installed. &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fh20230%2Ewww2%2Ehp%2Ecom%2Fselfsolve%2Fdocument%2FFID%2FDOCUMENTUM_QTP_00709&amp;amp;urlhash=wvm7&amp;amp;_t=tracking_anet"&gt;http://h20230.www2.hp.com/selfsolve/document/FID/DOCUMENTUM_QTP_00709&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;WEB_00073 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Testing applications in Internet Explorer when Internet &lt;/li&gt;&lt;li&gt;Explorer is in protected mode. &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPWEB_00073.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPWEB_00073.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;ORACLE_00010 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Support for Oracle Forms 11g.Enhanced support for OracleTable objects. &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPORACLE_00010.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPORACLE_00010.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;PB_00012 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;This patch adds support for testing PowerBuilder 12 applications &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPPB_00012.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.00"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPPB_00012.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.00&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;SAP_00012 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;This patch adds support for testing SAP CRM 7 (a.k.a. ICWC 7, Interaction Center Web Client 7) &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPSAP_00012.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPSAP_00012.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;QTPNET_00051 &lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;This patch installs an updated version of the .NET Add-in, providing testing support for Silverlight 2, 3 and 4.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPNET_00051.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPNET_00051.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;WEB_00063 &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;This patch provides official support for testing Web applications in Firefox 3.6 &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPWEB_00063.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0"&gt;http://support.openview.hp.com/downloadAPatch.jsp?patchName=QTPWEB_00063.EXE&amp;amp;prodName=qtp&amp;amp;prodRelease=11.0&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;QTPNET_00062 &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This hotfix fixes the following problems: &lt;br /&gt;&lt;br /&gt;1. QuickTest Professional sometimes caused .Net 4 WPF applications with multiple AppDomains to crash. &lt;br /&gt;&lt;br /&gt;2. QuickTest Professional sometimes caused an error message to be displayed by the application when &lt;br /&gt;&lt;br /&gt;spying on a specific WPF combo box. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;QTPNET_00066 &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. This hotfix enables a custom server to instruct QuickTest Professional&amp;nbsp; to assign a logical name to a test object by implementing a 'logical_name' property defined in its CustomPropInterface. &lt;br /&gt;&lt;br /&gt;2. This hotfix enables a custom server to define run methods that include optional parameters by tagging the parameters with the [Optional] attribute. To do this, the argument element's IsMandatory attribute needs to be set to 'false' in the test object configuration file. &lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;3. Prior to this hotfix, QuickTest would sometimes ignore the return value of a custom server's IsKnownPartOf method when applied to a combo box child. &lt;br /&gt;&lt;br /&gt;4. Prior to this hotfix, QuickTest would sometimes load into the application all the assemblies in the folder containing the custom server dll. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2221765817215976238?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2221765817215976238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2221765817215976238&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2221765817215976238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2221765817215976238'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/qtp-110-patches-till-april-2011.html' title='QTP 11.0 - Patches till April 2011'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-rZcJxz896rA/TblOIgzVRFI/AAAAAAAAAY8/yoP1axChFK0/s72-c/testing.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7483827408630090757</id><published>2011-04-25T14:47:00.000+05:30</published><updated>2011-04-25T14:47:31.346+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><title type='text'>VBScript Code beautifier / Formatter</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9rYX5FDhoeE/TbU8EgmrHLI/AAAAAAAAAY4/AweMWMSLWOo/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-9rYX5FDhoeE/TbU8EgmrHLI/AAAAAAAAAY4/AweMWMSLWOo/s320/testing.jpg" width="260" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For a long time was looking for some tool that would quickly format the vbscript files that I had. Here is an amazing tool that will help you do the same:&lt;br /&gt;&lt;br /&gt;Both the source code and the exe are available for download from here:&lt;a href="http://www.daansystems.com/vbsbeaut/"&gt;VBSBeautifier - Daan Systems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;· Comes with a nice GUI. &lt;br /&gt;· Works on serverside and clientside VBScript. &lt;br /&gt;· Can be used as a text filter in editors. &lt;br /&gt;· Skips HTML. &lt;br /&gt;· Properizes keywords. &lt;br /&gt;· Splits Dim statements. &lt;br /&gt;· Places spaces around operators. &lt;br /&gt;· Indents blocks. &lt;br /&gt;· Lines out assignment statements. &lt;br /&gt;· Removes redundant endlines. &lt;br /&gt;· Makes backups. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7483827408630090757?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7483827408630090757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7483827408630090757&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7483827408630090757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7483827408630090757'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/vbscript-code-beautifier-formatter.html' title='VBScript Code beautifier / Formatter'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9rYX5FDhoeE/TbU8EgmrHLI/AAAAAAAAAY4/AweMWMSLWOo/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-194376681426743155</id><published>2011-04-21T17:19:00.000+05:30</published><updated>2011-04-21T17:19:22.558+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><title type='text'>Selenuium and Cucumber</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o-F3nhGyo2Y/TbAZp7dqLhI/AAAAAAAAAY0/_VWT6IwVH1Y/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-o-F3nhGyo2Y/TbAZp7dqLhI/AAAAAAAAAY0/_VWT6IwVH1Y/s1600/testing.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Since both Selenium and Cucumber are my fav tools , Found an interesting deck on slideshare titled : "Using Selenium and Cucumber to test a Healthcare Information System"&lt;br /&gt;&lt;br /&gt;This was presented at the Selenium Conference April 2011 - San Fransisco by Andy Tinkham.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://www.slideshare.net/andytinkham/using-selenium-and-cucumber-to-test-a-healthcare-information-system"&gt;link &lt;/a&gt;to download the same.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-194376681426743155?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/194376681426743155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=194376681426743155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/194376681426743155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/194376681426743155'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/selenuium-and-cucumber.html' title='Selenuium and Cucumber'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-o-F3nhGyo2Y/TbAZp7dqLhI/AAAAAAAAAY0/_VWT6IwVH1Y/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-439905803626335794</id><published>2011-04-20T15:40:00.000+05:30</published><updated>2011-04-20T15:40:52.314+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>FizzBuzz</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LH-j1okqFVc/Ta6xE6-VMgI/AAAAAAAAAYw/3CnZOIPJmms/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-LH-j1okqFVc/Ta6xE6-VMgI/AAAAAAAAAYw/3CnZOIPJmms/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;Try solving this very simple program which is asked in many interviews, especially to testers who use a lot of scripting in automation:&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and For the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”&lt;/li&gt;&lt;/ul&gt;This is also a game played in the pubs , where players generally sit in a circle. The player designated to go first says the number "1", and each player thenceforth counts one number in turn. However, any number divisible by three is replaced by the word fizz and any divisible by five by the word buzz. Numbers divisible by both become fizz buzz. A player who hesitates or makes a mistake is either eliminated or must pay a forfeit, such as taking a drink.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Most tester's who know to code are not able to solve this simple problem. Out of every ten automation engineers i have interviewed 9 weren't able to solve this simple problem.&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------------------------------------------------&lt;br /&gt;Lets look at the simple algo:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;For n = 1 To 100&lt;br /&gt; Select Case 0&lt;br /&gt;   Case n Mod 15&lt;br /&gt;      f = "FizzBuzz"&lt;br /&gt;   Case n Mod 3&lt;br /&gt;      f = "Fizz"&lt;br /&gt;   Case n Mod 5&lt;br /&gt;      f = "Buzz"&lt;br /&gt;   Case Else&lt;br /&gt;      f = n&lt;br /&gt; End Select&lt;br /&gt; Print f&lt;/pre&gt;&lt;pre&gt;Next n&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-439905803626335794?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/439905803626335794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=439905803626335794&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/439905803626335794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/439905803626335794'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/fizzbuzz.html' title='FizzBuzz'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-LH-j1okqFVc/Ta6xE6-VMgI/AAAAAAAAAYw/3CnZOIPJmms/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1358110650902916363</id><published>2011-04-19T16:30:00.002+05:30</published><updated>2011-04-20T16:57:19.818+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Browse  from VBScript</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aip-hnA8HcY/Ta0y7-iDbQI/AAAAAAAAAYs/urofkrWfnaQ/s1600/untitled.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-aip-hnA8HcY/Ta0y7-iDbQI/AAAAAAAAAYs/urofkrWfnaQ/s1600/untitled.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;Something very simple yet complicated is trying to get a browse dialog using vbs.&lt;br /&gt;So here is a snippet that will help in adding a Browse dialog like in the pic , instead of a message box asking for the absolute/relative path of the folder: &lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Const EDITBOX = &amp;amp;H10&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Const DIALOGSTYLE = &amp;amp;H40&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Set objShell = CreateObject("Shell.Application")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Set objFolder= &lt;/span&gt;&lt;span style="color: blue;"&gt;objShell&lt;/span&gt;&lt;span style="color: blue;"&gt;.BrowseForFolder(0, "My Computer:",&lt;/span&gt;&lt;span style="color: blue;"&gt;EDITBOX Or DIALOGSTYLE)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Browse = &lt;/span&gt;&lt;span style="color: blue;"&gt;objFolder&lt;/span&gt;&lt;span style="color: blue;"&gt;.Items.Item.path&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;If Err.Number &amp;gt; 0 Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox("You have not selected a folder." &amp;amp; vbCrlf &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;amp; "This script will not continue!")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err.Clear&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.echo &lt;/span&gt;&lt;span style="color: blue;"&gt;Browse &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1358110650902916363?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1358110650902916363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1358110650902916363&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1358110650902916363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1358110650902916363'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/browse-from-vbscript.html' title='Browse  from VBScript'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-aip-hnA8HcY/Ta0y7-iDbQI/AAAAAAAAAYs/urofkrWfnaQ/s72-c/untitled.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2324772416435808733</id><published>2011-04-07T18:47:00.000+05:30</published><updated>2011-04-07T18:47:51.274+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Quick Overview on Agile Scrum</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-y5o8APhlxZA/TZ2u6fg9AnI/AAAAAAAAAYE/VYswZ7je0IY/s1600/Picture1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://1.bp.blogspot.com/-y5o8APhlxZA/TZ2u6fg9AnI/AAAAAAAAAYE/VYswZ7je0IY/s400/Picture1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;  &lt;br /&gt;&lt;div style="line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Before we do more Scrum, we should know what is Agile:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;b&gt; What is Agility?&lt;/b&gt;&lt;/div&gt;&lt;div style="line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;“&lt;u&gt;Values&lt;/u&gt;, principles and practices that foster &lt;u&gt;team communication&lt;/u&gt; and &lt;u&gt;feedback &lt;/u&gt;to regularly deliver customer value through &lt;u&gt;working software&lt;/u&gt;.”&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Team communications - Concentrate more on communication and collaboration rather than process and tools&amp;nbsp;&lt;/li&gt;&lt;li&gt;Feedback - lots and lots of daily feedback with all stake holders involved -&amp;nbsp;&lt;/li&gt;&lt;li&gt;Regularly Deliver - Software releases every quarter with internal releases weekly or bi-weekly&lt;/li&gt;&lt;li&gt;Value - Focus on highest valued features first&lt;/li&gt;&lt;li&gt;Working Software - Focus on getting S/W working early and keeping it releasable rather than big-bang waterfall approach&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Agile Values&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Emphasize face-to-face communication over written documents. &lt;/li&gt;&lt;li&gt;Agile teams are located in a single open office sometimes referred to as a bullpen. &lt;/li&gt;&lt;li&gt;Highlight working software as the primary measure of progress.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Produce very little written documentation relative to other methods&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;b&gt;What are the Agile methods ?&lt;/b&gt;&lt;span style="color: black; font-family: Arial; font-size: 32pt; font-weight: bold;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ARdr3Rr36Eg/TZ2vfmodbxI/AAAAAAAAAYI/8vbB6dfsI2E/s1600/Picture2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://3.bp.blogspot.com/-ARdr3Rr36Eg/TZ2vfmodbxI/AAAAAAAAAYI/8vbB6dfsI2E/s400/Picture2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;SCRUM&lt;/li&gt;&lt;li&gt;Adaptive Software Development - replaces the traditional waterfall cycle with a repeating series of speculate, collaborate, and learn cycles.&lt;/li&gt;&lt;li&gt;Crystal - contains the following properties frequent Delivery of Usable Code to Users , reflective Improvement.&lt;/li&gt;&lt;li&gt;Dynamic System Development Method (DSDM) - Its goal is to deliver software systems on time and on budget while adjusting for changing requirements along the development process.&lt;/li&gt;&lt;li&gt;Extreme Programming - it advocates frequent "releases" in short development cycles (timeboxing), which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.&lt;/li&gt;&lt;li&gt;Feature Driven Development (FDD) –At start of project: Develop an Overall Model, Build a Features List, Plan by FeatureWithin each iteration: Design by Feature, Build by Feature&lt;/li&gt;&lt;/ul&gt;&lt;b&gt; Scrum - Introduction &lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-D8wVepY77uc/TZ2v9v4wJhI/AAAAAAAAAYM/i9nOfZDWYY0/s1600/Picture3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://2.bp.blogspot.com/-D8wVepY77uc/TZ2v9v4wJhI/AAAAAAAAAYM/i9nOfZDWYY0/s200/Picture3.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Scrum (an abbreviated form of scrummage), in the sports of rugby, is a way of restarting the game, when the ball has gone out of play.&lt;/li&gt;&lt;li&gt;Scrum is an iterative incremental framework for managing projects.&lt;/li&gt;&lt;li&gt;Focuses on managing systems with changing requirements&lt;/li&gt;&lt;li&gt;The goal is to deliver as much quality software as possible within a series of short intervals.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;b&gt;Scrum - Process&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Bn9EEiqOEJY/TZ2xFkD5LlI/AAAAAAAAAYU/1j2F3YTUldw/s1600/Picture5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="http://3.bp.blogspot.com/-Bn9EEiqOEJY/TZ2xFkD5LlI/AAAAAAAAAYU/1j2F3YTUldw/s400/Picture5.jpg" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;b&gt;Sprint&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Scrum projects make progress in a series of “Sprints”&lt;/li&gt;&lt;li&gt;Timeframes are called Time-boxes (typically 2 – 4 weeks)&lt;/li&gt;&lt;li&gt;Every Sprint team does the following: Analysis -&amp;gt; Design -&amp;gt; Code -&amp;gt;Test&lt;/li&gt;&lt;li&gt;At the end of each Sprint, the Team must produce a potentially shippable product increment.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Scrum Framework&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Roles : Product Owner, Scrum Master, Team&lt;/li&gt;&lt;li&gt;Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart&lt;/li&gt;&lt;li&gt;Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, &amp;amp; Daily Scrum Meeting &amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Product Owner&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6pC_Qyoim_w/TZ2yRcKIxiI/AAAAAAAAAYY/Cz719zPliYo/s1600/Picture6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-6pC_Qyoim_w/TZ2yRcKIxiI/AAAAAAAAAYY/Cz719zPliYo/s400/Picture6.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt; Represents (or is) the user or customer for the project.&lt;/li&gt;&lt;li&gt;Defines goals for the overall project&lt;/li&gt;&lt;li&gt;Knowing what to build and in what sequence&lt;/li&gt;&lt;li&gt;Defines and Prioritizes Features&lt;/li&gt;&lt;li&gt;Set length of calendar time for Sprint&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Typically 2-4 weeks&lt;/li&gt;&lt;li&gt;Does not interfere with Sprint (no scope creep)&lt;/li&gt;&lt;li&gt;Release dates. Accepts or rejects work.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&amp;nbsp;&lt;b&gt;Scrum Master&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Supports the Team&lt;/li&gt;&lt;li&gt;Facilitates the Daily Scrum meeting. Asks each developer:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;What did you do yesterday?&lt;/li&gt;&lt;li&gt;What are you doing today?&lt;/li&gt;&lt;li&gt;What is in your way?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Listens and watches carefully during Scrum meeting&lt;/li&gt;&lt;li&gt;Secures resources if needed&lt;/li&gt;&lt;li&gt;Communicates to Product Owner  &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Scrum Team&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Typically 5-10 people&lt;/li&gt;&lt;li&gt;Cross-functional - QA, Programmers, UI Designers, etc.&lt;/li&gt;&lt;li&gt;Members should be full-time/dedicated&lt;/li&gt;&lt;li&gt;Teams are self-organizing&lt;/li&gt;&lt;li&gt;Members can change only between sprints&amp;nbsp;  &lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;div style="direction: ltr; line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;b&gt;Scrum’s three Artifacts&lt;/b&gt;&lt;/div&gt;&lt;div style="direction: ltr; line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;b&gt;Product Backlog &lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/div&gt;&lt;div style="direction: ltr; line-height: 90%; margin-bottom: 0pt; margin-left: 0in; margin-top: 21.6pt; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Requirements&lt;/li&gt;&lt;li&gt;A dynamic list of all that is desired to work on the project&lt;/li&gt;&lt;li&gt;Prioritized by the Product Owner based on business value&lt;/li&gt;&lt;li&gt;Reprioritized at the start of each Sprint&lt;/li&gt;&lt;li&gt;Each feature has an associated estimate, provided by the ACTUAL team who will do the work&lt;/li&gt;&lt;li&gt;High priority features are split into “stories” achievable within an iteration.&lt;/li&gt;&lt;li&gt;Each “story” is prioritized and scoped.&lt;/li&gt;&lt;li&gt;Prioritized based on business value (Very High, High, etc.) by the Product Owner.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Sprint Backlog &lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aMg8CTsILUs/TZ20H__4yUI/AAAAAAAAAYc/YXe7nQrARV0/s1600/Picture7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="157" src="http://3.bp.blogspot.com/-aMg8CTsILUs/TZ20H__4yUI/AAAAAAAAAYc/YXe7nQrARV0/s400/Picture7.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;A subset of Product Backlog Items, which define the work for a Sprint&amp;nbsp;&lt;/li&gt;&lt;li&gt;Usually has more details including planned hours and primary person responsible to do the work during the Sprint&amp;nbsp;&lt;/li&gt;&lt;li&gt;Is created ONLY by Team members&amp;nbsp;&lt;/li&gt;&lt;li&gt;Should be updated every day&amp;nbsp;&lt;/li&gt;&lt;li&gt;If a task requires more than 16 hours, it should be broken down&amp;nbsp;&lt;/li&gt;&lt;li&gt;Team can add or subtract items from the list. Product Owner is not allowed to do it&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&lt;div style="text-align: left;"&gt;&lt;b&gt;Sprint Burndown Chart&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Provides visibility into the Sprint&amp;nbsp;&lt;/li&gt;&lt;li&gt;Demonstrates progress by the team&amp;nbsp;&lt;/li&gt;&lt;li&gt;Work on the Horizontal, Time on the Vertical&amp;nbsp;&lt;/li&gt;&lt;li&gt;Depicts the total Sprint Backlog hours remaining per day.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Ideally should burn down to zero to the end of the Sprint&amp;nbsp;&lt;/li&gt;&lt;li&gt;It is never a straight line.&amp;nbsp;  &lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Scrum’s three ceremonies:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Sprint Planning Meeting&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eEuW8ObUQUU/TZ21PK8jVsI/AAAAAAAAAYg/Vi1WYULadio/s1600/Picture8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-eEuW8ObUQUU/TZ21PK8jVsI/AAAAAAAAAYg/Vi1WYULadio/s320/Picture8.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Product Owner reviews: Vision, Roadmap, Release Plan&amp;nbsp;&lt;/li&gt;&lt;li&gt;Team reviews: Estimates for each item on Backlog that is a candidate for the Sprint&lt;/li&gt;&lt;li&gt;Team pulls the work: From the Product Backlog onto the Sprint Backlog&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Daily Scrum Meeting&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;Short (15 - 30 min) frequent meetings, facilitated by the Scrum Master &lt;/li&gt;&lt;li&gt;All team members attend &lt;/li&gt;&lt;li&gt;One activity – Scrum Master asks each attendee 3 questions&amp;nbsp;  &lt;/li&gt;&lt;li&gt;Both Chickens and pigs are invited&amp;nbsp;&lt;/li&gt;&lt;li&gt;Only pigs can talk&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Sprint Review Meeting&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Team presents what it accomplished during the sprint&amp;nbsp;&lt;/li&gt;&lt;li&gt;Typically takes the form of a demo of new features or underlying architecture&amp;nbsp;&lt;/li&gt;&lt;li&gt;Informal&amp;nbsp; 2-hour prep time rule&amp;nbsp;&lt;/li&gt;&lt;li&gt;Starts with: Product Demo Led by Product Owner&amp;nbsp;&lt;/li&gt;&lt;li&gt;Ends with: Sprint Retrospective Led by Scrum Master &lt;br /&gt;•What worked? &lt;br /&gt;•What didn’t? &lt;br /&gt;•What adjustments can we make now?&lt;/li&gt;&lt;/ul&gt;&lt;b&gt; What is a User Story?&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GyscN4iTRg8/TZ24WmRRDwI/AAAAAAAAAYo/c5nUDL2essU/s1600/Picture10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://4.bp.blogspot.com/-GyscN4iTRg8/TZ24WmRRDwI/AAAAAAAAAYo/c5nUDL2essU/s400/Picture10.jpg" width="400" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/-qFgNO80KEjg/TZ24MVrA0bI/AAAAAAAAAYk/Mr7a3eZ3etM/s1600/Picture9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="249" src="http://2.bp.blogspot.com/-qFgNO80KEjg/TZ24MVrA0bI/AAAAAAAAAYk/Mr7a3eZ3etM/s320/Picture9.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Short descriptions of features that need to be coded and tested &lt;/li&gt;&lt;li&gt;Simple requirements &lt;/li&gt;&lt;li&gt;Generally written on 3X5 index cards&amp;nbsp;&lt;/li&gt;&lt;li&gt;Form: As [a type of user] I want to [perform a specific action] such that [result] &lt;/li&gt;&lt;li&gt;Example: “As a web user, I want to &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Make safe searches, such that I may &lt;/li&gt;&lt;li&gt;have filtered search results” &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Stories that are big are called EPICS&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;  &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2324772416435808733?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2324772416435808733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2324772416435808733&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2324772416435808733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2324772416435808733'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/04/quick-overview-on-agile-scrum.html' title='Quick Overview on Agile Scrum'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-y5o8APhlxZA/TZ2u6fg9AnI/AAAAAAAAAYE/VYswZ7je0IY/s72-c/Picture1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4744251931958348349</id><published>2011-03-24T16:01:00.000+05:30</published><updated>2011-03-24T16:01:17.748+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Click on .net toolbar using bounds property</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-DENFxi3nHBs/TYsdHxKP_1I/AAAAAAAAAYA/Z---cHJr5lU/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="https://lh6.googleusercontent.com/-DENFxi3nHBs/TYsdHxKP_1I/AAAAAAAAAYA/Z---cHJr5lU/s400/testing.jpg" width="336" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In continuation to the previous post &lt;a href="http://go-gaga-over-testing.blogspot.com/2011/02/automation-of-net-toolbarsmanager.html"&gt;Automation  of the .NET ToolbarsManager&lt;/a&gt; , here is the code that will click on any toolbars button using the bounds property :&lt;br /&gt;&lt;br /&gt;Note that:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;The toolbar is recognized as an swfobject here&lt;/li&gt;&lt;li&gt;We are accessing the CommandLinks collection to access individual buttons in the toolbar&lt;/li&gt;&lt;li&gt;Using an array to get the bounds and then clicking on the respective button.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Set Mnubar = SwfWindow("").SwfObject("").Object.CommandLinks&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;For i = 0 To Mnubar.Count -1&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mnuname=Mnubar.Item(i).Text&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox Mnuname&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oBounds = Mnubar.Item(i).Bounds&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrBounds = Split(oBounds, ",")&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrBound = Split(arrBounds(0), "=")&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iX = CInt(arrBound(1))&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arrBound = Split(arrBounds(1), "=")&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iY = CInt(arrBound(1))&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SwfWindow("").Activate&lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SwfWindow("").SwfObject("").Click iX,iY&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: blue;" /&gt;&lt;span style="color: blue;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We can make this code more generic by passing the name of the button or the tooltip of the button which has to be clicked.&lt;br /&gt;&lt;br /&gt;Hope this helps... Happy Automating! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4744251931958348349?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4744251931958348349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4744251931958348349&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4744251931958348349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4744251931958348349'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/click-on-net-toolbar-using-bounds.html' title='Click on .net toolbar using bounds property'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-DENFxi3nHBs/TYsdHxKP_1I/AAAAAAAAAYA/Z---cHJr5lU/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-9080631658240597011</id><published>2011-03-23T23:23:00.001+05:30</published><updated>2011-03-23T23:24:17.253+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Create Reports Using TestNG - Testing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-CrK66BgQ91Q/TYoy8gPdD9I/AAAAAAAAAX8/sdtmzM5aoD8/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh6.googleusercontent.com/-CrK66BgQ91Q/TYoy8gPdD9I/AAAAAAAAAX8/sdtmzM5aoD8/s200/testing.jpg" width="195" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Creating Report.....It is easy with TestNG...it will create default reports....in HTML format.&lt;br /&gt;&lt;br /&gt;The Default feature in TestNG is it will create reports automatically..you need not to write any code...&lt;br /&gt;&lt;br /&gt;Just run the Script with TestNG...it will automatically create a report...&lt;br /&gt;&lt;br /&gt;First Setup the TestNg&lt;br /&gt;Please go through the following link if you dont know how to set up...&lt;br /&gt;&lt;div class="postBody"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Georgia,Utopia,'Palatino Linotype',Palatino,serif; font-size: 14px; line-height: 19px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 class="post-title entry-title" style="font-family: Georgia,Utopia,'Palatino Linotype',Palatino,serif; font-size-adjust: none; font-size: 24px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 0.75em 0px 0px; position: relative;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;a href="http://testerinyou.blogspot.com/2010/09/setting-up-selenium-rc-testng-using.html" style="color: #993300; text-decoration: none;"&gt;Setting up Selenium RC &amp;amp; TestNG using Eclipse&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Observe the screen shot before running the test...&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ZvDNN7XVJ38/TVVsGmTvt8I/AAAAAAAAACQ/81zuXKcuPyA/s1600/before.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-ZvDNN7XVJ38/TVVsGmTvt8I/AAAAAAAAACQ/81zuXKcuPyA/s320/before.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Before Running the Test&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the script --Run as --&amp;gt;TestNG --see the below screen shot...Report is generated.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Screen Shot after running the Test&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e18KfWlm7C4/TVVsI43VPDI/AAAAAAAAACU/-kAJgZU7TG0/s1600/2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="179" src="http://3.bp.blogspot.com/-e18KfWlm7C4/TVVsI43VPDI/AAAAAAAAACU/-kAJgZU7TG0/s320/2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;After Running the Test&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;NOTE: You need to download the&amp;nbsp;testng-5.14.10.jar file................it should be in your referenced library..&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;Hope it will be helpful .......&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://testerinyou.blogspot.com/2011/02/create-reports-using-testng.html?showComment=1300729124527#c5076372337137540832"&gt;NagaRaju Dasam&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-9080631658240597011?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/9080631658240597011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=9080631658240597011&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/9080631658240597011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/9080631658240597011'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/create-reports-using-testng-testing.html' title='Create Reports Using TestNG - Testing'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-CrK66BgQ91Q/TYoy8gPdD9I/AAAAAAAAAX8/sdtmzM5aoD8/s72-c/testing.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3328181769579920573</id><published>2011-03-15T18:34:00.001+05:30</published><updated>2011-03-15T18:35:55.371+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>If not QTP then what?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-W_kevagwTEk/TX9j2meMBII/AAAAAAAAAX4/uYWdJsXWvNY/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="https://lh6.googleusercontent.com/-W_kevagwTEk/TX9j2meMBII/AAAAAAAAAX4/uYWdJsXWvNY/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I have seen a lot of traction towards the blog post &lt;a href="http://go-gaga-over-testing.blogspot.com/2010/12/qtp-vs-selenium-qa-blog.html"&gt;"QTP v/s Selenium"&lt;/a&gt; . Like I have always said in my earlier posts that QTP has been one of my favorite tools and also one of the most explored tools.Tools like Quicktest are great but there are definitely some drawbacks with knowing just QTP and nothing else.&lt;br /&gt;I believe going forward just knowing tools like QTP would not help... We would need tools that :&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Can fit into a fast paced agile project&amp;nbsp;&lt;/li&gt;&lt;li&gt;Are low on cost&amp;nbsp;&lt;/li&gt;&lt;li&gt;Are low on maintainance. &lt;/li&gt;&lt;li&gt;Are not just GUI based and at-least get to a level below the presentation layer.&lt;/li&gt;&lt;li&gt;Allow choice of scripting languages&lt;/li&gt;&lt;li&gt; Allow Continuous Integration&lt;/li&gt;&lt;/ol&gt;Open-source has contributed a great deal to such kinda tools ... so here is a quick list of tools that answer if not QTP then what? in no specific order:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Selenium / Tellurium&lt;/li&gt;&lt;li&gt;Watir / WatiN&lt;/li&gt;&lt;li&gt;Sahi&amp;nbsp;&lt;/li&gt;&lt;li&gt;FitNesse&lt;/li&gt;&lt;li&gt;Canoo &lt;/li&gt;&lt;li&gt;Cucumber&lt;/li&gt;&lt;li&gt;Rspec&lt;/li&gt;&lt;li&gt;AutoIt / iMacros&lt;/li&gt;&lt;li&gt;White for .Net&lt;/li&gt;&lt;li&gt;Marathon/JWebUnit for Java&lt;/li&gt;&lt;li&gt;Frankenstein for Swing apps&lt;/li&gt;&lt;/ul&gt;There are many more tools but these are some of them that seem to be popular with the masses and have a good support.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3328181769579920573?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3328181769579920573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3328181769579920573&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3328181769579920573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3328181769579920573'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/if-not-qtp-then-what.html' title='If not QTP then what?'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-W_kevagwTEk/TX9j2meMBII/AAAAAAAAAX4/uYWdJsXWvNY/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1368524479702456755</id><published>2011-03-11T16:01:00.000+05:30</published><updated>2011-03-11T16:01:19.629+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Run Commands Cheat sheet</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-v8a0-5D3Gi0/TXn52FT-jSI/AAAAAAAAAX0/sRVuXHmmxKg/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-v8a0-5D3Gi0/TXn52FT-jSI/AAAAAAAAAX0/sRVuXHmmxKg/s200/testing.jpg" width="170" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Run command is one of the most used commands when it comes to testing windows based applications.&lt;br /&gt;Here are a set of commands that can be used as a quick reference while automating windows apps:&lt;br /&gt;&lt;br /&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="300"&gt;Application Data Folder&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%appdata%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Home Directory Drive&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%homedrive%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Home Directory&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%homepath%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shared Home Directory&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%homeshare%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Temporary Folder&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%temp%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Root Drive&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%systemdrive%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Root Directory&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%windir%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="300"&gt;Computer Management&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;compmgmt.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Device Manager&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;devmgmt.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Disk Cleanup Utility&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;cleanmgr&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Disk Defragment&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;dfrg.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Disk Management&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;diskmgmt.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Disk Partition Manager&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;diskpart&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dr. Watson System Troubleshooting&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;drwtsn32&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Driver Verifier Utility&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;verifier&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Event Viewer&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;eventvwr.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Group Policy Editor (XP Prof)&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;gpedit.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Local Security Settings&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;secpol.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Local Users and Groups&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;lusrmgr.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Performance Monitor&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;perfmon&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resultant Set of Policy&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;rsop.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Scheduled Tasks&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  schedtasks&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Services&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;services.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shared Folders&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;fsmgmt.msc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;System Configuration Editor&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;sysedit&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;System Configuration Utility&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;msconfig&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Utility Manager&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;utilman&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows System Security Tool&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;syskey&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="300"&gt;Run Calculator&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;calc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Command Prompt&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;cmd&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Firefox (if installed)&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;firefox&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Internet Explorer&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;iexplore&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Microsoft Word (if installed)&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;winword&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Microsoft Excel (if installed)&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;excel&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Microsoft Outlook (if installed)&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;outlook&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Notepad&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;notepad&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Run Wordpad&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;wordpad&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Open Control Panel&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control panel&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Open Program Files folder&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;%programfiles%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shutdown Windows&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;shutdown&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Restart Windows&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;shutdown -r&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Log Off Windows&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;logoff&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Registry Editor&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;regedit&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Task Manager&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;taskmgr&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Update Launches&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;wupdmgr&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="300"&gt;Character Map&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;charmap&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Check Disk Utility&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;chkdsk&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Clipboard Viewer&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;clipbrd&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Free Cell&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;freecell&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Hearts Card&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;mshearts&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Microsoft Chat&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;winchat&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Minesweeper&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;winmine&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;On Screen Keyboard&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;osk&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Remote Desktop&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;mstsc&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Spider Solitare&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;spider&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Telnet Client&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;telnet&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Magnifier&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;magnify&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="300"&gt;Accessibility Controls&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;access.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Add Hardware Wizard&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;hdwwiz.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Add/Remove Programs&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;appwiz.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Administrative Tools&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  admintools&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Automatic Updates&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;wuaucpl.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Date and Time&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;timedate.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Display Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;desk.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Folders Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  folders&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fonts&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control fonts&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fonts Folder&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;fonts&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Game Controllers&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;joy.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Internet Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;inetcpl.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Keyboard Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  keyboard&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mouse Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control mouse&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Network Connections&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  netconnections&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Network Setup Wizard&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;netsetup.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ODBC Data Source Administrator&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;odbccp32.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Password Properties&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;password.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Phone and Modem Options&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;telephon.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Power Configuration&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;powercfg.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Printers and Faxes&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;control  printers&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Printers Folder&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;printers&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Regional Settings&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;intl.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Scanners and Cameras&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;sticpl.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Security Center&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;wscui.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sounds and Audio&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;mmsys.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;User Account Management&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;nusrmgr.cpl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Firewall&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;firewall.cpl&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&lt;table class="innercontent"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="shortcut"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1368524479702456755?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1368524479702456755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1368524479702456755&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1368524479702456755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1368524479702456755'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/run-commands-cheat-sheet.html' title='Run Commands Cheat sheet'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-v8a0-5D3Gi0/TXn52FT-jSI/AAAAAAAAAX0/sRVuXHmmxKg/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5016128806659167022</id><published>2011-03-10T22:38:00.001+05:30</published><updated>2011-03-10T22:51:38.594+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News - Mar 10th 2011</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-DfddKo5sJNk/TXkIk9rXzDI/AAAAAAAAAXw/AwL5ox4BswE/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://lh4.googleusercontent.com/-DfddKo5sJNk/TXkIk9rXzDI/AAAAAAAAAXw/AwL5ox4BswE/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;QualiSystems Strengthens APAC Presence With New Singapore Headquarters -&amp;nbsp;&lt;a href="http://www.qualisystems.com/"&gt;QualiSystems&lt;/a&gt;, a leading provider of &lt;a href="http://www.qualisystems.com/site/content/t2.asp?Pid=391&amp;amp;Sid=83"&gt;test automation solutions&lt;/a&gt; for network systems, telecom services and electronic equipment, today announced the opening of a new APAC regional branch in Singapore.Source: &lt;a href="http://www.prnewswire.com/news-releases/qualisystems-strengthens-apac-presence-with-new-singapore-headquarters-117635613.html"&gt;News&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;SOASTA Awarded Patent for Visual User Interface of its CloudTest Platform - SOASTA, the leader in cloud-based performance testing, today announced that the United States Patent and Trademark Office has issued the company patent No. 7,844,036 entitled, "Visual Test Automation Tool for Message-Based Applications, Web Applications and SOA Systems." Source: &lt;a href="http://www.americanbankingnews.com/2011/03/08/soasta-awarded-patent-for-visual-user-interface-of-its-cloudtest-platform/"&gt;News&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt; DATE 2011 (Design Automation and Test in Europe ) Conference from 14th -18th Mar 2011 - Source:&lt;a href="http://www.date-conference.com/"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Croatian brainboxes deploy calculus-based CAPTCHA - Source: &lt;a href="http://www.theregister.co.uk/2011/03/09/calculus_based_captcha/"&gt;News&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://regmedia.co.uk/2011/03/09/calculus_problem.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="175" src="http://regmedia.co.uk/2011/03/09/calculus_problem.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="standfirst"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5016128806659167022?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5016128806659167022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5016128806659167022&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5016128806659167022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5016128806659167022'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/testing-news-mar-3rd-2011.html' title='Testing News - Mar 10th 2011'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-DfddKo5sJNk/TXkIk9rXzDI/AAAAAAAAAXw/AwL5ox4BswE/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2590266115976121743</id><published>2011-03-10T16:57:00.000+05:30</published><updated>2011-03-10T16:57:37.645+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Skillset'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Test Automation Career - QTP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-axrTDzSm6WI/TXi1inKS0YI/AAAAAAAAAXo/WiHzNVFznqA/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="https://lh5.googleusercontent.com/-axrTDzSm6WI/TXi1inKS0YI/AAAAAAAAAXo/WiHzNVFznqA/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I have had a lot of friends and testing aspirants asking me , what is it that i should know in QTP to start a career in automation . I shall have a series of posts that will give you an idea of what are the things you need to learn if you want to test a specific technology : e.g : .Net , Java, WebServices etc...&lt;br /&gt;I shall start with the simplest one and my favorite QTP:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Basics of using QTP- use the tutorial and refernce guide for this&lt;/li&gt;&lt;li&gt;Web App testing ( Use the sample HP app for this)&lt;/li&gt;&lt;li&gt;Windows App testing ( Use the sample HP app for this)&lt;/li&gt;&lt;li&gt;VB scripting (from a quicktest point of view) &lt;/li&gt;&lt;li&gt;Advanced concepts in QTP.&lt;/li&gt;&lt;li&gt;Other Advanced concepts like COM objects, Quick test object model&amp;nbsp;&lt;/li&gt;&lt;li&gt;Make your own DLL’s, work with WSC, and QTP Reserved Objects and Registry changes&lt;/li&gt;&lt;li&gt;Synchronizing&amp;nbsp; QTP with external applications.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;Hope this helps all those who wanna learn QTP and get into automation. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2590266115976121743?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2590266115976121743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2590266115976121743&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2590266115976121743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2590266115976121743'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/03/test-automation-career-qtp.html' title='Test Automation Career - QTP'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-axrTDzSm6WI/TXi1inKS0YI/AAAAAAAAAXo/WiHzNVFznqA/s72-c/testing.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7092087751587286562</id><published>2011-02-22T15:27:00.001+05:30</published><updated>2011-02-22T15:29:00.548+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>QTP and AutoIt - A deadly combination!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fB2UdITrRZA/TWOIf1t5NLI/AAAAAAAAAXk/ChCjmIJ_ioE/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-fB2UdITrRZA/TWOIf1t5NLI/AAAAAAAAAXk/ChCjmIJ_ioE/s200/testing.jpg" width="199" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;From the last post about creating COM objects , here is another solution that can help you create AutoIt objects within QTP:&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Go to &lt;a href="http://www.autoitscript.com/autoit3/downloads.shtml"&gt;http://www.autoitscript.com/autoit3/downloads.shtml&lt;/a&gt; and download the zip file.&lt;/li&gt;&lt;li&gt;Extract the file and traverse to the Install -&amp;gt; AutoItX folder.&lt;/li&gt;&lt;li&gt;Copy the AutoItX3.dll file to the following path Windows Drive:\WINDOWS\system32 folder. &lt;/li&gt;&lt;li&gt;Now register the dll by typing "regsvr32 AutoItX3.dll" in the cmd and look for the message "Registration succeeded"&lt;/li&gt;&lt;li&gt;&lt;pre&gt;Set oAutoIt = CreateObject("AutoItX3.Control") &lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;That's how easy it is to start using AutoIt from within QTP.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7092087751587286562?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7092087751587286562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7092087751587286562&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7092087751587286562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7092087751587286562'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/qtp-and-autoit-deadly-combination.html' title='QTP and AutoIt - A deadly combination!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fB2UdITrRZA/TWOIf1t5NLI/AAAAAAAAAXk/ChCjmIJ_ioE/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8887073504581834653</id><published>2011-02-16T18:39:00.000+05:30</published><updated>2011-02-16T18:39:08.719+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>CreateObject Methods</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-egENwkSNpIY/TVvMUHXOA6I/AAAAAAAAAXg/t448H_LvdvE/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-egENwkSNpIY/TVvMUHXOA6I/AAAAAAAAAXg/t448H_LvdvE/s400/testing.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e_koJwrMeP8/TVvMIwO36YI/AAAAAAAAAXc/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We often create automation objects and  assign the object returned by &lt;b&gt;CreateObject&lt;/b&gt; to an object variable. Once the object is created we access properties and methods of the new object using the object variable. There are times that we don't know what are the objects that can be accessed using the CreateObject method.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Though there is no list which can tell us all the objects that can be accessed as it depends on the COM Objects with IDispatch interface registered on your computer. To find available objects, the simplest way is to look at the HKEY_CLASSES_ROOT hive in the registry: Here is a list that might help as a quick reference:  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Syntax:&lt;/b&gt; CreateObject(Class) here a class would be  Servername.typename&lt;br /&gt;Servername would be the application providing the object and typename  would be the type or the class of the object created.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set objEmail = CreateObject( "CDO.Message" )&lt;br /&gt;Set objIE = CreateObject( "InternetExplorer.Application" )&lt;br /&gt;Set objInet = CreateObject( "InetCtls.Inet.1" )&lt;br /&gt;Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )&lt;br /&gt;Set objExcel = CreateObject( "Excel.Application" )&lt;br /&gt;Set objOutlook = CreateObject( "Outlook.Application" )&lt;br /&gt;Set objPpt = CreateObject( "PowerPoint.Application" )&lt;br /&gt;Set objWord = CreateObject( "Word.Application" )&lt;br /&gt;Set objCal = CreateObject( "MSCAL.Calendar" )&lt;br /&gt;Set objQPro = CreateObject( "QuattroPro.PerfectScript" )&lt;br /&gt;Set objWP = CreateObject( "WordPerfect.PerfectScript" )&lt;br /&gt;Set objConn = CreateObject( "ADODB.Connection" )&lt;br /&gt;Set objRecSet = CreateObject( "ADODB.Recordset" )&lt;br /&gt;Set objDic = CreateObject( "Scripting.Dictionary" )&lt;br /&gt;Set objFSO = CreateObject( "Scripting.FileSystemObject" )&lt;br /&gt;Set wshNetwork = CreateObject( "WScript.Network" )&lt;br /&gt;Set wshShell = CreateObject( "WScript.Shell" )&lt;br /&gt;Set objRandom = CreateObject( "System.Random" )&lt;br /&gt;Set objArrList = CreateObject( "System.Collections.ArrayList" )&lt;br /&gt;Set objSortList = CreateObject( "System.Collections.SortedList" )&lt;br /&gt;Set xmlDoc = CreateObject( "Microsoft.XmlDom" )&lt;br /&gt;Set xml2Doc = CreateObject( "Msxml2.DOMDocument.5.0" )&lt;br /&gt;Set objiTunes = CreateObject( "iTunes.Application" )&lt;br /&gt;Set objPlayer = CreateObject( "WMPlayer.OCX" )&lt;br /&gt;Set objWMPlayer = CreateObject( "WMPlayer.OCX.7" )&lt;br /&gt;Set objReal = CreateObject( "rmocx.RealPlayer G2 Control.1" )&lt;br /&gt;Set objFSDialog = CreateObject( "SAFRCFileDlg.FileSave" )&lt;br /&gt;Set objFODialog = CreateObject( "SAFRCFileDlg.FileOpen" )&lt;br /&gt;Set objDialog = CreateObject( "UserAccounts.CommonDialog" )&lt;br /&gt;Set SOAPClient = CreateObject( "MSSOAP.SOAPClient" )&lt;br /&gt;Set objWOL = CreateObject( "UltraWOL.ctlUltraWOL" )&lt;br /&gt;Set objSearcher = CreateObject( "Microsoft.Update.Searcher" )&lt;br /&gt;Set objShell = CreateObject( "Shell.Application" )&lt;br /&gt;Set objDeviceReplay=CreateObject("Mercury.DeviceReplay")&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8887073504581834653?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8887073504581834653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8887073504581834653&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8887073504581834653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8887073504581834653'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/createobject-methods.html' title='CreateObject Methods'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-egENwkSNpIY/TVvMUHXOA6I/AAAAAAAAAXg/t448H_LvdvE/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8031675577830176088</id><published>2011-02-14T18:27:00.002+05:30</published><updated>2011-02-14T22:53:23.740+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Automation of the .NET ToolbarsManager</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_SBzyT9YI84/TVkmpUnTiXI/AAAAAAAAAXY/_xPoKwKdCk0/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://4.bp.blogspot.com/-_SBzyT9YI84/TVkmpUnTiXI/AAAAAAAAAXY/_xPoKwKdCk0/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;If you use QTP for automating .NET apps and the app is built using infragistics, you know that it is not easy to use the .NET spy . After a lot of effort I was able to find solution to perform operations on a infragistics toolbar where the swftoobar object was getting identified as a swfobject:&lt;br /&gt;&lt;br /&gt;Here is the code how to work with .net toolbarsmanager:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #6fa8dc;"&gt;set cToolbars = SwfWindow("").SwfObject("").Object.ToolbarsManager.Toolbars&lt;br /&gt;Set oMyTool = GetToolFromToolbar(cToolbars,"", "")&lt;br /&gt;omyTool. 'Operation you want&lt;br /&gt;&lt;br /&gt;Function GetToolFromToolbar(byref cToolbars, sToolbarKey, sToolKey)&lt;br /&gt;&amp;nbsp;&amp;nbsp; Dim oToolbar ' Toolbar object&lt;br /&gt;&amp;nbsp;&amp;nbsp; Dim bToolbarFound&lt;br /&gt;&amp;nbsp;&amp;nbsp; Dim bToolFound&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; bToolbarFound = false&lt;br /&gt;&amp;nbsp;&amp;nbsp; bToolFound = false&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; For x = 0 to cToolbars.Count - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If sToolbarKey = cToolbars.GetItem(x).Key Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set oToolbar = cToolbars.GetItem(x)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bToolbarFound = true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit for&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; If bToolbarFound = true Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For x = 0 to oToolbar.Tools.Count - 1&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If sToolKey = oToolbar.Tools.GetItem(x).Key Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set GetToolFromToolbar = oToolbar.Tools.GetItem(x)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bToolFound = true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit for&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If bToolFound = false Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox"Tool Not Found"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp; End If&lt;br /&gt;End Function&lt;span style="font-family: Verdana,Arial; font-size: xx-small;"&gt;&lt;span class="post"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #6fa8dc;"&gt;&lt;br /&gt;&lt;/div&gt;And if you are lucky that the toolbar is recognized as swftoolbar then its easier:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;set obj = SwfWindow("SwfWindow").SwfToolbar("SwfToolbar").Object.Buttons&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;msgbox obj.Count&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;For i = 1 to obj.Count&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox obj.Item(i).tooltiptext // or any other operation&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6fa8dc;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8031675577830176088?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8031675577830176088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8031675577830176088&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8031675577830176088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8031675577830176088'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/automation-of-net-toolbarsmanager.html' title='Automation of the .NET ToolbarsManager'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_SBzyT9YI84/TVkmpUnTiXI/AAAAAAAAAXY/_xPoKwKdCk0/s72-c/testing.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6075755280891510563</id><published>2011-02-08T22:39:00.001+05:30</published><updated>2011-02-08T22:41:27.984+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Download QC OTA API Reference Handbook - Blogs In WATiN</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;&lt;span style="color: #333333;"&gt;If you are looking for OTA (Open Test Architecture API provided by hp QC then your search will end here.&lt;br /&gt;I will explain you easy way to download API reference details from QC.&lt;br /&gt;a. Login to your QC&lt;br /&gt;b. At Top most corner click on Help Link&lt;br /&gt;c. From the pop-up window select Documentation Library as shown in below figure.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color: #333333;"&gt;&lt;img alt="" border="0" height="215" id="BLOGGER_PHOTO_ID_5554871966310097202" src="http://4.bp.blogspot.com/_SPPOhexZeA0/TRben1SwYTI/AAAAAAAAAhc/_dlyIiVAsI8/s400/API01.jpg" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /&gt;&lt;br /&gt;d. As soon as you will select above option a window will appear.&lt;br /&gt;e. Select an option: HP QUALITY Center Open Test Architecture API reference Online&lt;br /&gt;f. Click on online link next to the mentioned text&lt;br /&gt;g. Save the references documentation at your drive.&lt;br /&gt;h. Shown in below figure.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" border="0" height="225" id="BLOGGER_PHOTO_ID_5554872340198656354" src="http://2.bp.blogspot.com/_SPPOhexZeA0/TRbe9mIvCWI/AAAAAAAAAhk/7KxIiNs52JM/s400/API%2529%2521.jpg" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /&gt;&lt;/div&gt;&lt;br /&gt;Hope this would be helpful !!&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://jawedm.blogspot.com/2010/12/download-qc-ota-api-reference-handbook.html"&gt;Md. Jawed&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6075755280891510563?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6075755280891510563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6075755280891510563&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6075755280891510563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6075755280891510563'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/download-qc-ota-api-reference-handbook.html' title='Download QC OTA API Reference Handbook - Blogs In WATiN'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_SPPOhexZeA0/TRben1SwYTI/AAAAAAAAAhc/_dlyIiVAsI8/s72-c/API01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8081721044489604881</id><published>2011-02-07T18:48:00.004+05:30</published><updated>2011-02-07T18:57:45.143+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Convert Excel to Text file</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_R9uMCbaneVg/TU_w0CeohHI/AAAAAAAAAXU/I-4lheQU18k/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_R9uMCbaneVg/TU_w0CeohHI/AAAAAAAAAXU/I-4lheQU18k/s1600/testing.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I was trying to convert an excel files worksheets to a single text file , there was lot of reusable code on the web for converting text to excel but not viceversa. So for all of you who want to do what&amp;nbsp; I did, here is the simple and easy code to convert excel to text file based on the rows and columns of the excel file:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;'Prompts for accepting user input&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #3d85c6;"&gt;strViewPath = Trim (InputBox ("Plz enter the path for the excel file",,"C:\temp\"))&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;strTest = Trim (InputBox ("Plz enter the text file name",,"sample")) &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;If Right (strViewPath, 1) &amp;lt;&amp;gt; "\" Then&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp; strViewPath = strViewPath &amp;amp; "\"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;End If&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;strTestName = strTest&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;strTextFilePath = strViewPath&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Assign the values for the excel and text file that needs to be converted&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;TestToConvert = strViewPath + strTest + ".xls"&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;TextFile =strTextFilePath&amp;nbsp; + strTestName + ".txt"&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Create the excel object &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Set oExcel = CreateObject("Excel.Application")&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;oExcel.Visible = False&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;br /&gt;'Open the excel file for conversion&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;oExcel.DisplayAlerts = False&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;oExcel.Workbooks.Open TestToConvert, True&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Call the text streamer function that will convert the file&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;TextStreamer TextFile, oExcel&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Exit the Excel file&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;oExcel.Quit&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Private Sub TextStreamer(TextFileName, objExcel)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Declare constants for reading,writing and appending to a text file &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Const ForReading = 1, ForWriting = 2, ForAppending = 3&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Dim fs, f, ts, x, y, LastRow, LastColumn, c, objSheet, shts()&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Create the file system object for text file editing&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Set fs = CreateObject("Scripting.FileSystemObject")&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;fs.CreateTextFile TextFileName&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Set f = fs.GetFile(TextFileName)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Get the number of worksheets in the source excel file&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;intNoOfSheets = objExcel.Worksheets.count&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;z = intNoOfSheets&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Traverse through every sheet that needs to be converted&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;For i = 1 to intNoOfSheets&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;'Activate the first worksheet&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objExcel.Worksheets(z).Activate&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objExcel.Worksheets(z).Select&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objSheet = objExcel.ActiveWorkbook.Worksheets(z)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSheetName = objsheet.name&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objSheet.Cells(1).Select&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastRow = objSheet.UsedRange.Rows.Count + 2&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastColumn = objSheet.UsedRange.Columns.Count&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objSheet.Cells(1).Select&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ts.write "["&amp;amp;strSheetName&amp;amp;"]"&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ts.write Chr(13) &amp;amp; Chr(10)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Loop through the rows and columns in the excel worksheet and write the data to the text file&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For x = 0 To LastRow&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; For y = 0 To LastColumn -1&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If objExcel.ActiveCell.Offset(x, y).Value &amp;lt;&amp;gt; "" then &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ts.write (objExcel.ActiveCell.Offset(x, y).Value)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 'ts.write Chr(9)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ts.write Chr(13) &amp;amp; Chr(10)&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp; z= z-1&lt;br /&gt;&lt;br /&gt;Next &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;'Close the excel file test streamer&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;ts.Close&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;msgbox "Conversion Complete!"&lt;/div&gt;&lt;div style="color: #3d85c6;"&gt;End Sub&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8081721044489604881?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8081721044489604881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8081721044489604881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8081721044489604881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8081721044489604881'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/convert-excel-to-text-file.html' title='Convert Excel to Text file'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R9uMCbaneVg/TU_w0CeohHI/AAAAAAAAAXU/I-4lheQU18k/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5695441513683658594</id><published>2011-02-04T15:14:00.001+05:30</published><updated>2011-02-04T15:15:52.441+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Presentation downloads from the Software Testing Conference (SofTec 2011)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TUvKWMbYgoI/AAAAAAAAAXQ/SDJmr57DHPk/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TUvKWMbYgoI/AAAAAAAAAXQ/SDJmr57DHPk/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;Here is a list of presentations that were used at the Software Testing Conference (SofTec 2011) held in Chennai last week, also mentioned in my earlier post on &lt;a href="http://go-gaga-over-testing.blogspot.com/2011/02/testing-news-feb-2nd-2011.html"&gt;Testing News&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;“Present problems and future solutions” - &lt;a href="http://www.slideshare.net/riarui/bug-debug-keynotepresentproblemsfuturesolutions204"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;li&gt;“Economical, Robust Web Automation using Sahi - &lt;a href="http://www.slideshare.net/riarui/narayan-raman"&gt;Link &lt;/a&gt;&lt;/li&gt;&lt;li&gt;“Notes from a problem solving tester consultant” - &lt;a href="http://www.slideshare.net/riarui/notes-from-a-problem-solving-tester-consultant"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;li&gt;“Smarter ways of doing Selenium Automation”. - &lt;a href="http://www.slideshare.net/riarui/smarter-ways-to-do-selenium-automation-work"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;li&gt;“The Emerging Trend of Cloud Computing and Software Testing” - &lt;a href="http://www.slideshare.net/riarui/the-emergence-of-cloud-computing-and-software-testing"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;li&gt;“I am the Bug Hunter" - &lt;a href="http://www.slideshare.net/riarui/i-am-the-bug-hunter"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;li&gt; “Testing at Startups" - &lt;a href="http://www.slideshare.net/riarui/testing-at-startups"&gt;Link&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Source: &lt;a href="http://www.slideshare.net/"&gt;Slideshare&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5695441513683658594?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5695441513683658594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5695441513683658594&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5695441513683658594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5695441513683658594'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/presentation-downloads-from-software.html' title='Presentation downloads from the Software Testing Conference (SofTec 2011)'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TUvKWMbYgoI/AAAAAAAAAXQ/SDJmr57DHPk/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6683698776512929940</id><published>2011-02-02T22:01:00.000+05:30</published><updated>2011-02-02T22:01:16.007+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News - Feb 2nd 2011</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TUmGql80egI/AAAAAAAAAXM/ICDn3D6vQ30/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TUmGql80egI/AAAAAAAAAXM/ICDn3D6vQ30/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Wipro launches Testing-as-a-Service portal -TaaS is a model of software testing, where a provider undertakes software testing for customers as a service on demand.Through the portal, potential customers would be able to browse, request for quotes and purchase services online Source: &lt;a href="http://www.thehindu.com/business/companies/article1146832.ece"&gt;News&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Maveric Systems, an independent software testing specialist, is expanding its presence in UK and Europe of testing services for Metro Bank Source: &lt;a href="http://www.siliconindia.com/shownews/Marveric_systems_expand_their_business_in_UK_and_Europe-nid-78200.html"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;India's leading event for Software Testing/QA on Saturday, this time in Chennai - Software Testing Conference (SofTec 2011), a leading event for the Software Test and QA Community this time around in Chennai on Jan 29th, 2011 Source: &lt;a href="http://www.siliconindia.com/shownews/Indias_leading_event_for_Software_TestingQA_on_Saturday_this_time_in_Chennai-nid-77992.html"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;AdaCore Releases New GNATemulator Tool for Efficient Embedded Software Testing - GNATemulator, an efficient and        flexible emulator solution for testing embedded software applications.        Based on the &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwiki.qemu.org%2FMain_Page&amp;amp;esheet=6591857&amp;amp;lan=en-US&amp;amp;anchor=QEMU&amp;amp;index=1&amp;amp;md5=78995826261f75c3243388b8d415e3e7" target="_blank"&gt;QEMU&lt;/a&gt;        technology, a generic and open source machine emulator and virtualizer,        the new GNATemulator tool allows software developers to compile code        directly for their target architecture and run it on their host        platform, through an approach that translates from the target object        code to native instructions on the host. Source: &lt;a href="http://www.businesswire.com/news/home/20110201005170/en/AdaCore-Releases-GNATemulator-Tool-Efficient-Embedded-Software"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6683698776512929940?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6683698776512929940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6683698776512929940&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6683698776512929940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6683698776512929940'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/testing-news-feb-2nd-2011.html' title='Testing News - Feb 2nd 2011'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TUmGql80egI/AAAAAAAAAXM/ICDn3D6vQ30/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5983418098126563101</id><published>2011-02-01T19:00:00.001+05:30</published><updated>2011-02-01T19:02:39.111+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>How to test Silverlight 4 Applications using TestComplete 8  - Darshika</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TUgLZTXBtWI/AAAAAAAAAXE/IePvzBJdyHw/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TUgLZTXBtWI/AAAAAAAAAXE/IePvzBJdyHw/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;TestComplete 8&lt;/b&gt; provides greater support to verify &lt;b&gt;&lt;i&gt;Microsoft Silverlight 4 &lt;/i&gt;&lt;/b&gt;application components by using any functional test methodology such as black-box and white-box test mechanisms. In this version of test complete engine can access Silverlight internal objects, methods, properties and fields in order to automate applications. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In order to track Silverlight components by testcomplete engine, first you require to check following “Extend Silverlight Object Tree” checkbox option by navigating to Tools -&amp;gt; Default Project Properties -&amp;gt; Projects -&amp;gt; Open Application -&amp;gt; Silverlight. Subsequent that, the test complete engine will have access to Silverlight objects and their methods, properties and fields and you can employ those elements in your automated tests. (Pls. refer the following screen cap) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_D1As8PfU3i4/TT6WzApjpII/AAAAAAAAAIM/vw35Wq3fzLw/s1600/1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" s5="true" src="http://1.bp.blogspot.com/_D1As8PfU3i4/TT6WzApjpII/AAAAAAAAAIM/vw35Wq3fzLw/s400/1.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Further, you can notice all Silverlight objects and their available methods and properties in the hierarchy of object tree model subsequent to explore browsers such as IE, Firefox.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_D1As8PfU3i4/TT6XFcMqFxI/AAAAAAAAAIQ/j23JgLCrsZo/s1600/2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" s5="true" src="http://4.bp.blogspot.com/_D1As8PfU3i4/TT6XFcMqFxI/AAAAAAAAAIQ/j23JgLCrsZo/s1600/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now TestComplete introduce a new SlObject method in order to automate applications with Silverlight components. Using this method, users allow obtaining a Silverlight component by its name, which was stated in the application’s source code.&lt;br /&gt;&lt;br /&gt;Moreover, TestComplete also offers a SlApplication scripting object that is a wrapper to a Silverlight application’s main class that sum up application defined functionality and inherit methods and properties of the System.Windows.Application class. &lt;br /&gt;&lt;br /&gt;As well as the members of this System.Windows.Application class contains the SlClasses property. This property assist you for scripting interface to namespaces and assemblies classes included in your Silverlight application package in the.xap file.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_D1As8PfU3i4/TT6XasDXSVI/AAAAAAAAAIU/qUJRhD6QKmg/s1600/3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" s5="true" src="http://2.bp.blogspot.com/_D1As8PfU3i4/TT6XasDXSVI/AAAAAAAAAIU/qUJRhD6QKmg/s1600/3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now Testcomplete provide great opportunity to access static non visual objects and their public members by using SlClasses property. In addition to functional testing, this special feature allows you to perform unit/web component performance testing by using application’s internal classes and their associates.&lt;br /&gt;&lt;br /&gt;Hope that the above mentioned features will facilitate you easily creates more powerful automated tests for your Silverlight applications. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://smartbear.com/products/qa-tools/automated-testing/sign-up/"&gt;&lt;b&gt;To download TestComplete 8 Trial&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Source:&amp;nbsp;&lt;a href="http://darshikaj.blogspot.com/2011/01/how-to-test-silverlight-4-applications.html"&gt;Success with TestComplete Test Automation&lt;/a&gt; &lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5983418098126563101?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5983418098126563101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5983418098126563101&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5983418098126563101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5983418098126563101'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/02/how-to-test-silverlight-4-applications.html' title='How to test Silverlight 4 Applications using TestComplete 8  - Darshika'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TUgLZTXBtWI/AAAAAAAAAXE/IePvzBJdyHw/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1173720476126817040</id><published>2011-01-31T08:55:00.000+05:30</published><updated>2011-01-31T08:55:42.075+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Plagiarism at its best!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TUYrmUFl2mI/AAAAAAAAAXA/l8kZGRM-Cao/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TUYrmUFl2mI/AAAAAAAAAXA/l8kZGRM-Cao/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;This is a snapshot of what I recently came across and was shocked how people could just copy others work and claim that it is theirs&amp;nbsp; (The famous QTP Unplugged - By Tarun Lalwani was copied by Mr Kandasamy  without even changing the name of the book!)&lt;br /&gt;&lt;br /&gt;Mr. Kanakarajan Kandasamy is currently on the employee of Novita Soft Solutions, Bangalore. He have around 3 years experience in manual &amp;amp; automation testing areas such as .net, java, web application, etc..., he obtained his bachelors degree in Information Technology from: Anna University, Chennai. His areas of interest are Multimedia and CRM. He can be reached @ msgs2kanak@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tarun&lt;/b&gt;:&amp;nbsp; Please welcome Mr Kandasamy in successfully copy pasting some original work from my book and claiming it as his own. Recently the below content was reported to me&lt;br /&gt;&lt;a href="http://www.lulu.com/product/hardcover/quicktest-professional-92/5552565"&gt;http://www.lulu.com/product/hardcover/quicktest-professional-92/5552565&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kandasamy:&amp;nbsp;&amp;nbsp;&lt;/b&gt;hi Mr.Tarun...&lt;br /&gt;have u read that book..i will took result data tables and resultes from your book remaing thing are my own..&lt;br /&gt;those thing are nice thats y?...for that i will say sorry to u..and i will remove those thing from my book..&lt;br /&gt;actualy im not able to reach u..tarun pls allow me to present those topics in my book..&lt;br /&gt;thnks &amp;amp; regards,&lt;br /&gt;kanakarajan&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kandasamy's reply again: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;hello,&lt;br /&gt;again im going to publish my book..&lt;br /&gt;all the contents are my own..u just mind it..&lt;br /&gt;this time if this ur create any problem i will not keep quite..&lt;br /&gt;there are lot of difference between ur thoughts and my thoughts..&lt;br /&gt;i dont give details about my book..if u have any doubt mail me..&lt;br /&gt;i saw your SQA forum..u didnt know my book details how come u say that im copy paste special..mind ur words..dont try to spoil my name..wat do u thinking about me..&lt;br /&gt;again im telling suppose if your do any thing wrong i will not keep quite..&lt;br /&gt;&lt;br /&gt;regardes,&lt;br /&gt;kanakarajan&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Read on it's hilarious :-) &lt;br /&gt;Source: &lt;a href="http://www.sqaforums.com/showflat.php?Cat=0&amp;amp;Number=596125&amp;amp;page=0&amp;amp;fpart=1&amp;amp;vc=1"&gt;SQA FORUMS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1173720476126817040?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1173720476126817040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1173720476126817040&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1173720476126817040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1173720476126817040'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/plagiarism-at-its-best.html' title='Plagiarism at its best!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TUYrmUFl2mI/AAAAAAAAAXA/l8kZGRM-Cao/s72-c/testing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5535327300063578508</id><published>2011-01-27T15:30:00.000+05:30</published><updated>2011-01-27T15:30:03.621+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>All time good software testing books!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/Smyjs9yqXvI/AAAAAAAAAMM/DSjzJ34loB4/s1600/01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_R9uMCbaneVg/Smyjs9yqXvI/AAAAAAAAAMM/DSjzJ34loB4/s200/01.jpg" width="155" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here is a list of all time favorite software testing books in no particular order:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;General Testing Books &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Marnie Hutcheson, 'Software Testing Fundamentals' Wiley, April 2003 &lt;br /&gt;Erik van Veenendaal, 'The Testing Practitioner' UTN Publishers, Sept 2002 &lt;br /&gt;Paul Gerrard and Neil Thompson, 'Risk-based e-business Testing' Artech House, 2002 &lt;br /&gt;Louise Tamres, 'Introducing Software Testing' Pearson Education, 2002 &lt;br /&gt;Cem Kaner, James Bach and Bret Pettichord, 'Lessons Learned in Software Testing' Wiley, 2002 &lt;br /&gt;Martin Pol, Ruud Teunissen and Erik Van Veenendaal, 'Software Testing: a guide to the TMap Approch' Addison Wesley, 2002 &lt;br /&gt;Rick D. Craig and Stefan P. Jaskiel, 'Systematic Software Testing' Artech House, 2002 &lt;br /&gt;Ron Patton, 'Software Testing' Sams Publishing, 2001 &lt;br /&gt;John Watkins, Testing IT: an off-the-shelf testing process' Cambridge University Press, 2001 &lt;br /&gt;William E. Perry, 'Effective Methods for Software Testing' Wiley, 2000 &lt;br /&gt;Robert V. Binder, 'Testing Object-Oriented Systems' Addison Wesley, 1999 &lt;br /&gt;William E. Perry and Randall W. Rice, 'Surviving the Top Ten Challenges of Software Testing' Dorset House, 1997 &lt;br /&gt;Ed Kit, 'Software Testing in the Real World' Addison Wesley, 1995 &lt;br /&gt;Brian Marick, 'The Craft of Software Testing' Prentice-Hall, 1995 &lt;br /&gt;Boris Beizer, 'Black Box Testing' Wiley, 1995 &lt;br /&gt;Paul Jorgensen, 'Software Testing: a craftsman's approach' CRC Press, 1995 &lt;br /&gt;Mark Roper 'Software Testing' McGraw-Hill Book Company, 1994 &lt;br /&gt;Cem Kaner, Jack Falk and Hung Quoc Nguyen, 'Testing Computer Software' Van Nostrand Reinhold, 1993 &lt;br /&gt;Boris Beizer, 'Software Testing Techniques' Wiley, 1990 &lt;br /&gt;M A Ould and C Unwin (eds) Testing in Software Development British Computer Society Monographs in Informatics series by Cambridge University, 1986 &lt;br /&gt;Bill Hetzel, 'The Complete Guide to Software Testing' Collins, 1985 &lt;br /&gt;Glenford Myers, The Art of Software Testing Wiley Interscience, 1979&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Some new books on Software testing (Emphasizing Agile and Automation) :&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;How We Test Software at  Microsoft : Alan Page, Ken Johnston, Bj Rollison&lt;br /&gt;Fit for  Developing Software: Framework for Integrated Tests by Rick Mugridge&lt;br /&gt;Everyday  Scripting with Ruby: For Teams, Testers, and You by Brian Marick&lt;br /&gt;Testing Extreme Programming by Lisa Crispin&lt;br /&gt;Continuous  Integration: Improving Software Quality and Reducing Risk by Paul M.  Duvall&lt;br /&gt;Test Driven Development: By Example by Kent Beck&lt;br /&gt;A  Practitioner's Guide to Software Test Design by Lee Copeland&lt;br /&gt;How  to break software - a practical guide to testing Whittaker&lt;br /&gt;Just Enough Software Test Automation Mosley and Posey&lt;br /&gt;Software Test Automation: Effective use of Test Execution Tools, Fewster  Graham&lt;br /&gt;Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality by Elfriede Dustin, Thom Garrett, and Bernie Gauf&lt;br /&gt;&lt;a href="http://www.amazon.com/Exploratory-Software-Testing-Tricks-Techniques/dp/0321636414/ref=sr_1_8?s=books&amp;amp;ie=UTF8&amp;amp;qid=1296121899&amp;amp;sr=1-8"&gt; &lt;/a&gt;  &lt;br /&gt;&lt;div class="data"&gt;&lt;div class="title"&gt;Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design by James A. Whittaker&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Test Management Books &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Rex Black, 'Critical Testing Processes' August 2003 &lt;br /&gt;Rex Black, 'Managing the Testing Process' Microsoft Press, 1999 &lt;br /&gt;Tim Koomen and Martin Pol, 'Test Process Improvement (TPI)' Addison Wesley, 1999 &lt;br /&gt;Martin Pol and Erik van Veenendaal, 'Structured Testing of Information Systems: an introduction to TMap' Kluwer, 1998 &lt;br /&gt;T C Royer, 'Software Testing Management' Prentice Hall, 1993 &lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Test Automation &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Hans Buwalda, Dennis Janssen and Iris Pinkster, 'Integrated Test Design and Automation' Addison Wesley, 2001 &lt;br /&gt;Mark Fewster and Dorothy Graham 'Software Test Automation' Addison Wesley, 1999 &lt;br /&gt;Elfriede Dustin, Jeff Rashaka and John Paul Automated Software Testing Addison Wesley, 1999 &lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt; Others &lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Lisa Crispin and Tip House, 'Testing Extreme Programming' Addison Wesley, 2002 &lt;br /&gt;Kent Beck, 'Test Driven Development' Addison Wesley, 2002 &lt;br /&gt;Peter Zadrozny, 'J2EE Performance Testing' Expert Press, 2002 &lt;br /&gt;Alan Cooper, 'The Inmates are Running the Asylum' SAMS, 1999 &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5535327300063578508?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5535327300063578508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5535327300063578508&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5535327300063578508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5535327300063578508'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/all-time-good-software-testing-books.html' title='All time good software testing books!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/Smyjs9yqXvI/AAAAAAAAAMM/DSjzJ34loB4/s72-c/01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2413944132242270187</id><published>2011-01-20T14:55:00.002+05:30</published><updated>2011-06-29T15:16:06.665+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>SendKeys - Cheat Sheet</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TTf_a2GbdoI/AAAAAAAAAW8/EQoOuAEE6nI/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TTf_a2GbdoI/AAAAAAAAAW8/EQoOuAEE6nI/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A quick cheatsheet for all the characters that can be sent using the sendkeys method:&lt;br /&gt;e.g:&lt;br /&gt;&lt;div style="color: blue;"&gt;set WshShell = CreateObject("WScript.Shell")&amp;nbsp;&lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;'Control+Shift+End&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;span style="color: blue;"&gt;WshShell.SendKeys "^+{END}"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black;"&gt;'Control+O&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;span style="color: blue;"&gt;WshShell.SendKeys "^o"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some common egs:&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; a and b are pressed, send the string argument : “(ab)”&lt;br /&gt;&lt;strong&gt;2. &lt;/strong&gt;To Send same letter multiple times : “{a 10}”&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; To Send ALT Tab :&amp;nbsp; wshell.sendkeys ” %{TAB}”&lt;br /&gt;4. To Send ALT and space : wshell.sendkeys “%{ }”&lt;br /&gt;&lt;strong&gt;5.&lt;/strong&gt; TO Send char : wshell.Sendkeys “(a)”&lt;br /&gt;&lt;strong&gt;6. &lt;/strong&gt;Right Click of Mouse : Wshell.SendKeys “+{F10}”&lt;br /&gt;7. Mouse Down : wshell.sendkeys “{DOWN}”&lt;br /&gt;&lt;strong&gt;8.&lt;/strong&gt; Mouse UP : wshell.sendkeys “{UP}”&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" class="dtTABLE"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;th width="39%"&gt;Key&lt;/th&gt;&lt;th width="61%"&gt;Argument&lt;/th&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;BACKSPACE&lt;/td&gt;&lt;td width="61%"&gt;{BACKSPACE}, {BS}, or {BKSP}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;BREAK&lt;/td&gt;&lt;td width="61%"&gt;{BREAK}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;CAPS LOCK&lt;/td&gt;&lt;td width="61%"&gt;{CAPSLOCK}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;DEL or DELETE&lt;/td&gt;&lt;td width="61%"&gt;{DELETE} or {DEL}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;DOWN ARROW&lt;/td&gt;&lt;td width="61%"&gt;{DOWN}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;END&lt;/td&gt;&lt;td width="61%"&gt;{END}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;ENTER&lt;/td&gt;&lt;td width="61%"&gt;{ENTER} or ~&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;ESC&lt;/td&gt;&lt;td width="61%"&gt;{ESC}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;HELP&lt;/td&gt;&lt;td width="61%"&gt;{HELP}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;HOME&lt;/td&gt;&lt;td width="61%"&gt;{HOME}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;INS or INSERT&lt;/td&gt;&lt;td width="61%"&gt;{INSERT} or {INS}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;LEFT ARROW&lt;/td&gt;&lt;td width="61%"&gt;{LEFT}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;NUM LOCK&lt;/td&gt;&lt;td width="61%"&gt;{NUMLOCK}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;PAGE DOWN&lt;/td&gt;&lt;td width="61%"&gt;{PGDN}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;PAGE UP&lt;/td&gt;&lt;td width="61%"&gt;{PGUP}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;PRINT SCREEN&lt;/td&gt;&lt;td width="61%"&gt;{PRTSC}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;RIGHT ARROW&lt;/td&gt;&lt;td width="61%"&gt;{RIGHT}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;SCROLL LOCK&lt;/td&gt;&lt;td width="61%"&gt;{SCROLLLOCK}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;TAB&lt;/td&gt;&lt;td width="61%"&gt;{TAB}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;UP ARROW&lt;/td&gt;&lt;td width="61%"&gt;{UP}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F1&lt;/td&gt;&lt;td width="61%"&gt;{F1}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F2&lt;/td&gt;&lt;td width="61%"&gt;{F2}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F3&lt;/td&gt;&lt;td width="61%"&gt;{F3}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F4&lt;/td&gt;&lt;td width="61%"&gt;{F4}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F5&lt;/td&gt;&lt;td width="61%"&gt;{F5}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F6&lt;/td&gt;&lt;td width="61%"&gt;{F6}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F7&lt;/td&gt;&lt;td width="61%"&gt;{F7}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F8&lt;/td&gt;&lt;td width="61%"&gt;{F8}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F9&lt;/td&gt;&lt;td width="61%"&gt;{F9}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F10&lt;/td&gt;&lt;td width="61%"&gt;{F10}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F11&lt;/td&gt;&lt;td width="61%"&gt;{F11}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F12&lt;/td&gt;&lt;td width="61%"&gt;{F12}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F13&lt;/td&gt;&lt;td width="61%"&gt;{F13}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F14&lt;/td&gt;&lt;td width="61%"&gt;{F14}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F15&lt;/td&gt;&lt;td width="61%"&gt;{F15}&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td width="39%"&gt;F16&lt;/td&gt;&lt;td width="61%"&gt;{F16}&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;td width="61%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellspacing="0" class="dtTABLE"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;th style="text-align: left;" width="39%"&gt;Key&lt;/th&gt;&lt;th style="text-align: left;" width="61%"&gt;Special Character&lt;/th&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td style="text-align: left;" width="39%"&gt;SHIFT&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;+&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td style="text-align: left;" width="39%"&gt;CTRL&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;^&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td style="text-align: left;" width="39%"&gt;ALT&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;%&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;td style="text-align: left;" width="61%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2413944132242270187?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2413944132242270187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2413944132242270187&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2413944132242270187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2413944132242270187'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/sendkeys-cheat-sheet.html' title='SendKeys - Cheat Sheet'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TTf_a2GbdoI/AAAAAAAAAW8/EQoOuAEE6nI/s72-c/testing.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1159879324353611448</id><published>2011-01-18T17:10:00.000+05:30</published><updated>2011-01-19T16:22:53.526+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Test Suite Batch Converter (Selenium IDE)  1.5</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TTV8CRp_NFI/AAAAAAAAAW4/xLeRhFNknb8/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TTV8CRp_NFI/AAAAAAAAAW4/xLeRhFNknb8/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For all the selenium lovers here is an amazing add-on that can convert one or more test suites (and included test cases) from the html format to any another format that is supported by the Selenium-IDE&lt;br /&gt;&lt;br /&gt;Highlights:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The resulting test suites and test cases will have the appropriate file extensions for the selected language for supported formats.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The names will also be sanitized to make them legal identifiers for most languages.&lt;/li&gt;&lt;/ul&gt;To know more and download follow this link&amp;nbsp;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/test-suite-batch-converter-sel/"&gt;Test Suite Batch Converter &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1159879324353611448?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1159879324353611448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1159879324353611448&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1159879324353611448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1159879324353611448'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/test-suite-batch-converter-selenium-ide.html' title='Test Suite Batch Converter (Selenium IDE)  1.5'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TTV8CRp_NFI/AAAAAAAAAW4/xLeRhFNknb8/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4059821896511982572</id><published>2011-01-17T22:30:00.001+05:30</published><updated>2011-01-17T22:33:03.713+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><title type='text'>Shortcuts - MMC and Internet Explorer Navigation</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TTR2MeHE-GI/AAAAAAAAAW0/Er9ohN56iMY/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TTR2MeHE-GI/AAAAAAAAAW0/Er9ohN56iMY/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Some really nice shortcuts that might help in automation.&lt;br /&gt;Adding more to the previous post on &lt;a href="http://go-gaga-over-testing.blogspot.com/2010/12/shortcuts-that-help-in-automation.html"&gt;Shortcuts that help in automation!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft Management Console (MMC) Main Window Keyboard Shortcuts&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;CTRL+O (Open a saved console)&lt;br /&gt;CTRL+N (Open a new console)&lt;br /&gt;CTRL+S (Save the open console)&lt;br /&gt;CTRL+M (Add or remove a console item)&lt;br /&gt;CTRL+W (Open a new window)&lt;br /&gt;F5 key (Update the content of all console windows)&lt;br /&gt;ALT+SPACEBAR (Display the MMC window menu)&lt;br /&gt;ALT+F4 (Close the console)&lt;br /&gt;ALT+A (Display the Action menu)&lt;br /&gt;ALT+V (Display the View menu)&lt;br /&gt;ALT+F (Display the File menu)&lt;br /&gt;ALT+O (Display the Favorites menu)&lt;br /&gt;MMC Console Window Keyboard Shortcuts&lt;br /&gt;CTRL+P (Print the current page or active pane)&lt;br /&gt;ALT+Minus sign (-) (Display the window menu for the active console window)&lt;br /&gt;SHIFT+F10 (Display the Action shortcut menu for the selected item)&lt;br /&gt;F1 key (Open the Help topic, if any, for the selected item)&lt;br /&gt;F5 key (Update the content of all console windows)&lt;br /&gt;CTRL+F10 (Maximize the active console window)&lt;br /&gt;CTRL+F5 (Restore the active console window)&lt;br /&gt;ALT+ENTER (Display the Properties dialog box, if any, for the selected item)&lt;br /&gt;F2 key (Rename the selected item)&lt;br /&gt;CTRL+F4 (Close the active console window. When a console has only one console window, this shortcut closes the console) &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft Internet Explorer Navigation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;CTRL+B (Open the Organize Favorites dialog box)&lt;br /&gt;CTRL+E (Open the Search bar)&lt;br /&gt;CTRL+F (Start the Find utility)&lt;br /&gt;CTRL+H (Open the History bar)&lt;br /&gt;CTRL+I (Open the Favorites bar)&lt;br /&gt;CTRL+L (Open the Open dialog box)&lt;br /&gt;CTRL+N (Start another instance of the browser with the same Web address)&lt;br /&gt;CTRL+O (Open the Open dialog box, the same as CTRL+L)&lt;br /&gt;CTRL+P (Open the Print dialog box)&lt;br /&gt;CTRL+R (Update the current Web page)&lt;br /&gt;CTRL+W (Close the current window)&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Franklin Gothic Medium&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; line-height: 150%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;Will add more shortcuts that might help in automation as and when possible ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4059821896511982572?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4059821896511982572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4059821896511982572&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4059821896511982572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4059821896511982572'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/some-really-nice-shortcuts-that-might.html' title='Shortcuts - MMC and Internet Explorer Navigation'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TTR2MeHE-GI/AAAAAAAAAW0/Er9ohN56iMY/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2759140523227760835</id><published>2011-01-13T16:33:00.001+05:30</published><updated>2011-01-13T16:36:08.953+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skillset'/><title type='text'>Skillset - Sr QA Engineer for Agile</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s1600/skillset-logo-01a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s200/skillset-logo-01a.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Here is what a company is looking for in a  Senior QA engineer for an Agile Project:&lt;br /&gt;&lt;br /&gt;&lt;span id="ctl00_cphMain_ucJobView_lblJobDescription"&gt; &lt;b&gt;Key Responsibilities&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Responsible for management and coordination of all testing activities on  assigned projects including definition of testing approach, &lt;b style="color: red;"&gt;test effort  estimation&lt;/b&gt;, progress and status reporting, training and education on D&amp;amp;B QA  processes and tools. Educates technology teams on their  responsibilities/accountabilities for the purpose of achieving on-time and  quality deliverables.  &lt;/li&gt;&lt;li&gt;Through definition of the project test strategy, the Senior QA Engineer will  identify the customer and &lt;b style="color: red;"&gt;business risk&lt;/b&gt;&lt;span style="color: red;"&gt;s&lt;/span&gt; associated with project development and  identify how the test approach will mitigate the identified risks. The Senior QA  Engineer will also define a &lt;b style="color: red;"&gt;test approach&lt;/b&gt; in support of various software  development methodologies including Agile.  &lt;/li&gt;&lt;li&gt;Accountability for management and tracking of project level testing risks  ensuring timely communication of impacts to Project Managers. Defines reporting  metrics and documents non-compliance to policies, process and standards and  assists in their resolution  &lt;/li&gt;&lt;li&gt;Works with QA Center of Excellence to establish internal IT service quality  control standards, policies and procedures. &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Skills and Experience Required&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Degree educated or equivalent in Computer Science or related field with  Quality Assurance certifications such as &lt;b&gt;&lt;span style="color: red;"&gt;ISEB&lt;/span&gt; or &lt;span style="color: red;"&gt;ISTQB&lt;/span&gt;&lt;/b&gt;&lt;span style="color: red;"&gt; &lt;/span&gt;is desirable  &lt;/li&gt;&lt;li&gt;Experience working in an Agile environment in particular &lt;b style="color: red;"&gt;Scrum&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;&lt;b style="color: red;"&gt;Web services testing&lt;/b&gt; experience  &lt;/li&gt;&lt;li&gt;&lt;b style="color: red;"&gt;Web UI Automation&lt;/b&gt; experience  &lt;/li&gt;&lt;li&gt;Understanding and exposure to &lt;b style="color: red;"&gt;TDD practices&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;Some exposure to Load Testing, Performance Testing, Security Testing  &lt;/li&gt;&lt;li&gt;Understanding of &lt;b style="color: red;"&gt;Continuous Integration&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;Understanding of the &lt;b style="color: red;"&gt;Agile manifesto&lt;/b&gt;  &lt;/li&gt;&lt;li&gt;At least five years experience in Software Quality Assurance.  &lt;/li&gt;&lt;li&gt;A proven track record in cross group management with demonstrated abilities  to get results using defect containment practices, test automation and  continuous improvement initiatives.  &lt;/li&gt;&lt;li&gt;Ability to negotiate with business and technology partners to leverage  synergies and raise the level of quality in D&amp;amp;B projects and products.  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b style="color: red;"&gt;SOATest&lt;/b&gt;, &lt;b style="color: red;"&gt;SoapUI&lt;/b&gt;, Other Web Services testing tools  &lt;/li&gt;&lt;li&gt;&lt;b style="color: red;"&gt;Selenium&lt;/b&gt;, &lt;b style="color: red;"&gt;QTP&lt;/b&gt;, &lt;b style="color: red;"&gt;RIATest&lt;/b&gt;, Other Web based UI automation tools  &lt;/li&gt;&lt;li&gt;&lt;b style="color: red;"&gt;Fitnesse &lt;/b&gt;- Cucumber, Other &lt;b style="color: red;"&gt;BDD test tools &lt;/b&gt; &lt;/li&gt;&lt;li style="color: red;"&gt;&lt;b&gt;Rally&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2759140523227760835?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2759140523227760835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2759140523227760835&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2759140523227760835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2759140523227760835'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/skillset-sr-qa-engineer-for-agile.html' title='Skillset - Sr QA Engineer for Agile'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s72-c/skillset-logo-01a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-6596893873254257440</id><published>2011-01-11T23:07:00.000+05:30</published><updated>2011-01-11T23:07:37.143+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Selenium wait for AJAX (the right way!!!)  -  Agile Software Testing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TSyVCEOveqI/AAAAAAAAAWw/ebTj2e2n9qE/s1600/gogaga.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TSyVCEOveqI/AAAAAAAAAWw/ebTj2e2n9qE/s320/gogaga.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;Ajax! Ajax! Ajax!!!!&lt;br /&gt;You cannot go to a website without running into some form of Ajax. It’s great and all, but if you are trying to test a website with Selenium, this becomes an issue. Selenium will wait for the page to load, but is rather clueless when it comes to Ajax.&lt;br /&gt;After spending several painful hours looking for a way to make a “wait_for_ajax” function, I found several solutions that do not work.&lt;br /&gt;&lt;strong&gt;1 – Put sleep in your test.&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Well obviously this is the simplest solution, but also the worst. We don’t know how long a request will take to load, what if the server is slow?&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;2- Use “waitForElement” command built into selenium&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;This is a better solution; we wait for a certain element, which is part of the Ajax response to appear before moving on. The problem with this solution is that we need to always know which element needs to load. This becomes a headache for us normal people with extra large web applications to support.&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;SOLUTION!&lt;/strong&gt;&lt;br /&gt;Here is the solution I stopped on. I won’t take credit for making it, but I’ll take some credit for compiling it all in one place. To be honest I have not seen it done yet, the only thing I’ve seen was for bits and pieces but not the whole problem.&lt;br /&gt;To solve this problem, what we have to do is ask the browser to tell us how many active connections to the server are present. Then we sit and wait for that number to become 0. At this point we know that all Ajax requests went through and done, and we can move on in the test. (If you have a webapp that contains non-stop Ajax request to constantly update everything, you have my sympathy.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1: Figure out which Javascript library your application uses&lt;/strong&gt;&lt;br /&gt;This is important one, which had me stomped for a long time. Different libraries (Prototype, Dojo, jQuery) use different methods to retrieve the connection info.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step2: Create the wait_for_ajax method&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;def wait_for_ajax(timeout=5000)&lt;/em&gt;&lt;br /&gt;&lt;em&gt; js_condition = “”&lt;/em&gt;&lt;br /&gt;&lt;em&gt; $selenium.wait_for_condition(js_condition, timeout)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;end&lt;/em&gt;&lt;/blockquote&gt;&lt;em&gt; &lt;/em&gt;&lt;br /&gt;Let’s break this one down.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We have a default value of 5000 milliseconds for this method, but user can up or down it as they need.&lt;/li&gt;&lt;li&gt;js_condition will be a string, which will contain a selenium call to the browser’s javascript. It will be a javascript conditional that will wait for active connections to be 0, and then return “true”&lt;/li&gt;&lt;li&gt;$selenium.wait_for_condition is the method that will sit and wait for the javascript query to return “true” before letting you move on.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Step 3: Getting the right JS query for your library.&lt;/strong&gt;&lt;br /&gt;This part was the one, which took me the longest to figure out. But I’ll give you all the answers here. Different libraries use different functions to check incoming connection, so pick the right one for you.&lt;br /&gt;jQuery: “jQuery.active”&lt;br /&gt;Prototype: “Ajax.activeRequestCount”&lt;br /&gt;Dojo: “dojo.io.XMLHTTPTransport.inFlight.length”&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 4: Put together the JS search string&lt;/strong&gt;&lt;br /&gt;“selenium.browserbot.getCurrentWindow().” + library specific string + “ == 0”&lt;br /&gt;Final string for jQuery will look like this&lt;br /&gt;&lt;em&gt;js_condition = “selenium.browserbot.getCurrentWindow().jQuery.active == 0”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 5: Put the method all together and enjoy &lt;img alt=":)" class="wp-smiley" src="http://agilesoftwaretesting.com/wp-includes/images/smilies/icon_smile.gif" /&gt; &lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;def wait_for_ajax(timeout=5000)&lt;/em&gt;&lt;br /&gt;&lt;em&gt; js_condition = “selenium.browserbot.getCurrentWindow().jQuery.active == 0”&lt;/em&gt;&lt;br /&gt;&lt;em&gt; $selenium.wait_for_condition(js_condition, timeout)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;end&lt;/em&gt;&lt;/blockquote&gt;&lt;strong&gt;UPDATE: Thanks TIM!!&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;If using Selenium IDE, here is a way to access the AJAX Libraries&lt;br /&gt;selenium.browserbot.getUserWindow()&lt;br /&gt;And to check the JQuery active records&lt;br /&gt;selenium.browserbot.getUserWindow().$.active == 0&lt;/blockquote&gt;&lt;br /&gt;Source: &lt;a href="http://agilesoftwaretesting.com/?p=111"&gt;Agile Software Testing - Dima Kovalenko &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-6596893873254257440?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/6596893873254257440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=6596893873254257440&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6596893873254257440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/6596893873254257440'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/selenium-wait-for-ajax-right-way-agile.html' title='Selenium wait for AJAX (the right way!!!)  -  Agile Software Testing'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TSyVCEOveqI/AAAAAAAAAWw/ebTj2e2n9qE/s72-c/gogaga.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1072781202086625137</id><published>2011-01-10T18:41:00.003+05:30</published><updated>2011-01-19T14:26:55.451+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>ClickOnText in QTP</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TSsFbfocgAI/AAAAAAAAAWs/7zaE0iIwzN4/s1600/testingBlog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TSsFbfocgAI/AAAAAAAAAWs/7zaE0iIwzN4/s200/testingBlog.png" width="112" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There are times when QTP forces us to use alternative methods to try and access objects which are not recognized as standard objects, and do not fall under any Class in QTP.&lt;br /&gt;&lt;br /&gt;One such method is the "GetTextLocation" used in conjunction with the "Click" method&lt;b&gt;&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;strFound =Window(“”).Dialog(“”).GetTextLocation (“OK” ,x1,y1,x2,y2)&lt;br /&gt;If strFound = True  Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Window(“”).Dialog(“”).Click  (x1+x2)/2 ,(y1+y2)/2&lt;br /&gt;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Report a Failure&lt;br /&gt;End If &lt;br /&gt;&lt;br /&gt;How about replacing the above code with just one line of code that does everything internally to get the x1,y1,x2,y2 co-ordinates and gives us options to choose left/right, single/double click.&lt;br /&gt;Here you go: &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Window(“”).Dialog(“”).Clickontext “OK”,x1,y1,x2,y2,true,micRightbtn,false&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Syntax for ClickOnText :&lt;/b&gt; &lt;br /&gt;ClickOnText(TextToFind, Left, Top, Right, Bottom, MatchWholeWordOnly,ButtonToClick,DoubleClick)&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1072781202086625137?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1072781202086625137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1072781202086625137&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1072781202086625137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1072781202086625137'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/clickontext-in-qtp.html' title='ClickOnText in QTP'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TSsFbfocgAI/AAAAAAAAAWs/7zaE0iIwzN4/s72-c/testingBlog.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2655914603654884224</id><published>2011-01-06T22:52:00.005+05:30</published><updated>2011-01-07T22:42:31.708+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Flex Objects not recognized by QTP - QTP Advanced</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/SdsEsrc3ohI/AAAAAAAAAGU/OmeSY9jbpDQ/s1600/58158128.RodinThinkingMan.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_R9uMCbaneVg/SdsEsrc3ohI/AAAAAAAAAGU/OmeSY9jbpDQ/s320/58158128.RodinThinkingMan.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This is a commonly seen issue that QTP is not recognizing a particular flex object even though you have installed the Adobe Flex Plug-in and the library files are deployed with the flex build. There could be many ways to resolve this. The object could be recognized as a win object, macromedia flash object or a basic flex object like the one shown below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_cMqmyVw1tcY/TSTfArDF2mI/AAAAAAAAMGk/y922Wh_h0gE/s1600/flexObject.JPG" imageanchor="1" linkindex="23" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_cMqmyVw1tcY/TSTfArDF2mI/AAAAAAAAMGk/y922Wh_h0gE/s400/flexObject.JPG" width="211" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I have a checklist that may help in resolving this:&lt;br /&gt;&lt;br /&gt;1. Have you installed the flex plug in correctly? My blog below should help you verify that:&lt;br /&gt;http://qtpadvanced.blogspot.com/2011/01/verify-install-of-flex-plug-in-for-qtp.html&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cMqmyVw1tcY/TSOiOp8SMjI/AAAAAAAAMGE/MTmz4raCHZI/s1600/QTP+Add-In+Manager.JPG" imageanchor="1" linkindex="24" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_cMqmyVw1tcY/TSOiOp8SMjI/AAAAAAAAMGE/MTmz4raCHZI/s400/QTP+Add-In+Manager.JPG" width="378" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cMqmyVw1tcY/TSOhjRYaD9I/AAAAAAAAMGA/8DNxV3zYqec/s1600/QTP+Add-In+Manager.JPG" imageanchor="1" linkindex="25" style="margin-left: 1em; margin-right: 1em;"&gt; &lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. Have you selected the required add ins for your application? Typically for a flex based web application requires flex, web and activex plug ins selected in the QTP's Add-in manager. Remember that QTP add-in manager loads at run time only and if you are not seeing this at start-up then it could be disabled within QTP Tools-&amp;gt; Options -&amp;gt; General.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_cMqmyVw1tcY/TSOlWLf1l5I/AAAAAAAAMGU/CzHc4HamNCM/s1600/QTPSettings1.jpg" imageanchor="1" linkindex="26" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="310" src="http://2.bp.blogspot.com/_cMqmyVw1tcY/TSOlWLf1l5I/AAAAAAAAMGU/CzHc4HamNCM/s400/QTPSettings1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;3. If the object is only partially recognized by QTP and if it is an input field that can accept keyboard inputs they try the QTP SendKey method on that object. This uses the object.Type method to send keyboard inputs. If this works then this should knock off most of the text input objects.&lt;br /&gt;&lt;br /&gt;4. The object could have been configured to work based on user action. For example a small window could open with options when user selects that object/ clicks on it. There could be two such possibilities:&lt;br /&gt;&amp;nbsp;&amp;nbsp; a&amp;gt; An input field coded by developers by combining more than one standard flex components. Example: A spark.components.TextInput can be combined with spark.components.Group, spark.components.PopUpAnchor and a spark.components.List making it kind of a search-able intelligent field that loads the list based on user input. &lt;br /&gt;&amp;nbsp;&amp;nbsp; b&amp;gt; The component is a custom component that has inherited the standard flex component. In such cases this may require "Instrumentation" of this component. This necessitates the developers to create a delegate class for this component which sends flex automation events that QTP can intercept while recording.&lt;br /&gt;This adobe site link should give you insight into the instrumenting custom components:&lt;br /&gt;http://livedocs.adobe.com/flex/3/html/functest_components2_11.html&lt;br /&gt;&lt;br /&gt;Also check to make sure that the object in question has a class definition entry in the automation xml file. This link should give you more information on the class definition entry:&lt;br /&gt;http://livedocs.adobe.com/flex/3/html/functest_components2_15.html#178953&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. There are a few cases available in the HP knowledge base which may be worth looking at but this may or may not help you resolve your problem. HP however states clearly that the plug-in is developed, maintained and supported by Adobe and that Adobe is the point of contact for any issues with respect to QTP and Flex automation.&lt;br /&gt;&lt;br /&gt;6. Check in the Adobe Bug and Issue management system which is meant for public to log in and create or search issues. Searching this database could be very useful since there are a huge number of bugs logged and resolved by Adobe.&lt;br /&gt;Here is the link: http://bugs.adobe.com/flex/&lt;br /&gt;This requires registration to create or search bugs logged with Adobe. Just register and you can look into them.&lt;br /&gt;&lt;br /&gt;To install flex plug-ins follow this &lt;a href="http://qtpadvanced.blogspot.com/2010/11/installing-flex-4-plug-in-for-qtp.html"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://qtpadvanced.blogspot.com/2011/01/flex-objects-not-recognized-by-qtp.html"&gt;QTP Advanced - Kashyap&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2655914603654884224?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2655914603654884224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2655914603654884224&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2655914603654884224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2655914603654884224'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/flex-objects-not-recognized-by-qtp-qtp.html' title='Flex Objects not recognized by QTP - QTP Advanced'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/SdsEsrc3ohI/AAAAAAAAAGU/OmeSY9jbpDQ/s72-c/58158128.RodinThinkingMan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4549205028055387581</id><published>2011-01-04T23:20:00.002+05:30</published><updated>2011-01-04T23:22:35.096+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News - Jan 4th 2011</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TSNd46k5NKI/AAAAAAAAAWo/mTOOBhAammU/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TSNd46k5NKI/AAAAAAAAAWo/mTOOBhAammU/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IN Media Begins Software Testing Phase with Learning Partner Mount Knowledge&amp;nbsp;&amp;nbsp; - It's a new e-learning software system, on it's popular Windows 7 Tablet PC with IN Media's new e-learning partner Mount Knowledge Holdings, Inc. Both companies are exploring the co-marketing opportunities in Asia with the integration of educational software on this new Tablet PC e-learning platform.Source: &lt;a href="http://www.prnewswire.com/news-releases/in-media-begins-software-testing-phase-with-learning-partner-mount-knowledge-112850064.html"&gt;&lt;b&gt;News&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Moolya Software Testing Private Limited Offering Brainual Software Testing Services Launched in India - Tired of seeing the industry get confused over Manual versus Automation for testing, this Bangalore based startup decided to use “Brainual” approach. Source: &lt;a href="http://www.prweb.com/releases/2011/01/prweb4935344.htm"&gt;&lt;b&gt;News&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Software Testing club for Germany - Talk, discuss and promote all testing things going on in Germany. Source: &lt;a href="http://www.softwaretestingclub.com/group/germany?xg_source=activity"&gt;&lt;b&gt;News&lt;/b&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="latest-entry-ttl-full" style="margin-bottom: 10px;"&gt;&lt;div class="entry-ttl"&gt;&lt;ul&gt;&lt;li&gt;Revolution IT Announces Its Acquisition of Adelaide-based Independent Test Services Pty Ltd &amp;nbsp; - Revolution IT, Australia’s leading application quality management company, has acquired Adelaide based specialist software testing firm Independent Test Services Pty Ltd. Source:&lt;a href="http://www.onlineprnews.com/news/94030-1294115158-revolution-it-announces-its-acquisition-of-adelaidebased-independent-test-services-pty-ltd.html"&gt;&lt;b&gt; News&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4549205028055387581?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4549205028055387581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4549205028055387581&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4549205028055387581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4549205028055387581'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/testing-news-jan-4th-2011.html' title='Testing News - Jan 4th 2011'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TSNd46k5NKI/AAAAAAAAAWo/mTOOBhAammU/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1252765230829162204</id><published>2011-01-03T18:17:00.006+05:30</published><updated>2011-01-03T18:28:58.089+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Simple way to estimate  automation effort required</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TSHFPBGl5QI/AAAAAAAAAWk/EJ-vI1AziHc/s1600/traffic_signal_2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TSHFPBGl5QI/AAAAAAAAAWk/EJ-vI1AziHc/s200/traffic_signal_2.gif" width="166" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Classify Test cases into:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Simple&lt;/li&gt;&lt;li&gt;Medium&lt;/li&gt;&lt;li&gt;Complex&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Simple Test cases are which have:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&amp;lt; 5 actions&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;lt; 3 Components / Functions &lt;/li&gt;&lt;li&gt;&amp;lt; 5 Verifications&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Medium Test cases &lt;/b&gt;&lt;b&gt;are which have&lt;/b&gt;&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&amp;lt; 7 actions&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;lt; 5 Components / Functions &lt;/li&gt;&lt;li&gt;&amp;lt; 10 Verifications&lt;b&gt; &lt;/b&gt;&lt;/li&gt;&lt;li&gt;&amp;lt; 15 steps&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Complex Test cases &lt;/b&gt;&lt;b&gt;are which have&lt;/b&gt;&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;&amp;gt; 7 actions&amp;nbsp;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&amp;gt; 5 Components / Functions &lt;/li&gt;&lt;li style="text-align: left;"&gt;&amp;gt; 15 Verifications&lt;/li&gt;&lt;li style="text-align: left;"&gt;&amp;gt; 20 steps&lt;br /&gt;&lt;b&gt; &amp;nbsp; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&amp;nbsp;Factors that affects test automation estimation in general:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Framework Used&lt;/li&gt;&lt;li&gt;Application Technology&lt;/li&gt;&lt;li&gt;Test Environment&lt;/li&gt;&lt;li&gt;Test Scope&lt;/li&gt;&lt;li&gt;Test Automation Skill-set&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Custom Objects not recognized by the tool&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1252765230829162204?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1252765230829162204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1252765230829162204&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1252765230829162204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1252765230829162204'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2011/01/simple-way-to-estimate-automation.html' title='Simple way to estimate  automation effort required'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TSHFPBGl5QI/AAAAAAAAAWk/EJ-vI1AziHc/s72-c/traffic_signal_2.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5641608946648407708</id><published>2010-12-29T18:58:00.001+05:30</published><updated>2010-12-30T11:51:23.527+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><title type='text'>I'm in software testing eBook - Shivakumar Mathivanan</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TRs3S0RGc4I/AAAAAAAAAWg/K7a-MZBDSFk/s1600/Testing_Blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TRs3S0RGc4I/AAAAAAAAAWg/K7a-MZBDSFk/s1600/Testing_Blog.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Daily Testing Tip and &lt;a href="http://www.softwaretestingclub.com/"&gt;Software Testing Club&lt;/a&gt; have launched an eBook recently. I’m extremely happy to see the eBook created with one simple but powerful idea which turned into a fabulous eBook for a great cause. The idea was a twitter challenge prompted by &lt;a href="http://www.dailytestingtip.com/"&gt;Daily Testing Tip&lt;/a&gt;'s &lt;a href="http://mavericktester.com/"&gt;Anne-Marie Charrett&lt;/a&gt; to complete the phrase "If I were a test case I would..." The response was overwhelming to tribute for a cause.&lt;br /&gt;&lt;br /&gt;The cause is to help Chandrashekar B.N (Chandru). Chandru is a passionate tester and we testers are contributing our sincere prayers and money to beat his Blood Cancer. Yes, Chandru is affected with Acute Lymphoblastic Leukemia. For more information please continue surfing more web links here: &lt;a href="http://helpchandru.com/"&gt;http://helpchandru.com&lt;/a&gt; | &lt;a href="http://bit.ly/9LyGyi"&gt;http://bit.ly/9LyGyi&lt;/a&gt; | &lt;a href="http://bit.ly/cW0u6k"&gt;http://bit.ly/cW0u6k&lt;/a&gt; .You're helping hands are equally better as you're praying lips. Please help Chandru. Thank you!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;a href="http://twitter.com/#%21/xploresqa"&gt;@xploresqa&lt;/a&gt;&amp;nbsp;is&amp;nbsp;&lt;/b&gt;&lt;/span&gt;Shiva Mathivanan&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;br /&gt;I was patiently going through each sections of eBook page-by-page. However, I was impatient to check whether I have made my five responses up for eBook?. I typed CTRL + F in my QWERTY keyboard to get where I wanted to reach. Yes I have made it. My twitter name &lt;a href="http://twitter.com/#%21/xploresqa"&gt;@xploresqa&lt;/a&gt;&amp;nbsp;along with my 3 responses was featured&amp;nbsp;in software testing eBook. I smiled with pleasure :) . Thank you &lt;a href="http://twitter.com/#%21/charrett"&gt;@charrett&lt;/a&gt; for this wonderful&amp;nbsp;initiative.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3/5:&lt;/b&gt;&lt;br /&gt;I am glad to see my name in popular software testing eBook. Out of my 5 responses you can find 3 of them in the eBook which you gonna download shortly. Those were:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cfkYAHAximM/TRBsKdHlqQI/AAAAAAAAAGw/tx_eYWTpe70/s1600/67.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://4.bp.blogspot.com/_cfkYAHAximM/TRBsKdHlqQI/AAAAAAAAAGw/tx_eYWTpe70/s320/67.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cfkYAHAximM/TRBsQj5QHbI/AAAAAAAAAG0/SxUdeOahvg0/s1600/47.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="47" src="http://3.bp.blogspot.com/_cfkYAHAximM/TRBsQj5QHbI/AAAAAAAAAG0/SxUdeOahvg0/s320/47.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cfkYAHAximM/TRBsYXgv95I/AAAAAAAAAG4/ATrf2wsi6dc/s1600/69.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="60" src="http://3.bp.blogspot.com/_cfkYAHAximM/TRBsYXgv95I/AAAAAAAAAG4/ATrf2wsi6dc/s320/69.JPG" width="320" /&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Download eBook for Free:&lt;/b&gt;&lt;br /&gt;It contains over 200 interesting responses and cartoons (created by &lt;a href="http://cartoontester.blogspot.com/"&gt;Cartoon Tester&lt;/a&gt;) from the testing community answering and completing the following sentence: "If I were a test case, I would...".Please do have a read. There are some really great responses there. Download it for free here - &lt;a href="http://bit.ly/dPpiXC"&gt;http://bit.ly/dPpiXC&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Enjoy reading testing &lt;a href="https://files.pbworks.com/download/97Snk90yGm/testingclub/34016487/ifiwereatestcase-dec19.pdf"&gt;eBook&lt;/a&gt;!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Source:&amp;nbsp; &lt;a href="http://shivakumar-mathivanan.blogspot.com/2010/12/im-in-software-testing-ebook.html"&gt;Shivakumar Mathivanan - blogspot&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5641608946648407708?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5641608946648407708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5641608946648407708&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5641608946648407708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5641608946648407708'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/im-in-software-testing-ebook-shivakumar.html' title='I&apos;m in software testing eBook - Shivakumar Mathivanan'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TRs3S0RGc4I/AAAAAAAAAWg/K7a-MZBDSFk/s72-c/Testing_Blog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7133046051588258582</id><published>2010-12-27T10:24:00.000+05:30</published><updated>2010-12-27T10:24:10.560+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Why do performance testers need to know business?  -  The Performance Testing Zone</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://performancetestingzone.files.wordpress.com/2010/11/test5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://performancetestingzone.files.wordpress.com/2010/11/test5.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well the question does seem easy enough at the first look. This is what the managers across the board have been crying hoarse. Testers need to know business. Or else how can they test? Agreed. But when it comes to performance testers, does this hold good?&lt;/div&gt;&lt;div style="text-align: justify;"&gt; From a performance testing standpoint, what does a normal performance testers do? In almost all cases, the only way where the critical business flows are identified is via the hits on the web server. If it is a new application, most of the time, the business will have a fair idea of which flows will be critical and those will be handed down to the performance testers.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; Now our performance tester will come in and write scripts, designs the scenario based on the requirements and executes the test. During the analysis, the following things will be looked at.&lt;/div&gt;&lt;div style="padding-left: 30px;"&gt;1. Server Health&lt;br /&gt;2. Performance issues in code&lt;br /&gt;3. SLAs&lt;/div&gt;So keeping this in mind where does the business come in? Does it really matter to the performance tester to understand the business? The only that matters to him is whether the SLA has been achieved or if there are some hidden performance bugs which may crop up apart from the server health. Everything related to do with the technology and almost nothing with business except the SLAs, if there are any. Experienced performance testers, do not even need to see the flow and they can make the script robust. On the other hand a functional tester cannot do without knowing the business, with the automation engineer falling somewhere in between these two extremes. Is this the correct way of looking at it?&lt;br /&gt;Now coming to the answer to the question in the title of the post. Every business for its survival have to create a positive impression on its customers/clients. Any customer who interacts via a business transaction takes with him/her an experience.&amp;nbsp; And this experience is what makes the customer comes back again and again building a relationship with the business. Out in a retail shop, businesses control this by having good sales force, good ambience, etc. However, online the only experience that a user can get is the look and feel of the application, ease of traversing and the speed with which the customer’s job is done. Thus performance testers directly impact the bottom-line of the business as they are responsible for this user experience. Thus it becomes imperative for performance testers to know the business, from where the revenue comes to ensure the application creates a good user experience which in turn helps the business to grow!&lt;br /&gt;PS: The other testing is also equally important. However, I just wanted to bring out the importance of a business knowledge for performance testers and their impact on business which is much more than what most performance testers tend to believe.&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://performancetestingzone.wordpress.com/2010/11/19/why-do-performance-testers-need-to-know-business-2/#comments"&gt;Dishit D&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7133046051588258582?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7133046051588258582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7133046051588258582&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7133046051588258582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7133046051588258582'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/why-do-performance-testers-need-to-know.html' title='Why do performance testers need to know business?  -  The Performance Testing Zone'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1176084477307750644</id><published>2010-12-21T22:57:00.000+05:30</published><updated>2010-12-21T22:57:26.647+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>QTP VS Selenium - QA Blog</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_R9uMCbaneVg/TRDjY7uHnHI/AAAAAAAAAWY/8hHfDJ0xGwQ/s1600/Testing_Blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/_R9uMCbaneVg/TRDjY7uHnHI/AAAAAAAAAWY/8hHfDJ0xGwQ/s400/Testing_Blog.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;My company was using QTP to do the test automation for the past 3-4 years. But we are now moving to cucumber and selenium Webdriver. This blog is about why we are moving away from QTP in my company. &lt;br /&gt;&lt;br /&gt;One of the main reason that we move from QTP is that it is a reactive approach of writing test automation. The product is finished and the tester starts writing the automation test. Only the tester writes the automation. With cucumber and selenium , writing automation test is a joint effort between the developers and the testers. The testers write the test cases in cucumber scenario format, then the developers write the steps definition. This way, everyone is contributing and everyone is reviewing the test cases.&lt;br /&gt;&lt;br /&gt;In our case, our QTP automation tester left the company and the QTP vbs code is hard to maintain and to read compared to cucumber and ruby code. I have tried to read QTP code to try to convert the test to cucumber and it is just taking quite a lot of time to just understand what the scripts do. With cucumber, selenium webdriver reading what the tests do only take 1-2 minutes as cucumber scenarios describe the behaviour of the system. With cucumber and selenium, everyone is contributing to the automation code and therefore knowledge is being transferred all the time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;QTP is very costly while cucumber, selenium webdriver is free.&lt;br /&gt;&lt;br /&gt;Is there any version control in QTP? In our case, we put the automation test code (cucumber, selenium webdriver) as part of the system source code so the automation code is sourced controled.&lt;br /&gt;&lt;br /&gt;We can develop the automation code in Windows, Ubuntu, Mac or in any other platforms that you like. This is another topic, but in our case everyone is moving away from windows as well especially the developers which is why QTP is abit useless as you can use Windows only.&lt;br /&gt;&lt;br /&gt;Continous Integration is also an ease. We use hudson to automatically run the automation test whenever there is a new build so the developers can get an instant feedback of their changes. QTP just can't do this.&lt;br /&gt;&lt;br /&gt;Selenium webdriver can do alot more tests than the previous version (selenium rc) including java script requests and ajax test.&lt;br /&gt;&lt;br /&gt;Getting a support answer is very fast in the open source community. Also, you have access to the source code. Since it is a joint effort to write the automation test, we are able to solve alot of issues together.&lt;br /&gt;&lt;br /&gt;Other IT departments in our company are already ditching QTP in favor of cucumber and selenium and we never want to go back to QTP after this.&lt;br /&gt;&lt;br /&gt;I believe QTP have other benefits as well that I do not know. However, in our case using cucumber and selenium webdriver is more relevant and better than using QTP.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://qastuffs.blogspot.com/2010/12/qtp-vs-selenium.html"&gt;QA Blog - Bagas &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1176084477307750644?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1176084477307750644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1176084477307750644&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1176084477307750644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1176084477307750644'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/qtp-vs-selenium-qa-blog.html' title='QTP VS Selenium - QA Blog'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R9uMCbaneVg/TRDjY7uHnHI/AAAAAAAAAWY/8hHfDJ0xGwQ/s72-c/Testing_Blog.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8380225373143186122</id><published>2010-12-20T11:43:00.003+05:30</published><updated>2010-12-20T11:46:56.130+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Shortcuts that help in automation !</title><content type='html'>There are a lot of situations wherein we use shortcuts as a workaround while automating. Here are some shortcuts for windows and Microsoft apps:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_R9uMCbaneVg/TQ70imQubCI/AAAAAAAAAWU/lHNOR4pi8_0/s1600/imp+Shortcuts.GIF" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_R9uMCbaneVg/TQ70imQubCI/AAAAAAAAAWU/lHNOR4pi8_0/s400/imp+Shortcuts.GIF" width="342" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;P.S:&amp;nbsp; Click on the image and download for quick reference﻿t apps:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TQ7z82o7u5I/AAAAAAAAAWQ/KprhQnZco1o/s1600/imp+Shortcuts.GIF" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8380225373143186122?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8380225373143186122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8380225373143186122&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8380225373143186122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8380225373143186122'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/shortcuts-that-help-in-automation.html' title='Shortcuts that help in automation !'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R9uMCbaneVg/TQ70imQubCI/AAAAAAAAAWU/lHNOR4pi8_0/s72-c/imp+Shortcuts.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7395338240228083313</id><published>2010-12-17T15:18:00.001+05:30</published><updated>2010-12-17T15:19:03.063+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Code to get attribute values from an xml</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_R9uMCbaneVg/TQsxyg-gmCI/AAAAAAAAAWM/xZpGs4fHT3c/s1600/TestingBlog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_R9uMCbaneVg/TQsxyg-gmCI/AAAAAAAAAWM/xZpGs4fHT3c/s200/TestingBlog.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Was facing a problem in finding the attributes in an xml file, Here is the code of how to solve that: &lt;br /&gt;&lt;br /&gt;&lt;div style="color: blue;"&gt;Const XMLDataFile = "C:\Test.xml"&lt;br /&gt;Set xmlDoc = CreateObject("Microsoft.XMLDOM")&lt;br /&gt;xmlDoc.Async = False&lt;br /&gt;xmlDoc.Load(XMLDataFile)&lt;br /&gt;Dim strAttribute&lt;br /&gt;&lt;/div&gt;&lt;div style="color: blue;"&gt;Set nodes = xmlDoc.SelectNodes("/Path till the node where the attribute is present")&lt;br /&gt;For i = 0&amp;nbsp; To(nodes.Length -1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strAttribute= nodes(i).getAttribute("Attribute Name")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "Node #" &amp;amp; (i + 1)&amp;amp; ": " &amp;amp; strAttribute&lt;br /&gt;Next&lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms762271%28v=vs.85%29.aspx"&gt;SampleXml&lt;/a&gt;&lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Hope this helps!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7395338240228083313?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7395338240228083313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7395338240228083313&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7395338240228083313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7395338240228083313'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/code-to-get-attribute-values-from-xml.html' title='Code to get attribute values from an xml'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_R9uMCbaneVg/TQsxyg-gmCI/AAAAAAAAAWM/xZpGs4fHT3c/s72-c/TestingBlog.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5975060799702062648</id><published>2010-12-15T22:29:00.001+05:30</published><updated>2010-12-15T22:30:52.498+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>QTP - Hybrid Automation Frame Work - Bharath</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TQjzc33zahI/AAAAAAAAAWI/hhNb9Vo0mkk/s1600/eEpoSv5pDasimrkpAGriUxfg_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TQjzc33zahI/AAAAAAAAAWI/hhNb9Vo0mkk/s320/eEpoSv5pDasimrkpAGriUxfg_500.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;What is Automation Framework? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Framework is a wrapper around complex internal architecture which makes end user to interact with the system easily. It also define guidelines and set standards for all phases of ADLC (Automation Development Life Cycle).&lt;br /&gt;&lt;br /&gt;This “Dual Function” (Hybrid) framework is a combination of three frameworks (Functional Decomposition, Data Driven, Keyword Driven) and (re-usability, advanced error logic, custom QTP methods, dual function) techniques.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Key features of Dual function Framework&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Re-usability, low maintenance design (Dual Function).&lt;br /&gt;2. Support different application environments (Development, Quality Control, production) and custom client settings.&lt;br /&gt;3. &lt;b&gt;Externally Configurable - Execute all the test cases, execute only failed test cases, execute test cases by test case id, execute test cases by using flags...can be configured in different ways.&lt;/b&gt;&lt;br /&gt;4. Self Configurable and can run unattended with out results being overwritten.&lt;br /&gt;5. Better ROI (Return Of Investment).&lt;br /&gt;6. &lt;a href="http://bharath-marrivada.blogspot.com/2010/04/qtp-display-real-time-test-status.html"&gt;&lt;b&gt;Real time status monitoring…display detail status during the test execution and automatically close the pop-up status in x sec.&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;7. Test status reporting in three ways…detailed, high level and summary log file.&lt;br /&gt;8. &lt;b&gt;&lt;a href="http://bharath-marrivada.blogspot.com/2010/02/how-to-send-email-with-attachments.html"&gt;System automatically send email notifications with test results once the test is complete. &lt;/a&gt;&lt;/b&gt;&lt;br /&gt;9. &lt;b&gt;&lt;a href="http://bharath-marrivada.blogspot.com/2010/04/qtp-capture-screen-shot.html"&gt;Screen Capture on failed test step&lt;/a&gt;,&lt;/b&gt; notified in the test case itself, assign unique name and stored in the separate folder for easy accessing. &lt;br /&gt;10. Automation test cases resemble manual test cases (Just replace with keywords and test data)&lt;br /&gt;11. Easy way of creating test cases with test case generators (Select keywords from drop down).&lt;br /&gt;12. Easy to maintain and develop scripts (DP, Custom Methods and Dual Function).&lt;br /&gt;13. Test execution time stamp for each step, so that we can easily trace when the test was executed.&lt;br /&gt;14. Same script can be executed on QTP 9.2, 9.5 and 10.0. Backward, forward compatibility.&lt;br /&gt;15. If the test is running in different location, system automatically identify the place of execution using System IP. If the IP is unknown not in the defined list or changed, it would publish the IP address in the results.&lt;br /&gt;16. &lt;a href="http://bharath-marrivada.blogspot.com/2010/03/qtp-always-use-registered-methods-for.html"&gt;&lt;b&gt;If object is missing or object properties got changed on the application, system will notify object is missing and proceed with the next test case. This will not stop the test execution.&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;17. &lt;b&gt;Calculate each page response time automatically.&lt;/b&gt;&lt;br /&gt;18. Framework is designed in such a way that it can be initiated using AOM script or directly run using QTP GUI especially useful during debugging or script creation.&lt;br /&gt;19. It would automatically stop automatically if specific number of test cases got failed in sequence, this will help us know there is serious problem in the application.&lt;br /&gt;20. Multi language support.&lt;br /&gt;21 . &lt;a href="http://bharath-marrivada.blogspot.com/2010/03/qtp-send-sms-to-your-mobile.html"&gt;&lt;b&gt;Sending test results as SMS&lt;/b&gt;. &lt;/a&gt;&lt;br /&gt;22. &lt;b&gt;&lt;a href="http://bharath-marrivada.blogspot.com/2010/03/qtp-add-library-files-using-aom-scritp.html"&gt;It would automatically add new library files.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;23. As the entire code reside in library files, total size of the framework is very small. This will help us to easily copy, backup and upload into version control tools.&lt;br /&gt;24. Automatic results archiving facility, old results will not erased. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Advantages of Dual Function Framework&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; and ROI &lt;/span&gt;(Return Of Investment)&lt;br /&gt;&lt;br /&gt;1. Reduce testing time.&lt;br /&gt;2. Improve testing productivity.&lt;br /&gt;3. Improve product quality&lt;br /&gt;4. Reduce QA costs.&lt;br /&gt;5. Consistent test results.&lt;br /&gt;6. Calculate page response time of all the pages.&lt;br /&gt;7. Schedule test runs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Frame Work Folder Struct&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ure&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZBTqlPtkI/AAAAAAAADUA/IEPMvTFMX_8/s1600-h/Folder+Structure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZBTqlPtkI/AAAAAAAADUA/IEPMvTFMX_8/s400/Folder+Structure.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Framework contain different files associated with different functionality, all the files to be placed in the corresponding folders; so that it is easy to maintain.&lt;br /&gt;&lt;br /&gt;Note: Framework can't identify the folders if folder names get renamed, except sub folders created under "AutomationTestDocuments".&lt;br /&gt;&lt;br /&gt;&lt;u&gt;AutomationTestDocuments &lt;/u&gt;&lt;u&gt;folder&lt;/u&gt; contain sub folders relating to each test. If we have two tests, there will be two sub folders. Create new folders as per the test requirement. There is no restriction on the folder name.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4Z_b2MwQTI/AAAAAAAADVw/Fzlf5TuW7So/s1600-h/Test+Folder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="135" src="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4Z_b2MwQTI/AAAAAAAADVw/Fzlf5TuW7So/s200/Test+Folder.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Each test (ProductionLoginTesting from the above screen shot) contain 2 Files (Startup, Control) and 3 sub-folders (AutomationTestCases - contain test cases; ExecuationLog - system automatically create two new files once test is complete, based on the configuration, Test summary.txt and Response time.xls; ScreenShots - contain application screen shots, if there are any errors. It would automatically assign unique name with time stamp for each screen shot and notified in the test step itself. &lt;br /&gt;&lt;br /&gt;&lt;u&gt;Config folder&lt;/u&gt; contain xls files containing custom client settings.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;ExecutedScripts folder&lt;/u&gt; contain copy of the test folder after execution. If we run the same test again and again (schedule on daily basis) results are over written. In order to preserver the test results, framework will copy the test folder into newly created&amp;nbsp; folder with time stamp, once the test got completed. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4Z_n26esuI/AAAAAAAADV4/t_laQJqjUxQ/s1600-h/Executed+scripts+folder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4Z_n26esuI/AAAAAAAADV4/t_laQJqjUxQ/s320/Executed+scripts+folder.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Frame_WorkGep folder&lt;/u&gt; contain QTP code of one action "KickOff" with single line of code "Call StartUP". Entire project code code reside in the VBS file. &lt;br /&gt;Following are the reasons for choosing this kind of design.&lt;br /&gt;1. VBS file are very light in terms of size.&lt;br /&gt;2. Framework is entirely based on DP (Descriptive programming).&lt;br /&gt;3. We can easily implement any configuration management tool.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4aAFPhZPEI/AAAAAAAADWA/wuvntkIkdFE/s1600-h/QTP+folder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4aAFPhZPEI/AAAAAAAADWA/wuvntkIkdFE/s320/QTP+folder.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Library folder&lt;/u&gt; contain application libraries which contain code relating to keyword functions and contain sub folder called "CoreLibraries" that contain files corresponding to actual framework only.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4aAYFfyUQI/AAAAAAAADWI/RKmVnvnZlOQ/s1600-h/Framework+libraries.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4aAYFfyUQI/AAAAAAAADWI/RKmVnvnZlOQ/s320/Framework+libraries.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dual Function Framework Architecture&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/THukh7lBjLI/AAAAAAAADiI/CLMpZDGEwyE/s1600/QTP+HYBRID+Daul+Function+Framework+Architecture.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="275" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/THukh7lBjLI/AAAAAAAADiI/CLMpZDGEwyE/s400/QTP+HYBRID+Daul+Function+Framework+Architecture.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Note: High-level design intended to show in a simple manner. Many other scripts are called between intermediate stages.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;QTP AOM Script&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. vbs file created using AOM.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. Attached to windows scheduler.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. Identify the place of execution using system IP. If script is executed on new location, it would consider IP address as place of execution. &amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. As there are many tests under "AutomationTestdocuments", script need to be updated with the test folder name and path that we are planning to execute.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;5. Script will open the QTP and associate the test specified in the step 4.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;6. Two parameters are passed as environment variables (location and test path).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;7. Copy the results in "ExecutedScripts" folder to protect results from overwriting, if initiated through AOM script only.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;8. Test can also be executed in standalone mode without AOM script, especially useful during test creation and debugging.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;KickOff Action &lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is the only QTP action used in the framework, it contain "Call funKickOff" to initiate KickOff script.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;KickOff Script&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Contain global object declaration, initialization and controlling test execution mode. This script will initiate StartUp script. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;StartUp script&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This script will configure the framework as per the settings provided in the startup spreadsheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Control Script &lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Start up script will initiate control script. Based on the startup spreadsheet settings, script will read each test case from the control spread sheet and call the driver script with test case id, test case name. This script will also generate real time status of the test in the form of pop-up message and update the test status.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Driver script&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Based on the test case id and test case name, it will map the test case lower bound and upper bond, then it will read each line of the test case and call corresponding key word functions.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;How lower bound is computed ?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Based on the test case id received from the control script, it will start verifying the line having the keyword "TestCaseID", if ID under P1 (Column F) is matching, then it is treated as lower bound.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;How upper bound is computed ?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Once script identify the lower bound, it will start searching the immediate "STOP" key word, this will be considered as upper bound.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Then it will start reading all the keywords between lower and upper bound by calling corresponding key word functions and updating each step.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_uNC0KGkaYfA/S8V7TdH3EOI/AAAAAAAADZ0/Was0ZzegH_0/s1600/Lower+Upper+Bound.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="80" src="http://4.bp.blogspot.com/_uNC0KGkaYfA/S8V7TdH3EOI/AAAAAAAADZ0/Was0ZzegH_0/s400/Lower+Upper+Bound.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Application library&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;These functions will actually manipulate(enter data or perform certain action on the control) the application as per the design and send the status back to the driver script.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;To understand different variables that I have created in the framework, &lt;a href="http://bharath-marrivada.blogspot.com/2010/04/qtp-display-real-time-test-status.html"&gt;look into the function available under this link.&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Note: Above scripts contain complex validation and error logic techniques, just gave you high level overview. Following top down approach and each script is independent entity, this will help us to maintain framework with ease and change the functionality without effecting other scripts.&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Start-up spreadsheet&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_uNC0KGkaYfA/S4ZK7XLv9nI/AAAAAAAADUg/zeIBVMG4n14/s1600-h/startup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="395" src="http://1.bp.blogspot.com/_uNC0KGkaYfA/S4ZK7XLv9nI/AAAAAAAADUg/zeIBVMG4n14/s400/startup.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 1&lt;/u&gt; - Default URL - If you are using the same test in different environments (Development, Quality control, production), just change the URL, scripts would run without any issues. This will help us to run the tests in different environments with very little change.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 2&lt;/u&gt; - DB Name - If you are accessing the database through QTP, you can specify the name after creating DSN.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 3&lt;/u&gt; - Test Execute Flag - Drop Down values All,Yes,No,Empty - Execute Flag,Check,Test Case Ids&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;These settings are applied by the control script on the control spreadsheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;All - Execute all the test cases&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Yes(Y) - Execute test case with Y flag&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;No(N) - &amp;nbsp; Execute test case with N flag&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Empty - Execute Flag - Execute test case with empty flag&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Check - When selected, it would just generate test report with consolidate pass/fail status (if test is run multiple time, initially all test cases, next failed test cases) without actual execution the test.&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test Case Ids - Execute only specific test case ids.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 4&lt;/u&gt; - Test Execution Status Flag -&amp;nbsp;  Drop Down values All,Pass,Fail,Bad Inputs,Empty - Execution Flag,Check,Test Case Ids&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;These settings are applied by the control script on the control spreadsheet. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If we want to control the test based on Pass/Fail status use this control. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;All - Execute all the test cases&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Pass - Execute test case with Pass status &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Fail - &amp;nbsp; Execute test case with Fail status&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Bad Inputs - &amp;nbsp; Execute test case with Bad Inputs status&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Empty - Execute Flag - Execute test case with empty flag&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Check - When selected, it would just generate test report with consolidate pass/fail status (if test is run multiple time, initially all test cases, next failed test cases) without actual execution the test. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test Case Ids - Execute specific test case ids.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Row 3 and 4 can be used in different combination while executing the test, so that desired test cases are executed. Most of the combination's are considered. &amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 5&lt;/u&gt; - Execute Specific Test Case Ids - Mention test case ids that you want to execute, "Test Case Ids" flag need to be selected in Row 3 or 4. This will override all the settings.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 6&lt;/u&gt; - Tester Name - Name of the tester who is executing the script, same name appear in control and log files after test execution.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 7&lt;/u&gt; - Release no/ Module name.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 8&lt;/u&gt; - Test Cycle - Mention test cycle.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 9&lt;/u&gt; - Exceptions exist counter - Test would automatically stop once the failed test case count reach the counter value. It doesn't make sense to keep on executing the test with 50 or more failed test cases, some thing gone wrong badly.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 10&lt;/u&gt; - Test status pop-up display - Drop down values On,Off,Valid Test Case&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On - Always display real time test status pop-up.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Off - Don't display real time test status pop-up.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Valid Test Case - Display while executing valid test case, don't display for invalid test case, determined from the combination of Row 3 and 4 flag settings.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 11&lt;/u&gt; - Test status pop-up display (sec) - How may seconds real time test pop-up need to be displayed, automatically close after specified seconds.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 17&lt;/u&gt; - Object Highlighting - On/Off&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On - It will highlight all the objects during test execution, reduce test execution speed.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Off - No highlighting&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 18&lt;/u&gt; - Silent Mode - On/Off&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On -Framework generate many messages during execution, when test is getting executed unattended, we can suppress these message by selection On.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Off - User need to click OK for each framework message, used during debugging.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 19&lt;/u&gt; - Calculate average page response time - On/Off&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On - It will generate an excel file with each page response time and store it in the "ExecuationLog" folder. Extra coding required, need to modify excel COM model function as per the requirements.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Off - It will not generate any page response file.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Row 26&lt;/u&gt; - Beep on any click - On/Off&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On - Generate beep sound when system select any control.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Off - No beep.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Reason for implementing this feature - One of the developer told me that you are not calculating page response time correctly there is flaw in page synchronization code. In order to prove that I am correct, I have implemented this feature. When system select any action on the control it will generate a beep, once page sync is complete, it will generate different beep. After showing the same to the developer, he agreed that my page response time code is correct.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Control Spreadsheet&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4ZLxim1IZI/AAAAAAAADUo/EsB4Sp_E85M/s1600-h/control.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4ZLxim1IZI/AAAAAAAADUo/EsB4Sp_E85M/s400/control.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Headers highlighted in &lt;span style="background-color: yellow;"&gt;YELLOW&lt;/span&gt; - User need to fill the columns.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Headers highlighted in WHITE - System automatically fill the columns during execution.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;One control spread sheet for entire test. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 1&lt;/u&gt; - Test Case Id - Each test case is assigned unique id in ascending order only.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 2&lt;/u&gt; - Test Case Description - Optional, small description about the test case.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 3&lt;/u&gt; - Execute Flag(Y/N/Empty) - Control script will retrieve the settings from the start up spread sheet Row 3 and check the flag. If both flags match, system will execute the test case else it will ignore it. This system will help us to quickly configure which test cases to be executed.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 4&lt;/u&gt; - Test case file name - Need to specify the corresponding test case file name.&amp;nbsp; Each test can have multiple test cases if required, so that functionality can be distributed and easy to maintain. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test case - Group of test steps(procedure) with specific test data to validate a requirement.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test case file - Group of test cases placed in a file.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 5&lt;/u&gt; - Response Time - Consolidated response time of all the test steps under specific test case.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 6&lt;/u&gt; - Execution Status - Once test case id is executed, system will update the status with Pass/Fail/Bad Inputs (test data provided to the test steps are incorrect).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We can also use this flag to control test execution. Row 4 start up spreadsheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 7&lt;/u&gt; - Execution Place or System IP / Status Message - Display execution place/ Error and check point messages, if there are any inconsistencies.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 8&lt;/u&gt; - Time stamp - Test execution time stamp in Local time.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 9&lt;/u&gt; - Test tester name - As specified in the start up spreadsheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Column 10&lt;/u&gt; - Release no/ module name - As specified in the start up spreadsheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Test case Spreadsheet&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;Before Execution&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4ZNroCBzvI/AAAAAAAADUw/ghxsIimWmpc/s1600-h/testcase.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://4.bp.blogspot.com/_uNC0KGkaYfA/S4ZNroCBzvI/AAAAAAAADUw/ghxsIimWmpc/s400/testcase.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Headers highlighted in &lt;span style="background-color: yellow;"&gt;YELLOW&lt;/span&gt; - User need to fill the columns.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Headers highlighted in WHITE - System automatically fill the columns during execution.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test case spreadsheet consist of test steps similar to manual test cases.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Column A - Keyword - Perform specific action on the screen like enter data, retrieve data, check point. These keywords are selected from the drop down, not required to type the keywords. Once test case creator select the keyword, based on the design, column F to Q are highlighted and corresponding cells are inserted with comments, these are input parameters P1, P2, P3....P20. "LogInSignon" (Row 118) contain 4 parameters, P1 - User name, P2 - Password, P3 - Credentials are correct, P4 - Language. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;u&gt;After Execution&lt;/u&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZN1IodHuI/AAAAAAAADU4/RStbZ1OIh2U/s1600-h/testcase1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZN1IodHuI/AAAAAAAADU4/RStbZ1OIh2U/s400/testcase1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;System start filling columns B, C, D and F during test execution.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mapping of manual and automation test cases to check the coverage &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZPk95SFHI/AAAAAAAADVA/vR7KNktxSRw/s1600-h/testcase3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://2.bp.blogspot.com/_uNC0KGkaYfA/S4ZPk95SFHI/AAAAAAAADVA/vR7KNktxSRw/s400/testcase3.png" width="400" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We can create new column "Automation test case ID" in the manual test cases spreadsheet, so that there will be one to one mapping without missing any functionality.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Test summary log file &lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_uNC0KGkaYfA/S7xwwTfTvXI/AAAAAAAADYE/2tucafXUimk/s1600/Test_Summary_Log.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/_uNC0KGkaYfA/S7xwwTfTvXI/AAAAAAAADYE/2tucafXUimk/s640/Test_Summary_Log.png" width="248" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Generated and placed in the 'ExecutionLog" folder one test is completed.&lt;br /&gt;&lt;br /&gt;It contain following information.&lt;br /&gt;1. Place of execution.&lt;br /&gt;2. Test start and end time with time zone.&lt;br /&gt;3. Total executes test cases (Pass/fail/bad inputs) and ignored test cases (based on start up spreadsheet settings).&lt;br /&gt;4. Star up spreadsheet details.&lt;br /&gt;5. Information relating to sending email notifications.&lt;br /&gt;6. Average page response time (depend on the start up spreadsheet settings)&lt;br /&gt;7. Available PC physical memory before and after execution with time stamp.&lt;br /&gt;8. Test termination message By system completed/ By user/ By exception exist counter.&lt;br /&gt;9. Whether email sent successfully.&lt;br /&gt;10. PC information.&lt;br /&gt;&lt;br /&gt;It is a summary of Test results + Framework settings + PC info. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Real-Time status POP-UP message&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4ZiL_ePRMI/AAAAAAAADVY/IWa6pf8UOLY/s1600-h/Real+Time.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4ZiL_ePRMI/AAAAAAAADVY/IWa6pf8UOLY/s400/Real+Time.png" width="282" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;It provide live health of your test, this can be configured in the start up spread sheet.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Above image is self explanatory. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If your test is running for 2 hours and don't have this feature, you will understand nothing if you look at your running test after one hour. It would be better to implement this feature as per your requirements, not so exhaustively as mentioned above.&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Note: Implementing these features will not have any performance bottleneck in terms of execution speed or memory usage.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&amp;nbsp;Test case generator (Keyword sheet to create test cases)&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Simple Sheet&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4Zj9gdAVOI/AAAAAAAADVg/MO_NFzB9Kn0/s1600-h/Key+word+sheet+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="157" src="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4Zj9gdAVOI/AAAAAAAADVg/MO_NFzB9Kn0/s400/Key+word+sheet+1.png" width="400" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Test case generator spreadsheet contain two sheets&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. KeyList - Where you design keywords, same as above screen shot&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. Keyword - Where you create automation test cases by selecting the keywords from the drop down.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Macros are written to connect both sheets&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;How to create KeyWords?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Lets create keyword for the login screen, where you have User name, Password and Login button.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Flow - Enter user name, Password and select login button.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Keyword name - LoginSignOn&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Input Parameters - User name, Password&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Assign two parameters P1, P2 under column E and F.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Create cell comments for P1 and P2 as user name and password.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;O- Optional parameter&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;M - Mandate parameter (System will generate "BAD INPUTS" if users don't enter values and execute the script.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Points to be considered while creating Keywords&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. Standard CamelCase format.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. Keyword granularity (never have same keyword doing same or overlapping functionality).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. When creating complex keywords choose following format (product name + page Name + functionality)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. Don't worry about the length of keyword, you are not typing it, just selecting from the drop down. It should be self explanatory.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Advantages of this design.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. It is not required to enter test object properties in the test case, already implemented in the code.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. We can created a document which contain screen shot of the page and corresponding keywords. By looking at it any one can create test cases.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3. Generally in keyword driven framework, we can enter one value or fire one method per line; in this design you can enter maximum of 20 values in a single line.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4. It is not required to memorize all the inputs associated with a keyword, Just select the Keywork, it would automatically highlight the parameters and assign cell comments to each parameter, so that you will understand easily what P1, P2...parameters for.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;5. Each key word is self explanatory designed using camel case, any person can understand it. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Complex Sheet with lengthy keywords&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4ZkDl28qsI/AAAAAAAADVo/gQH9lvc0ynU/s1600-h/Key+word+sheet+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://3.bp.blogspot.com/_uNC0KGkaYfA/S4ZkDl28qsI/AAAAAAAADVo/gQH9lvc0ynU/s400/Key+word+sheet+2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After creating the core framework, next job would be creating keywords as per the functionality and executing the test.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Continued... &lt;a href="http://bharath-marrivada.blogspot.com/2010/04/qtp-hybrid-framework-architecture-and.html"&gt;QTP  - Hybrid FrameWork - Part II&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://bharath-marrivada.blogspot.com/2010/02/qtp-dual-function-hybrid-automation.html"&gt;Bharath Marrivada&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5975060799702062648?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5975060799702062648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5975060799702062648&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5975060799702062648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5975060799702062648'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/qtp-hybrid-automation-frame-work.html' title='QTP - Hybrid Automation Frame Work - Bharath'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TQjzc33zahI/AAAAAAAAAWI/hhNb9Vo0mkk/s72-c/eEpoSv5pDasimrkpAGriUxfg_500.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2843785817222645421</id><published>2010-12-14T00:14:00.007+05:30</published><updated>2010-12-14T11:53:54.942+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Zephyr v3.0 - Test Mangement tool</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TQZpdsVhjFI/AAAAAAAAAWA/M582F7TmulU/s1600/oz-zephyr.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="244" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TQZpdsVhjFI/AAAAAAAAAWA/M582F7TmulU/s320/oz-zephyr.jpg" width="320" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;u&gt;&lt;span style="font-family: verdana,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;u&gt;&lt;a href="http://www.getzephyr.com/" rel="nofollow" target="_blank"&gt;&lt;span style="font-family: verdana,sans-serif;"&gt;Zephyr v3.0&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: verdana,sans-serif;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: small;"&gt;an advanced and comprehensive test management system.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Verdana,sans-serif; line-height: 13px; margin-bottom: 0.19in; margin-top: 0.19in;"&gt;&lt;span style="font-size: small;"&gt;Zephyr v3.0 has the following features:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;&lt;b&gt;Custom reports generator:&lt;/b&gt;&amp;nbsp;Zephyr's new custom report generator makes it simple for every team to be able to run any report they need. The new functionality builds on the existing out of the box functionality which comes with more than 16 drill down reports and metrics.&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&lt;div style="line-height: 13px;"&gt;&lt;b&gt;Extensive API’s:&lt;/b&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;Zephyr's philosophy has always been to integrate with existing infrastructure and not force teams to rip one tool out to replace it with another. With the new extensive API's Zephyr further extends the capability of its platform to support the myriad needs of global software quality teams. The web services API's are fully documented at&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://developer.yourzephyr.com/" rel="nofollow" target="_blank"&gt;&lt;span style="color: black;"&gt;http://developer.yourzephyr. com&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div style="line-height: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&lt;div style="line-height: 13px;"&gt;&lt;b&gt;Enhanced productivity levels/Search Technology:&lt;/b&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;Zephyr's test management solution promotes a new level of organization at the release, project, department and global level. With the 3.0 release, Zephyr debuts a new search technology that searches in the body of fields, not just in the title or subject field. Teams will achieve new levels of productivity.&lt;/div&gt;&lt;div style="line-height: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&lt;div style="line-height: 13px;"&gt;&lt;b&gt;Trend reporting:&amp;nbsp;&lt;/b&gt;With Zephyr's new, first of its kind dynamic trend reports, teams now have the ability to look back at stages of former projects and quantify how long it took to complete the release. With this information in hand, the same teams will now able to plan accordingly for not only current releases, but also for future projects.&lt;/div&gt;&lt;div style="line-height: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&lt;div style="line-height: 13px;"&gt;&lt;b&gt;Enhanced JIRA integration: &lt;/b&gt;Zephyr enhances its one of a kind 2-way JIRA integration by supporting JIRA custom fields. Teams have always been able to enter, search, change, report, analyze and close any defect in JIRA from within Zephyr through optimized testing desktops. With the new release, teams who have customized or plan to customize JIRA will also be able to leverage the robust functionality and achieve higher productivity and efficiencies.&lt;/div&gt;&lt;br /&gt;Online help is available at &lt;a href="http://support.yourzephyr.com/product_help/3.0/Zephyr_3.0_Help.htm"&gt;http://support.yourzephyr.com/ product_help/3.0/Zephyr_3.0_ Help.htm&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2843785817222645421?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2843785817222645421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2843785817222645421&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2843785817222645421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2843785817222645421'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/zephyr-v30-test-mangement-tool.html' title='Zephyr v3.0 - Test Mangement tool'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TQZpdsVhjFI/AAAAAAAAAWA/M582F7TmulU/s72-c/oz-zephyr.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3608025267632736150</id><published>2010-12-08T22:36:00.000+05:30</published><updated>2010-12-08T22:36:57.853+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News - Dec 8th</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TP-5VF7TPEI/AAAAAAAAAV8/MCvSBsd-rJg/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TP-5VF7TPEI/AAAAAAAAAV8/MCvSBsd-rJg/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Announcing the First-Ever Selenium Conference in San Francisco - Sauce Labs, the company co-founded by &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fseleniumhq.org%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFQjCNERCeR4yKwQKkRE2Oqq68zTNpx6aA"&gt;Selenium&lt;/a&gt; creator Jason Huggins, today announced the inaugural &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.seleniumconf.com%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFQjCNHxHF152U2FSMLVSBnYRbn64xYvyA"&gt;Selenium&lt;/a&gt; &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.seleniumconf.com%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFQjCNHxHF152U2FSMLVSBnYRbn64xYvyA"&gt;Conference&lt;/a&gt;, which will take place on April 1-3, 2011 &lt;b&gt;Source&lt;/b&gt;: &lt;a href="http://www.marketwire.com/press-release/Announcing-the-First-Ever-Selenium-Conference-in-San-Francisco-1365049.htm"&gt;News&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="headline"&gt;Blueberry Launches Version 3.0 of Its Software Testing Tool for Developers &lt;b&gt;Source&lt;/b&gt;: &lt;a href="http://www.itnewsonline.com/news/Blueberry-Launches-Version-3.0-of-Its-Software-Testing-Tool-for-Developers/22257/8/3"&gt;News&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;HP Intros Application Lifecycle Management 11: &lt;span id="articleBody"&gt;a unified system for managing the lifecycle of a key business application when it needs to be built from a variety of services running in heterogeneous environments.&lt;b&gt;Source: &lt;/b&gt;&lt;a href="http://www.informationweek.com/news/software/app_optimization/showArticle.jhtml?articleID=228500116"&gt;News&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span id="articleBody"&gt;&amp;nbsp;&lt;/span&gt;IBM and QAI Partner to Launch Dual Certification Program in Functional Testing: Leading to Dual Certifications in Software Testing (CSTE) and Rational Functional Testing (RFT)&amp;nbsp;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;India currently has approximately over 132,000 professionals working in the Independent Testing Services Business, out of which approximately 65% of the work done, is in the field of Functional Testing.&amp;nbsp; &lt;b&gt;Source&lt;/b&gt;: &lt;a href="http://pr.watblog.com/2010/12/ibm-and-qai-partner-to-launch-dual-certification-program-in-functional-testing/"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3608025267632736150?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3608025267632736150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3608025267632736150&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3608025267632736150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3608025267632736150'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/testing-news-dec-8th.html' title='Testing News - Dec 8th'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TP-5VF7TPEI/AAAAAAAAAV8/MCvSBsd-rJg/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2433275778447094810</id><published>2010-12-07T22:31:00.001+05:30</published><updated>2010-12-07T22:32:45.916+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Lean as a toolkit towards agility - Ranjan</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TP5oNdshS_I/AAAAAAAAAV4/zzzLHY5UnIU/s1600/Testing_Blog.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TP5oNdshS_I/AAAAAAAAAV4/zzzLHY5UnIU/s320/Testing_Blog.jpg" width="284" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;b&gt;Definitely Lean!!&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Over the last few years, agile software development processes like &lt;a href="http://en.wikipedia.org/wiki/Extreme_programming" id="u0i2" title="XP"&gt;XP&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Scrum_%28development%29" id="eld9" title="Scrum"&gt;Scrum&lt;/a&gt; have gained a lot of prominence, and a majority of organizations have tried one of these one time or another. I mention two here - Scrum is an agile management methodology, XP more of agile engineering practices, because on various fora, you will find debates on one over the other, and sometimes hopefully one mixed with the other. Both the methodologies are practical extensions to the &lt;a href="http://agilemanifesto.org/principles.html" id="wodd" title="agile manifesto"&gt;agile manifesto&lt;/a&gt;, concrete processes that supplement a philosophy. Unfortunately, there seems to be a majority which assumes complete agility is achieved when practicing one of these methodologies or a mix of them. Blindly adopting a methodology is no different from following older so called non-agile practices. Granted there might be immediate visible improvements with better communication and development techniques, this ends up as just a linear function of the ability to change for the better. Given time, if self organized teams do not retrospect and improve on past performances, they hit roadblocks as before, may be just a little further, but they do. The last line of the manifesto -"&lt;span style="font-size: 85%;"&gt;At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly" is a statement that is very important, yet ignored, or practiced weakly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Indeed, what the final tenet on the manifesto encourages a team to do is make sure it is learning and improving its processes over time. Scrum or XP are just basic frameworks which facilitate an initial shift, and then the team must make sure that they choose the right processes under given circumstances to be effective and inclined towards a delivery. During such a process a team might decide to break one or more basic tenets of the framework they choose to follow, if it improves their effectiveness and delivery. For example, &lt;a href="http://en.wikipedia.org/wiki/You_Ain%27t_Gonna_Need_It" id="xcgx" title="YAGNI"&gt;YAGNI&lt;/a&gt; is a fundamental tenet of XP, but a team might choose to tweak it if they find it necessary to design upfront on certain tasks. Theorists and fanboys will shout foul, but realists and seasoned practitioners will understand the needs to do this. (Having said this, the team must at all times be congnizant of the risks taken when making these decisions, and observe changes closely for a few iterations.) These tenets are not commandments to follow staunchly, they are guidelines to follow a philosophy of continuous improvement to deliver the best value to a customer. They provide a meta-plan, or a planning approach, which is not any more important than responding to change. This realization itself facilitates better localized processes. The argument above is an example of improvement within a process. The shift towards learning from &lt;a href="http://en.wikipedia.org/wiki/Lean_manufacturing" id="epb5" title="Lean Manufacturing"&gt;Lean Manufacturing&lt;/a&gt; is an excellent example of how not just a team, but the community as a whole looks around for synergies in different workplaces to improve business processes and deliver more value. &lt;br /&gt;&lt;br /&gt;The commercialization and marketing of XP or Scrum as a development practice, sadly has not done justice to Agile as a philosophy. As more and more corporations try to join the bandwagon, I have noticed frequent claims of agility subsequent to following an XP or Scrum approach. While adapting to XP and Scrum practices is not wrong, it does benefit a team to do so, but if the team does not understand the underlying philosophy behind the practices, it fails to see a fundamental dimension of growth. By looking at just the practices within the methodology for improvement and not without, it ignores tools and practices that might help itself to improve on a larger scale. Any failures in such a premise becomes then a failure of the process followed, and management decisions being made to repeal processes. Such superficial following is thus harmful for the corporation as it misses out on a good philosophy as it chooses to discard it, based on an implementation fault.&lt;br /&gt;&lt;br /&gt;Lean software development is the new kid on the block. Lean manufacturing and Agile Development are very aligned towards each other, for starters both are people centric and concentrate on reducing wastes. As the hype to be Lean increases, similar superficial dabs will increase, some will succeed and some will fail. Should such failures count as failures of the Lean model? Should teams stop striving to be Lean when they figure out that they would not be able to stop the line, or follow another much proclaimed Lean tenet? Shouldn't teams be looking at Lean practices as empowering tools and not laws? By educating itself towards a mindset and not just manifest of it(read Lean), wouldn't a team benefit more?&lt;br /&gt;&lt;br /&gt;In fact what a team should figure out is that XP, Scrum and now Lean are just toolkits that facilitate aligned and effective delivery of customer demands. Stand-ups, TDD, Scrum of Scrum, Frequent releases are all a part of a greater toolkit that facilitate agility, and a team should pick and choose what is most effective for itself. Lean, like XP is a set of practices teams have evolved over a period of time to be more effective. It has evolved over prior practices like Taylorism and Fordism at Toyota. The point to note is that Toyota did not invent or create a lean process out of nowhere. They optimized based on a given set of circumstances and experimented new approaches towards manufacturing. That is an instance of pure agility. The current state of Lean is just a product of agility, and thus provides a good toolkit, just like XP and Scrum and other agile manifests do.&lt;br /&gt;&lt;br /&gt;By treating these manifests as toolkits, we open up our perspective and become more responsible to better delivery, by following them blindly, we close our eyes and wait for good things to happen, just because we are following a process. Indeed, true agile teams improve continuously. Upon hitting roadblocks, they come up with solutions which are measurable in terms of effectiveness. They break dogma and blind faith to increase effectiveness and thus deliver more for the same dollar spent than the last iteration. And when do they stop looking for improvements? Never.&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://blog.ranjansakalley.com/2009/09/lean-as-toolkit-towards-agility.html"&gt;Ranjan Sakalley&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2433275778447094810?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2433275778447094810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2433275778447094810&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2433275778447094810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2433275778447094810'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/lean-as-toolkit-towards-agility-ranjan.html' title='Lean as a toolkit towards agility - Ranjan'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TP5oNdshS_I/AAAAAAAAAV4/zzzLHY5UnIU/s72-c/Testing_Blog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-8176949655039690788</id><published>2010-12-06T22:50:00.000+05:30</published><updated>2010-12-06T22:50:19.615+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Test Automation tools in the market!!</title><content type='html'>&lt;div id="commentbody-174922"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TP0bPYnvi5I/AAAAAAAAAV0/E1v1xuWAPUM/s1600/Testing_Blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TP0bPYnvi5I/AAAAAAAAAV0/E1v1xuWAPUM/s320/Testing_Blog.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here is not a complete list but almost complete list of functional test automation tools:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open Source GUI testing tools: &lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Abbot&lt;/li&gt;&lt;li&gt;AutoHotkey&lt;/li&gt;&lt;li&gt;AutoIt &lt;/li&gt;&lt;li&gt;Canoo&lt;/li&gt;&lt;li&gt;CubicTest is a graphical Eclipse plug-in for  writing Selenium and Watir tests.&lt;/li&gt;&lt;li&gt;Dogtail by Red Hat&lt;/li&gt;&lt;li&gt;FitNesse&lt;/li&gt;&lt;li&gt;Linux Desktop Testing Project by freedesktop.org&lt;/li&gt;&lt;li&gt;Maveryx is an automated  functional testing, regression testing, GUI testing and data-driven testing  tool.&lt;/li&gt;&lt;li&gt;QAliber by QAlibers, free open source for testing applications and  web over windows OS&lt;/li&gt;&lt;li&gt;Selenium for Web UI testing&lt;/li&gt;&lt;li&gt;SWTBot functional  testing of SWT and Eclipse based applications&lt;/li&gt;&lt;li&gt;Tellurium Automated Testing  Framework (runs on top of Selenium).&lt;/li&gt;&lt;li&gt;Watir browser driver for web UI  testing&lt;/li&gt;&lt;li&gt;WatiN Web automated testing in .NET&lt;/li&gt;&lt;/ul&gt;&lt;b style="color: #134f5c;"&gt;Lots more open source tools&lt;/b&gt; &lt;a href="http://www.opensourcetesting.org/functional.php"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Commercial GUI testing tools&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AutoIt&lt;/li&gt;&lt;li&gt;Automation Anywhere&lt;/li&gt;&lt;li&gt;eggPlant by TestPlant Ltd&lt;/li&gt;&lt;li&gt;GUIdancer by Bredex, for Java (Swing, RCP/SWT, GEF) and HTML&lt;/li&gt;&lt;li&gt;HP QuickTest  Professional (QTP) by Hewlett-Packard (formerly by Mercury Interactive)&lt;/li&gt;&lt;li&gt;IBM  Rational Functional Tester by IBM&lt;/li&gt;&lt;li&gt;IcuTest GUI unit testing for WPF&lt;/li&gt;&lt;li&gt;iMacros&lt;/li&gt;&lt;li&gt;Network Automation&lt;/li&gt;&lt;li&gt;Phantom Automation Language Microsoft  Windows GUI Testing&lt;/li&gt;&lt;li&gt;QF-Test by Quality First Software, for Java/Swing,  Eclipse/SWT and HTML only&lt;/li&gt;&lt;li&gt;Ranorex&lt;/li&gt;&lt;li&gt;RIATest for Flex&lt;/li&gt;&lt;li&gt;SilkTest by  Micro Focus International (formerly by Segue Software then Borland)&lt;/li&gt;&lt;li&gt;Soatest  (absorbed WebKing starting in version 6.0) by Parasoft&lt;/li&gt;&lt;li&gt;Test Automation FX  Windows UI testing with Visual Studio&lt;/li&gt;&lt;li&gt;TestComplete by SmartBear  Software&lt;/li&gt;&lt;li&gt;TestPartner by Micro Focus&lt;/li&gt;&lt;li&gt;WinRunner by Hewlett-Packard  (formerly by Mercury Interactive)&lt;/li&gt;&lt;li&gt;WindowTester by Instantiations for  testing Swing, SWT, and Eclipse/RCP based applications&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-8176949655039690788?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/8176949655039690788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=8176949655039690788&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8176949655039690788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/8176949655039690788'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/test-automation-tools-in-market.html' title='Test Automation tools in the market!!'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TP0bPYnvi5I/AAAAAAAAAV0/E1v1xuWAPUM/s72-c/Testing_Blog.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-965900499673952002</id><published>2010-12-05T15:27:00.001+05:30</published><updated>2010-12-05T15:28:30.057+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Selenium RC - User Extension.JS - Bharath</title><content type='html'>As a Selenium programmer you may require to create new methods or functions that&amp;nbsp;doesn't exist.&lt;br /&gt;One of the best method is by using UserExtension.js. In future posts I will explain about extending the existing selenium class.&lt;br /&gt;&lt;br /&gt;Add following libraries to your project, attaching the snap shot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_uNC0KGkaYfA/TPeFHvD6RpI/AAAAAAAADmY/EulSqZalook/s1600/Selenium+RC+libraries.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_uNC0KGkaYfA/TPeFHvD6RpI/AAAAAAAADmY/EulSqZalook/s1600/Selenium+RC+libraries.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Create new java class using following code. This example is created on google.com, so that any one can&amp;nbsp;execute the code with out any issues.&lt;br /&gt;&lt;br /&gt;What is this program about ?&lt;br /&gt;1. Created new Method "MyClick".&lt;br /&gt;2. Two new functions to calculate page response time (timerStart, timerStop).&lt;br /&gt;3. Open the google page, search for an item and&amp;nbsp;display&amp;nbsp;page response time in&amp;nbsp;Milli seconds for the results page.&lt;br /&gt;Initially I had lot of issues while working with user-extensions, I want to bring clarity to my users by providing this example. There are differences between IDE and RC extensions, read my &lt;a href="http://bharath-marrivada.blogspot.com/2010/12/selenium-timer-extension.html"&gt;timer extension post&lt;/a&gt; for better understanding.&lt;br /&gt;&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;package package1;&lt;br /&gt;&lt;br /&gt;import static org.testng.AssertJUnit.*;&lt;br /&gt;import org.testng.annotations.*;&lt;br /&gt;import com.thoughtworks.selenium.*;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class Sample2&lt;br /&gt;{&lt;br /&gt;  private static final String Timeout = "30000";&lt;br /&gt;  private static final String BASE_URL = "http://google.com/";&lt;br /&gt;  private static final String BASE_URL_1 = "/";&lt;br /&gt;  private Selenium selenium;&lt;br /&gt;  private HttpCommandProcessor proc;&lt;br /&gt;  &lt;br /&gt;  @BeforeClass&lt;br /&gt;  protected void setUp()throws Exception&lt;br /&gt;   {&lt;br /&gt;     proc = new HttpCommandProcessor("localhost", 4444,&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;"*iexplore", BASE_URL);&lt;br /&gt;     selenium = new DefaultSelenium(proc);     &lt;br /&gt;     selenium.start();&lt;br /&gt;     selenium.windowFocus();&lt;br /&gt;     selenium.windowMaximize();&lt;br /&gt;     selenium.windowFocus();&lt;br /&gt;   }&lt;br /&gt;    &lt;br /&gt;  @AfterClass(alwaysRun=true)&lt;br /&gt;  protected void tearDown() throws Exception&lt;br /&gt;   {&lt;br /&gt;     selenium.stop();&lt;br /&gt;   }&lt;br /&gt;    &lt;br /&gt;  @Test(groups="search")&lt;br /&gt;  public void test_GoogleSearch() throws Exception&lt;br /&gt;   {&lt;br /&gt;    selenium.open(BASE_URL_1);&lt;br /&gt;    selenium.type("name=q", "selenium HQ");&lt;br /&gt;    System.out.println(proc.doCommand("getTimerStart",&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;new String[] {"GooglePage"}));&lt;br /&gt;    //selenium.click("btnG"); //selenium command &lt;br /&gt;    proc.doCommand("myClick",new String[] {"btnG"});&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;    //user extension for Click ()&lt;br /&gt;    selenium.waitForPageToLoad(Timeout);&lt;br /&gt;    System.out.println (proc.doCommand("getTimerStop",&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;new String[] {"GooglePage"}));&lt;br /&gt;    Thread.sleep(5000); //Show the page for few seconds &lt;br /&gt;   }&lt;br /&gt;  @Test(groups="search")&lt;br /&gt;  public void test_GoogleSearch1() throws Exception&lt;br /&gt;   {&lt;br /&gt;    selenium.open(BASE_URL_1);&lt;br /&gt;    selenium.type("name=q", "Bharath Marrivada");&lt;br /&gt;    System.out.println(proc.doCommand("getTimerStart",&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;new String[]{"GooglePage"}));&lt;br /&gt;    //selenium.click("btnG"); //selenium command&lt;br /&gt;    proc.doCommand("myClick",new String[] {"btnG"});&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;    //user extension for Click ()&lt;br /&gt;    selenium.waitForPageToLoad(Timeout);&lt;br /&gt;    System.out.println (proc.doCommand("getTimerStop",&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;new String[] {"GooglePage"}));&lt;br /&gt;    Thread.sleep(5000); //Show the page for few seconds &lt;br /&gt;   }    &lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;UserExtension.js&lt;br /&gt;&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;br /&gt;Selenium.prototype.doMyClick = function(inputParams) &lt;br /&gt;{&lt;br /&gt; var element = this.page().findElement(inputParams);&lt;br /&gt; this.page().clickElement(element);&lt;br /&gt; return null;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;var globalTime = new Object();&lt;br /&gt;Selenium.prototype.getTimerStart = function(target) {&lt;br /&gt; var dt1 = new Date();&lt;br /&gt; if (target == null || target == "")&lt;br /&gt; {&lt;br /&gt;  return  ("Target not present so timer was not started");&lt;br /&gt; } else {&lt;br /&gt;  globalTime[target] = dt1;&lt;br /&gt;  return null;&lt;br /&gt; }&lt;br /&gt; delete dt1;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Selenium.prototype.getTimerStop = function(target) {&lt;br /&gt; var dt = new Date();&lt;br /&gt; if (target == null || target == "")&lt;br /&gt; {&lt;br /&gt;  return  ("Please specify a target");&lt;br /&gt; } else if (globalTime [target] == null) {&lt;br /&gt;   alert("called");&lt;br /&gt;  return  ("Start time was not called for " + target);&lt;br /&gt; } else {&lt;br /&gt;   return  ("Time Passed for " + target + ":" + Math.floor&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt; (dt - globalTime[target]) + " msec");&lt;br /&gt;   delete globalTime[target]; &lt;br /&gt;  }&lt;br /&gt; delete dt;&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;Note: Make sure you create the .js file in the selenium.jar folder.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: orange;"&gt;To execute&amp;nbsp;JavaScript functions from .js file, need to use &amp;nbsp;http command processor "proc.doCommand".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: orange;"&gt;If the function is not&amp;nbsp;returning any value start the function name with "do", else use "get".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: orange;"&gt;Function names are case sensitive, always start with lower case. For "do" function, remove "do" while calling the function from&amp;nbsp;Java.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To start the selenium server use following command.&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;br /&gt;java -jar selenium-server.jar -userExtensions user-extensions.js&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;To start the Selenium server quickly, every time instead of going into command prompt, I use following text saved as .vbs file.&amp;nbsp;Double click the file, your selenium server will be up and running.&amp;nbsp;(Modify the folder path)&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;br /&gt;Dim oShell&lt;br /&gt;Set oShell = WScript.CreateObject ("WScript.Shell")&lt;br /&gt;oShell.run "cmd /K CD C:\selenium-remote-control-1.0.3\&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;selenium-server-1.0.3 &amp;amp; java -jar selenium-server.jar&lt;/code&gt;&lt;/pre&gt;&lt;pre class="source-code"&gt;&lt;code&gt;-userExtensions user-extensions.js"&lt;br /&gt;Set oShell = Nothing&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp; &lt;a href="http://bharath-marrivada.blogspot.com/2010/12/seleniumrc-userextensionjs.html"&gt;All about QTP, LOADRUNER, NeoLoad, Performance&amp;amp;Security Testing, VB Script, Selenium...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-965900499673952002?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/965900499673952002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=965900499673952002&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/965900499673952002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/965900499673952002'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/selenium-rc-user-extensionjs-bharath.html' title='Selenium RC - User Extension.JS - Bharath'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_uNC0KGkaYfA/TPeFHvD6RpI/AAAAAAAADmY/EulSqZalook/s72-c/Selenium+RC+libraries.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3353870342693013885</id><published>2010-12-03T22:24:00.001+05:30</published><updated>2010-12-03T22:26:31.764+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skillset'/><title type='text'>Skillset - SDET for web application</title><content type='html'>&lt;h1&gt;&lt;/h1&gt;&lt;div class="small"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s1600/skillset-logo-01a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s200/skillset-logo-01a.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here is what a company in seattle is looking for in a Automation engineer as a SDET (Software Design Engineer in Test )&amp;nbsp; &lt;/div&gt;We're  looking for an experienced engineer who&lt;span style="color: red;"&gt; loves test automation &lt;/span&gt;- writing real  code to test large-scale web systems. You'll join a talented, experienced, fun  software team, automating complex and highly-scalable online systems. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: red;"&gt;5+ years&lt;/span&gt; of professional experience as a software engineer (either in  development or in test) on commercial-grade software in &lt;span style="color: red;"&gt;Java, Perl, and/or C++&lt;/span&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;you need the &lt;span style="color: red;"&gt;basics on test strategy&lt;/span&gt; and  approach &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nice to have: web test and/or development experience - &lt;span style="color: red;"&gt;Selenium, Watir&lt;/span&gt;, etc.  coding really valuable &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nice to have:&lt;span style="color: red;"&gt; SQL testing&lt;/span&gt; and/or &lt;span style="color: red;"&gt;development experience&lt;/span&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nice to have: &lt;span style="color: red;"&gt;CS degree&lt;/span&gt; or equivalent &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Great team member, plays well with others, etc. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;We're  definitely looking for &lt;span style="color: red;"&gt;real development experience!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3353870342693013885?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3353870342693013885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3353870342693013885&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3353870342693013885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3353870342693013885'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/skillset-sdet-for-web-application.html' title='Skillset - SDET for web application'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TNw9Vx2mo_I/AAAAAAAAAUQ/NQhJHu2V8tk/s72-c/skillset-logo-01a.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2085523689212466713</id><published>2010-12-02T22:30:00.000+05:30</published><updated>2010-12-02T22:30:53.805+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>RefCardz - Do you want to learn faster?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TPfP8xFbLII/AAAAAAAAAVQ/Q_fXe4ODaWE/s1600/testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TPfP8xFbLII/AAAAAAAAAVQ/Q_fXe4ODaWE/s320/testing.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;RefCardz are one of the best ways to learn a process, technology or a tool and &lt;span class="submitted"&gt;James has submitted an interesting collection of the top 5 &lt;/span&gt;RefCardz for Testing. These are definite downloads and must haves if you are using any of them:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Selenium 2.0: Using the WebDriver API to Create Robust User Acceptance Tests&lt;/li&gt;&lt;li&gt;PHPUnit: PHP Test-Driven Development - Automated Tools to Improve Your PHP Code Quality&lt;/li&gt;&lt;li&gt;JUnit and EasyMock&amp;nbsp;&lt;/li&gt;&lt;li&gt;Getting Started with Fitnesse &lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Getting Started with Firebug 1.5&lt;/li&gt;&lt;/ol&gt;To download these refcardz follow the link below:&lt;br /&gt;&lt;a href="http://java.dzone.com/articles/five-great-refcardz-testing?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29"&gt;Five Great Refcardz For Software Testing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2085523689212466713?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2085523689212466713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2085523689212466713&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2085523689212466713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2085523689212466713'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/refcardz-do-you-want-to-learn-faster.html' title='RefCardz - Do you want to learn faster?'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TPfP8xFbLII/AAAAAAAAAVQ/Q_fXe4ODaWE/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-1785835198840757113</id><published>2010-12-01T23:19:00.000+05:30</published><updated>2010-12-01T23:19:14.630+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Make your tests agile too: wiki - Trish Khoo</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TPaKdA457yI/AAAAAAAAAVM/ujze9fcRcz4/s1600/Running-Race.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TPaKdA457yI/AAAAAAAAAVM/ujze9fcRcz4/s320/Running-Race.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This is a story about my experience in using a wiki to manage test cases.&lt;br /&gt;&lt;br /&gt;Over the past few years, I have been evaluating different test case management &lt;a href="http://ubertest.hogfish.net/?p=50"&gt;approaches &lt;/a&gt;and &lt;a href="http://ubertest.hogfish.net/?p=84"&gt;tools&lt;/a&gt;. At first I was looking for a one-fits-all solution, but it quickly became apparent that such a dream was impossible to achieve. At &lt;a href="http://campaignmonitor.com/"&gt;Campaign Monitor&lt;/a&gt;, we are constantly adapting and improving our test approach to fit each release cycle. So I started focusing on finding a tool that supports our current test approach, but is flexible enough to adapt when the test approach changes to suit a new context.&lt;br /&gt;I have found that the way in which many test tools are designed can force the testers into taking a certain test approach. A wiki is somewhat like a series of blank canvases all linked together, so it seems like a very flexible solution. In practice, this proved to be the case, but was flexibility enough?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;We had more freedom in our test cases&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We began with a repository of regression test cases in &lt;a href="http://www.teamst.org/"&gt;TestLink &lt;/a&gt;and a suite of 1000+ automated GUI tests that ran every night. When we decided to try out &lt;a href="http://fitnesse.org/"&gt;FitNesse&lt;/a&gt;, we stopped adding new test cases to TestLink and added them to a wiki page in FitNesse instead.&lt;br /&gt;The format of our test cases changed as well. TestLink’s interface encourages the user to enter test cases in the format of “Title” “Steps” and “Expected results”. With a blank wiki page, we could write tests in whatever format we desired. So we used Given-When-Then, which is a very concise and easy-to-read format. For example:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;As a paying customer&lt;br /&gt;Given that I have added an item to my shopping cart&lt;br /&gt;When I choose to checkout&lt;br /&gt;Then I should be shown a summary of my order&lt;br /&gt;And I should be prompted to pay for my purchase&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;One thing I like about this format is that it gives the tester a lot of freedom in the way they can run the test. In the example above, it doesn’t specify *how* the paying customer adds items to the cart, or even in what way they are prompted to pay for their purchase. Given the flexible nature of feature requirements on our projects, this suits us very well. In addition, it increases the likelihood that different testers will run the test in entirely different ways.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Everyone was on the same page&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This was the first experience I had ever had where developers not only read the test cases without needing to be coaxed into it, but also edited and added to the scenarios. This was probably due to the easy-to-edit nature of the wiki, the easy-to-understand format of the test cases and our good relationship with our developers.&lt;br /&gt;The first time we tried this approach, we wrote a page of test cases that were relevant to a particular developer’s assigned feature. We added a series of questions that we had about the feature to the same wiki page. Then we sent the URL for that page to the developer. The developer read the test cases, answered the questions and added a few more test cases of his own. We had some follow-up questions to some of his responses, so we went to his office to discuss them in person. While discussing, we were able to quickly update the test cases in the wiki page from his computer, and add additional notes that we could expand into new test cases later on.&lt;br /&gt;&lt;br /&gt;In a later release, a different developer had not seen the Given-When-Then format before and was initially confused. I went to his office to explain it, and after about 30 seconds of explanation he easily figured it out. So we went through the test cases together, and he modified them and added new ones as we discussed them. Many of the test cases were based on assumptions and he was able to quickly validate them and correct them as necessary.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using a wiki for test plans had unexpected benefits&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I used to write detailed, 20 page test plan documents that nobody ever wanted to read. After realising this was a pointless exercise, these test plans were eventually whittled down to two-paragraph summaries on the company intranet noticeboard. When we started using FitNesse to store test cases, we needed a central document to tell us which tests we would be using for each release, and where they were located. So creating a test plan document in the wiki to hold this information seemed like a sensible thing to do. As it was easily editable, it encouraged me to update it with important information as the release progressed.&lt;br /&gt;The test plans became a guide to the testers for what was testable, what work we had done and what work was remaining. We added a list of high-risk feature areas to the plan and it became a central battle plan for regression testing. The latest version is easily shared with the team just by sending the URL.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Scalability could be an issue&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We made a manual test fixture to mark manually run test cases as passed or failed. However, each of these results has to be individually reset so it wasn’t really a scalable solution. It’s worked okay so far due to the small amount of tests and the fact that we only use a subset of the tests for regression, but I expect that it could become a problem as more tests accumulate.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Automation integration was surprisingly disadvantageous&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;FitNesse is designed to be hooked into an automation tool, such as Selenium. The idea is that tests written in decision tables or even written in sentence form can be run as automated tests. At first it’s a bit tough to get your head around the concept that plain text written in a wiki can magically turn into an automated test. Basically what’s happening is that the automation is using keywords from the wiki text as method names and parameters in the code behind. So the wiki text is like a series of commands and data inputs that is fed into the automated test code. For more information, check out FitNesse’s&amp;nbsp;&lt;a href="http://fitnesse.org/FitNesse.UserGuide.TwoMinuteExample"&gt;two minute example&lt;/a&gt;.&lt;br /&gt;We tried using it with Selenium and ran into a few issues. First of all, it was a real pain to set up. This was mostly due to lack of clear information about how to set up FitNesse and Selenium with a C# codebase. Second of all, writing tests to suit the FitNesse model turned out to be pretty time consuming. We did get tests working in the end, but I don’t think it suited our style of testing very well. But at least now we have the capability of running automated tests this way, and we can use that if we ever find a situation where it could be an advantage.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;More plus than minus&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Overall I’ve been pretty happy with this wiki experience and I’m going to stick with it and keep evaluating. Our current plan is to take test cases out of the wiki and add them to the our automated test suite, which runs nightly (independent of FitNesse). For now, I think this may suit us better than running tests from FitNesse itself. This may help address the scalability issues too.&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://trishkhoo.com/?p=243"&gt;Purple Box Testing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-1785835198840757113?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/1785835198840757113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=1785835198840757113&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1785835198840757113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/1785835198840757113'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/12/make-your-tests-agile-too-wiki-trish.html' title='Make your tests agile too: wiki - Trish Khoo'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TPaKdA457yI/AAAAAAAAAVM/ujze9fcRcz4/s72-c/Running-Race.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2639328007764541474</id><published>2010-11-30T22:24:00.000+05:30</published><updated>2010-11-30T22:24:51.194+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News -  Nov 30th</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TPUsDS2M4rI/AAAAAAAAAVI/CxKHEHvXXnc/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TPUsDS2M4rI/AAAAAAAAAVI/CxKHEHvXXnc/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GUIdancer test tool to become Eclipse project and Open source : Long-time &lt;a href="http://www.eclipse.org/membership/showMember.php?member_id=866" rel="external" target="_blank"&gt;Eclipse member&lt;/a&gt; &lt;a href="http://www.bredex.de/en/home/first.html" rel="external" target="_blank"&gt;Bredex&lt;/a&gt; plans to release core components of its &lt;a href="http://www.bredex.de/en/guidancer/first.html" rel="external" target="_blank"&gt;GUIdancer&lt;/a&gt; test automation tool as an open source project hosted by the Eclipse Foundation. Source: &lt;a href="http://long-time%20eclipse%20member%20bredex%20plans%20to%20release%20core%20components%20of%20its%20guidancer%20test%20automation%20tool%20as%20an%20open%20source%20project%20hosted%20by%20the%20eclipse%20foundation./"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="intelliTxt"&gt;Microsoft is adding private beta group support to the &lt;a href="http://www.slashgear.com/tags/windows-phone-7" target="_blank"&gt;Windows Phone 7&lt;/a&gt; Marketplace, allowing developers to do limited testing of their applications before submitting for full app store inclusion.Source : &lt;a href="http://www.slashgear.com/windows-phone-7-private-beta-group-app-testing-coming-to-marketplace-29116670/"&gt;News&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Verdana; font-size: x-small;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Times New Roman; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;National Institute of Standards and Technology (NIST) researchers recently released a new and improved bug catching system designed to more efficiently find software glitches during the development process. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Verdana; font-size: x-small;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Times New Roman; font-size: 12pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;NIST reported in 2002 that software bugs cost the economy nearly $60 billion even though 50 percent of software development budgets are devoted to testing. Testing every possible variable is not practical. A system with 34 on and off switches, for example, would require 17 billion tests. Source: &lt;a href="http://www.afcea.org/signal/articles/templates/Signal_Article_Template.asp?articleid=2473&amp;amp;zoneid=303"&gt;News&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2639328007764541474?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2639328007764541474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2639328007764541474&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2639328007764541474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2639328007764541474'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/testing-news-nov-30th.html' title='Testing News -  Nov 30th'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TPUsDS2M4rI/AAAAAAAAAVI/CxKHEHvXXnc/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-4703766287399619491</id><published>2010-11-29T22:42:00.000+05:30</published><updated>2010-11-29T22:42:06.176+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Generic'/><title type='text'>Software Testing! good one - Jagan</title><content type='html'>&lt;div&gt;  &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_R9uMCbaneVg/TPPeyLBT5qI/AAAAAAAAAVA/v4YsToo-jx4/s1600/Testing+Blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_R9uMCbaneVg/TPPeyLBT5qI/AAAAAAAAAVA/v4YsToo-jx4/s320/Testing+Blog.jpg" width="251" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Software Testing - A good read….not intended against any group as such, but still entertaining ... read on ...&lt;/span&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;A university scholar, Mr. John Smith approaches his friend a software-testing guru telling him that he has a Bachelor in programming, and now would like to learn the software testing to complete his knowledge and to find a job as a software tester. After summing him up for a few minutes, the software-testing guru told him "I seriously doubt that you are ready to study software testing. It's the serious topic. If you wish however I am willing to examine you in logic, and if you pass the test I will help teach you software testing. "&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;The young man agrees.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Software testing guru holds up two fingers "Two men come down a chimney. One comes with a clean face and the other comes out with a dirty face. Which one washes his face?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;The young man stares at the software-testing guru. "Is that a test in Logic?" software testing guru nods.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"The one with the dirty face washes his face," He answers wearily.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Wrong. The one with the clean face washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. So; the one with the clean face washes his face."&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Very clever" Says Smith.&amp;nbsp; "Give me another test"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;The software-testing guru again holds up two fingers "Two men come down a chimney.One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"We have already established that. The one with the clean face washes his face"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Wrong. Each one washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. So; the one with the clean face washes his face. When the one with the dirty face sees the one with the clean face washing his face, he also washes his face. So each one washes his face"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"I didn't think of that!" Says Smith. " It's shocking to me that I could make an error in logic. Test me again!."&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;The software-testing guru holds up two fingers "Two men come down a chimney.One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Each one washes his face"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Wrong. Neither one washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. But when the one with clean face sees that the one with the dirty face doesn't wash his face, he also doesn't wash his face So neither one washes his face".&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Smith is desperate. "I am qualified to study software testing. Please give me one more test"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;He groans when the software-testing guru lifts his two fingers, "Two men come down a chimney. One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Neither one washes his face"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;  &lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;"Wrong. Do you now see, John, why programming knowledge is an insufficient basis for studying the software testing? Tell me, how is it possible for two men to come down the same chimney, and for one to come out with a clean face and the other with a dirty face? Don’t you see?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Source:&amp;nbsp;&lt;a href="http://jagseyes.blogspot.com/2010/11/software-testing-good-one.html"&gt;Jagan's Eyes "What I See"&lt;/a&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-4703766287399619491?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/4703766287399619491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=4703766287399619491&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4703766287399619491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/4703766287399619491'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/software-testing-good-one-jagan.html' title='Software Testing! good one - Jagan'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_R9uMCbaneVg/TPPeyLBT5qI/AAAAAAAAAVA/v4YsToo-jx4/s72-c/Testing+Blog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2283137375704400171</id><published>2010-11-29T00:44:00.000+05:30</published><updated>2010-11-29T00:44:11.858+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Automation maturity - what should a Test Manager focus on? - AnitaG</title><content type='html'>&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TPKp9E5T8lI/AAAAAAAAAU8/ERblwxzlLyw/s1600/images.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TPKp9E5T8lI/AAAAAAAAAU8/ERblwxzlLyw/s1600/images.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Automation is frequently a passionate debate, usually around how much and whether it is effective.&amp;nbsp; But&amp;nbsp; are test managers prepared for the effects of automation as it grows?&amp;nbsp; Instead of focusing on whether or not to automate or by how much, let's focus on what having automation on a test team means for the manager, assuming the team has already decided the correct balance of what needs automated and what doesn't (and in what priority).&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;span style="font-weight: bold;"&gt;The infancy of automation:&lt;/span&gt; Initially, a team may say they have automation.&amp;nbsp; I've learned that when I drill down on this, they don't necessarily have test cases automated, but instead they only wrote tools to help with parts of the testing process, like installation/setup/deployment tools or tools for emulating inputs due to a dependency on an unreliable source.&amp;nbsp; There is a difference between writing tools and writing automation (although that can become a blurred line when describing a test harness or execution engine).&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;span style="font-weight: bold;"&gt;Establishing the automation report:&lt;/span&gt;&amp;nbsp; As teams get better at automation and their automation grows, managers can benefit by pulling reports from the automation.&amp;nbsp; This is an extremely necessary result of having automation and one that a manager should focus on.&amp;nbsp; At times, I have started generating the reports before the automation is written just to help the team focus on what needs done.&amp;nbsp; This could be as simple as listing the builds, BVT pass rate, and % of BVTs that are automated.&amp;nbsp; One can argue that BVTs should always pass 100%, but let's save that discussion for another time.&amp;nbsp; As the team completes automation for BVTs (Build Verification Tests), I start reporting on functional automation reporting and code coverage numbers.&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;span style="font-weight: bold;"&gt;A significant location change:&lt;/span&gt;&amp;nbsp; As the team continues to write automation, the process of them running their growing suite of automation on their office machines starts becoming a bottleneck.&amp;nbsp; It is key that the Test Manager thinks ahead and plans for this with the beginnings of an automation lab.&amp;nbsp; Continuing to run automation in testers' offices takes up machine time and limits the amount of coverage that could be achieved.&amp;nbsp; Using a lab will allow for running your automation on different software and hardware environments to catch those bugs that couldn't be caught by just running on the same machine day-after-day in a tester's office.&amp;nbsp; The automation lab also makes reproducible results an achievable goal because every day the test automation can run on the same group of machines.&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;span style="font-weight: bold;"&gt;The overgrown automation suite:&lt;/span&gt;&amp;nbsp; When I have a team that is mature in their processes around writing automation, there are a few different issues that need focus or the automation efficiency starts to suffer.&amp;nbsp; The two biggest problems I have seen is legacy test automation and analysis paralysis.&amp;nbsp; &lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in 0in 0in 0.375in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in 0in 0in 0.375in;"&gt;&lt;span style="font-weight: bold;"&gt;Legacy automation&lt;/span&gt; is automation code that was written years ago by someone probably not on the team anymore.&amp;nbsp; It tests key features in the product, or at least that's what every thinks.&amp;nbsp; The team is usually afraid to change or affect this automation in any way because of concerns that coverage will diminish.&amp;nbsp; But the automation may also make running the whole suite very long.&amp;nbsp; If lucky, it will always pass because investigate a failure may become difficult if nobody on the team knows the code very well.&amp;nbsp; Also, if it always passes, it is questionable if the automation is truly still testing things correctly.&amp;nbsp; Is it cost effective to investigate this automation, verify it's correctness, and modernize it to the current technologies?&amp;nbsp; That depends on many factors within the team.&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in 0in 0in 0.375in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in 0in 0in 0.375in;"&gt;&lt;span style="font-weight: bold;"&gt;Analysis paralysis&lt;/span&gt; is when too much automation is run on too many machines too frequently.&amp;nbsp; Is that really possible?&amp;nbsp; Yes it is.&amp;nbsp; When that happens and the results come back as anything less than 100% passing (which is always the case), the test team will have to focus on why the automation failed and if it was a bug in the automation code or the product code.&amp;nbsp; Of course that's what they would do.&amp;nbsp; That's part of the expectations when having automation.&amp;nbsp; The key point here is that too much of a good thing can overload the test team to the point that they are blocked from doing anything else because all their time is spent investigating automation failures.&amp;nbsp; But if they don't investigate the failures to understand why the automation results aren't at 100%, is that ok?&amp;nbsp; If your automation passes at less than 100% or bounces around a lot, is it still beneficial to run it?&amp;nbsp; Are you missing key bugs?&amp;nbsp; Those are the questions I ask when in situations like this.&amp;nbsp; I have lots of opinions about this that I will save for later blogs.&lt;/div&gt;&lt;div mce_keep="true" style="font-family: Calibri; font-size: 11pt; margin: 0in 0in 0in 0.375in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;I have experienced teams in these different levels of automation development.&amp;nbsp; I've managed teams with no automation, I've managed teams with too much automation, I've managed teams that only ran automation labs and produced results daily.&amp;nbsp; There's not one solution that works.&amp;nbsp; But as a manager, I found that staying aware of how much automation my team has and watching closely if the automation is a benefit or a burden is key to allowing the automation to be effective in improving product quality.&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; font-size: 11pt; margin: 0in;"&gt;Source:&amp;nbsp;&lt;a href="http://blogs.msdn.com/b/anitag/archive/2009/03/29/automation-maturity-what-should-a-test-manager-focus-on.aspx#10096391"&gt;The Colorful and Gray World of Engineering Management&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-2283137375704400171?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/2283137375704400171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=2283137375704400171&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2283137375704400171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/2283137375704400171'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/automation-maturity-what-should-test.html' title='Automation maturity - what should a Test Manager focus on? - AnitaG'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TPKp9E5T8lI/AAAAAAAAAU8/ERblwxzlLyw/s72-c/images.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-3089001431321787925</id><published>2010-11-25T22:41:00.000+05:30</published><updated>2010-11-25T22:41:42.409+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing News'/><title type='text'>Testing News - 25th Nov</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_R9uMCbaneVg/TO6Yq0Mp6aI/AAAAAAAAAUk/mjeoql0qQiw/s1600/newspaper.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_R9uMCbaneVg/TO6Yq0Mp6aI/AAAAAAAAAUk/mjeoql0qQiw/s320/newspaper.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Growing Demand for Software Testing in the Banking &amp;amp; Finance, Insurance Industries in Indonesia: Maveric Systems Survey Source: &lt;a href="http://www.americanchronicle.com/articles/yb/152238024"&gt;News&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span id="advenueINTEXT" name="advenueINTEXT"&gt;AppLabs, city-based software testing and quality management company, today announced that it has partnered with TurnKey Solutions, provider of testing solutions for ERP, CRM, and custom software application environments. &lt;/span&gt;&lt;span id="advenueINTEXT" name="advenueINTEXT"&gt;The partnership will strengthen AppLabs' strong ERP Testing (SAP, Oracle , Siebel , and PeopleSoft) Source : &lt;a href="http://economictimes.indiatimes.com/tech/software/AppLabs-inks-deal-with-TurnKey-Solutions/articleshow/6982249.cms"&gt;News&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The independent TMMi testing methodology, which is an alternative to Capgemini Sogeti's Test Process Improvement (TPI) methodology, will have its level 5, known as optimisation, completed next week. - Source: &lt;a href="http://www.computerweekly.com/Articles/2010/11/23/244086/Independent-software-testing-standard-complete-next.htm"&gt;News&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The five levels of TMMi are:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Initial&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Managed&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Defined&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Measured&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Optimisation&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Brian Osman, Knowledge Engineer at Software Education, has become the first person in Australasia to gain the full suite of International Software Testing Qualifications Board (ISTQB) advanced certifications.- Source: &lt;a href="http://www.prwire.com.au/pr/21173/local-tester-achieves-istqb-ctal-tta-certification-first"&gt;News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-3089001431321787925?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/3089001431321787925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=3089001431321787925&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3089001431321787925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/3089001431321787925'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/testing-news-25th-nov.html' title='Testing News - 25th Nov'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_R9uMCbaneVg/TO6Yq0Mp6aI/AAAAAAAAAUk/mjeoql0qQiw/s72-c/newspaper.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-5113317403422650063</id><published>2010-11-23T22:17:00.001+05:30</published><updated>2010-11-23T22:18:21.577+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Other OpenSource Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>XML DOM and Xpath Snippets - Asiq</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/TOvwAfol8JI/AAAAAAAAAUg/Y2kFrBkRa5w/s1600/Testing+Blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_R9uMCbaneVg/TOvwAfol8JI/AAAAAAAAAUg/Y2kFrBkRa5w/s320/Testing+Blog.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;In this article I am going to explain about the XML DOM methods and Xpath queries.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 85%;"&gt;The Example XML Document Used For This Article&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="41" rows="7" style="height: 125px; width: 366px;"&gt;&amp;lt;employees&amp;gt;&amp;lt;employee id="'001'"&amp;gt;&amp;lt;name gender="'M'"&amp;gt;John&amp;lt;/name&amp;gt;&amp;lt;/employee&amp;gt;&amp;lt;employee id="'002'"&amp;gt;&amp;lt;name gender="'M'"&amp;gt;Peter&amp;lt;/name&amp;gt;&amp;lt;/employee&amp;gt;&amp;lt;employee id="'003'"&amp;gt;&amp;lt;name gender="'M'"&amp;gt;Sam&amp;lt;/name&amp;gt;&amp;lt;/employee&amp;gt;&amp;lt;/employees&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 85%;"&gt;#1: Finding Elements by Attributes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;If you want to access the name of the employee two, write attribute filter condition in your xpath query.&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #333399; font-size: 85%;"&gt;/Employees/Employee[@id='002']&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #333399; font-size: 85%;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;Code:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;gStrOrPath="C:\ Test.xml"'Path of your XML&lt;br /&gt;&lt;b&gt;Set&lt;/b&gt; gObjXmlOR = CreateObject( "Microsoft.XMLDOM")&lt;br /&gt;gObjXmlOR.Async = "False"&lt;br /&gt;gObjXmlOR.Load(gStrOrPath)&lt;br /&gt;StrXQuery="/Employees/Employee[@id='002']" &lt;span style="color: #009900; font-size: 78%;"&gt;' Attribute filter condition in your Xpath query&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Msgbox&lt;/b&gt; gObjXmlOR.documentElement.selectSingleNode(StrXQuery).Text&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;The msgbox displays the child element’s text (I.e. Peter).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 85%;"&gt;#2: Finding Elements with Text&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;Here I have written Xpath query to find the employee Peter’s gender using his name.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000099; font-size: 85%;"&gt;&lt;b&gt;/Employees/Employee/name[.='Peter']&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #000099; font-size: 85%;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;Code:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;StrXQuery ="/Employees/Employee/name[.='Peter']"&lt;span style="color: #009900; font-size: 78%;"&gt; ' Text filter condition&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Msgbox&lt;/b&gt; gObjXmlOR.documentElement.selectSingleNode(StrXQuery). Attributes.getNamedItem("gender").Text&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;The msgbox displays Sam’s gender as in the XML.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 85%;"&gt;#3: Checking an Element has child or not&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;To find an element has child or not, then use XML Dom hasChildNodes method.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;As per the example XML document, I am finding the employee node has child or not.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;StrXQuery="/Employees/Employee[@id='002']&lt;br /&gt;&lt;b&gt;Msgbox&lt;/b&gt; gObjXmlOR.documentElement.selectSingleNode(StrXQuery).hasChildNodes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 85%;"&gt;#4: Checking Errors in XML&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;&lt;b&gt;Set&lt;/b&gt; gObjXmlOR = CreateObject("Microsoft.XMLDOM")&lt;br /&gt;gObjXmlOR.async = False&lt;br /&gt;gObjXmlOR.load("Test.xml")&lt;br /&gt;&lt;b&gt;If&lt;/b&gt; gObjXmlOR.parseError.errorCode &amp;lt;&amp;gt; 0 &lt;b&gt;Then&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &lt;span style="color: #993399;"&gt;&lt;b&gt;MsgBox&lt;/b&gt;&lt;/span&gt;("Parse Error line " &amp;amp; gObjXmlOR.parseError.line &amp;amp; ", character " &amp;amp; _&lt;br /&gt;&amp;nbsp; gObjXmlOR.parseError.linePos &amp;amp; vbCrLf &amp;amp; gObjXmlOR.parseError.srcText)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;&lt;b&gt;End If&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993399; font-size: 85%;"&gt;&lt;b&gt;&lt;span style="color: black;"&gt;Source:&amp;nbsp;&lt;a href="http://qtpcodes.blogspot.com/2010/02/xml-dom-and-xpath-snippets.html"&gt;XML DOM and Xpath Snippets - Asiq Ahamed&lt;/a&gt;&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-5113317403422650063?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/5113317403422650063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=5113317403422650063&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5113317403422650063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/5113317403422650063'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/xml-dom-and-xpath-snippets-asiq.html' title='XML DOM and Xpath Snippets - Asiq'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/TOvwAfol8JI/AAAAAAAAAUg/Y2kFrBkRa5w/s72-c/Testing+Blog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-7860290218168505672</id><published>2010-11-21T00:48:00.001+05:30</published><updated>2010-11-21T00:49:32.885+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Gyaan'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><title type='text'>Keyword driven framework architecture in QTP  -Bibek</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/SlTTxOSlI9I/AAAAAAAAALs/Oak6vuVZA-E/s1600/framework.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://2.bp.blogspot.com/_R9uMCbaneVg/SlTTxOSlI9I/AAAAAAAAALs/Oak6vuVZA-E/s320/framework.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Framework:&lt;/b&gt;A hypothetical description of a complex entity or process-&lt;i&gt;Word Web&lt;/i&gt;.&lt;br /&gt;Here, word hypothetical makes it clear that it’s based primarily on surmise rather than adequate evidence.There are no rules and standards on test framework development.It varies from organization to organization and from team to team.Project internal architecture provides a great source of information for organizing the components of our framework.Testing components needs to be well organized to accomplish the task effectively,efficiently and in a systematic order.&lt;br /&gt;We need to develop framework in a way that leads to accomplish the task without much human intervention.The heart of “Keyword driven test automation framework” is common functions that resides within the function library and the keyword acts as&amp;nbsp; it’s brain.Framework must be enough flexible to run with the desired keyword from the pool of available keywords.&lt;br /&gt;well,It’s been my passion to play with electronic chips since my childhood.I can even survive in desert if i get electronic scarps and a screwdriver &lt;img alt=";)" class="wp-smiley" src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif?m=1221114606g" /&gt; Hence,I decided to develop a flexible framework looking at the architecture of RADIO that have been rusted on my bedroom for years.&lt;br /&gt;The component used &amp;amp; it’s analogy with RADIO:&lt;br /&gt;QTP has it’s own limitation for loading resources;as it does not allow to load .QRS file in run time,here,it goes off the track from radio tuning mechanism.Once radio is turned on we tune to different stations and adjust it’s volume and rotate/pull up-down it’s antenna to have a clarity.&lt;br /&gt;Here we do just opposite, we first do the appropriate setting and proceed with further run.&lt;br /&gt;How keyword driven framework works:&lt;br /&gt;1.Plug in to environment.&lt;br /&gt;2.Do a little bit settings on test_environment setting file;eg,paths of resources,email configuration,project url,expected time etc.&lt;br /&gt;3.Search &amp;amp; Select appropriate generic keywords from keyword pool.&lt;br /&gt;4.Go&lt;br /&gt;Radio analogy:&lt;br /&gt;1.Plug in to switch board.&lt;br /&gt;2.Search for station&lt;br /&gt;3.Set the volume and adjust the antenna&lt;br /&gt;4.Turn on.&lt;br /&gt;(normally 4 comes before step 2)&lt;br /&gt;1.. 2 …3… Go……..! that’s it.&lt;br /&gt;Details of the Component Architecture are as follows: &lt;i&gt;&lt;b&gt;[Note:the architecture is based on my own assumption(analogy with RADIO),if you find it uncomfortable,kindly scold me &lt;img alt=":)" class="wp-smiley" src="http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1221114606g" /&gt;  with your invaluable suggestions]&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;a href="http://automationlab09.files.wordpress.com/2010/08/keyword-driven-framework-architecture-in-qtp.jpg"&gt;&lt;img alt="Keyword driven framework architecture in qtp" class="aligncenter size-full wp-image-265" height="270" src="http://automationlab09.files.wordpress.com/2010/08/keyword-driven-framework-architecture-in-qtp.jpg?w=570&amp;amp;h=386" title="Keyword driven framework architecture in qtp" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;1.Start.Exe: Starts the tool using AOM and pass the control to Driver.&lt;br /&gt;2.Application Scenarios: Test plan,test case and test steps.&lt;br /&gt;3.Test Object Description: Pool of test object properties and description.&lt;br /&gt;4.Resources: Repository files for application dependent functions.&lt;br /&gt;5:Mytest: Driver script resides.&lt;br /&gt;6: Session manager: manages the session of the test run &amp;amp; helps in recovery if run is unsuccessful due to some unforeseen events.&lt;br /&gt;7.Test Environment_Config settings: Test run settings. (application specific)&lt;br /&gt;8.Func Library: Common functions and application dependent functions separately.&lt;br /&gt;9:Recovery Files: .QRS or custom recovery functions.&lt;br /&gt;10:Run Results: Application run results.&lt;br /&gt;11:Help files: help files and framework documentations.&lt;br /&gt;Following are my tweets so far (on framework development):&lt;br /&gt;Automation framework rule #1:If it’s not simple, it won’t work! if it’s simple it’s fun to use.&lt;br /&gt;Automation Framework rule #2:Achieving 100% automatic tests is an unreachable goal,never dream it.&lt;br /&gt;Automation framework rule# 3:Make it easier to discover the errors that occur.&lt;br /&gt;Automation Framework Rule #4:Focus on stability;the more stable the design, the lower the maintenance cost.&lt;br /&gt;You must have realized as of now&amp;nbsp; that framework is just a wrapper around complex internal architecture to have&lt;br /&gt;a great drive with less interruption.Let turn on your radio coz you need not to know how it’s playing.Stakeholders&lt;br /&gt;should play with our flexible framework&amp;nbsp; just as we tune/play our radio.&lt;br /&gt;For more interesting stuff on QTP :&lt;br /&gt;&lt;br /&gt;Source:&amp;nbsp;&lt;a href="http://automationlab09.wordpress.com/2010/11/13/keyword-driven-framework-architecture-in-qtp/"&gt;QTP Lab:- A touch of madness!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7200173817191646600-7860290218168505672?l=go-gaga-over-testing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go-gaga-over-testing.blogspot.com/feeds/7860290218168505672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7200173817191646600&amp;postID=7860290218168505672&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7860290218168505672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7200173817191646600/posts/default/7860290218168505672'/><link rel='alternate' type='text/html' href='http://go-gaga-over-testing.blogspot.com/2010/11/keyword-driven-framework-architecture.html' title='Keyword driven framework architecture in QTP  -Bibek'/><author><name>Aditya Kalra</name><uri>http://www.blogger.com/profile/06923417477888464758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_R9uMCbaneVg/SlTTxOSlI9I/AAAAAAAAALs/Oak6vuVZA-E/s72-c/framework.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7200173817191646600.post-2629904893187915199</id><published>2010-11-18T16:34:00.001+05:30</published><updated>2010-11-18T16:36:27.575+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QC'/><title type='text'>Different ways to schedule tests from Quality Center</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_R9uMCbaneVg/SdO3pb2WRVI/AAAAAAAAAEc/_38WOi9zaPQ/s1600/search.jpg" imageanchor="1
