<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ck4AQ3w4cSp7ImA9WxBXFE4.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249</id><updated>2010-01-25T17:49:02.239+03:00</updated><title>Test Automation Blog TestSquad</title><subtitle type="html">The Test Automation Blog</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.testsquad.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.testsquad.org/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>عادل</name><email>adel.sh@gmail.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/testsquad/LUBG" /><feedburner:info uri="testsquad/lubg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;Ck8HRHs5fyp7ImA9WxNXF04.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-6884240789190306107</id><published>2009-10-05T11:17:00.002+03:00</published><updated>2009-10-05T11:20:35.527+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T11:20:35.527+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test automation tool comparision" /><title>Test Automation Wiki is Moved to Google Knol</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MsWL0C9YLDQJ6TsaWTKtRMZTLWc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MsWL0C9YLDQJ6TsaWTKtRMZTLWc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MsWL0C9YLDQJ6TsaWTKtRMZTLWc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MsWL0C9YLDQJ6TsaWTKtRMZTLWc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Due to vandalism by unknown users, I moved &lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt;Test Automation Tools Comparison&lt;/a&gt; Wiki To Google Knol, This will help us better control content.&lt;br /&gt;&lt;br /&gt;Sorry for inconvenience!&lt;br /&gt;&lt;br /&gt;Please &lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt;continue refining&lt;/a&gt; this resource. All you need is just a Google account!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-6884240789190306107?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/O8BdwucAO38" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/6884240789190306107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=6884240789190306107" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/6884240789190306107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/6884240789190306107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/O8BdwucAO38/test-automation-wiki-is-moved-to-google.html" title="Test Automation Wiki is Moved to Google Knol" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2009/10/test-automation-wiki-is-moved-to-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEGSXo9eyp7ImA9WxNXF04.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5524935064277943736</id><published>2009-07-15T11:14:00.007+03:00</published><updated>2009-10-05T11:17:08.463+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T11:17:08.463+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Proxy Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="control watir speed" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium Proxy" /><category scheme="http://www.blogger.com/atom/ns#" term="RFT vs Qtp" /><category scheme="http://www.blogger.com/atom/ns#" term="automation tools comparison" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium Vs Watir" /><category scheme="http://www.blogger.com/atom/ns#" term="automation tools compare" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir vs. Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>Test Automation Tools Comparison Wiki (Please Participate!)</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b34IjKABaEMzETYng3U3Qzw80OI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b34IjKABaEMzETYng3U3Qzw80OI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b34IjKABaEMzETYng3U3Qzw80OI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b34IjKABaEMzETYng3U3Qzw80OI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I created this &lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt;simple Wiki&lt;/a&gt; that tries to do comparison between various free and propriety automation tools. I added some basic criteria based on my experience.&lt;br /&gt;&lt;br /&gt;Everyone is invited to&lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt; &lt;/a&gt;&lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt;participate&lt;/a&gt; in expanding this comparison &lt;a href="http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view"&gt;wiki&lt;/a&gt;, Please add whatever you think of. Anybody can edit the document.&lt;br /&gt;&lt;br /&gt;Enjoy guys :)&lt;br /&gt;&lt;br /&gt;Wiki Link: &lt;a href="http://spreadsheets.google.com/pub?key=tWKHlKxj3s8_1zisIRIJBjg&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html"&gt;http://knol.google.com/k/adel-shehadeh/test-automation-tools-comparison-matrix/7xf9qf6a3rej/15?pli=1&amp;amp;safe=on#view&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-5524935064277943736?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/zuoF3a73r0A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5524935064277943736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5524935064277943736" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5524935064277943736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5524935064277943736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/zuoF3a73r0A/test-automation-comparison-wiki.html" title="Test Automation Tools Comparison Wiki (Please Participate!)" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://www.testsquad.org/2009/07/test-automation-comparison-wiki.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcMRXkzfyp7ImA9WxJVFUk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-8542017497329532422</id><published>2009-07-02T17:09:00.003+03:00</published><updated>2009-07-02T17:14:44.787+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-02T17:14:44.787+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DB2" /><category scheme="http://www.blogger.com/atom/ns#" term="RFT" /><category scheme="http://www.blogger.com/atom/ns#" term="IBM" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="RFT extension" /><category scheme="http://www.blogger.com/atom/ns#" term="Rational Functional Tester" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>How to connect RFT script to iSeries DB2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SS_nEnPzOjLaQkiObDpa9kB7xZ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SS_nEnPzOjLaQkiObDpa9kB7xZ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SS_nEnPzOjLaQkiObDpa9kB7xZ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SS_nEnPzOjLaQkiObDpa9kB7xZ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Occasionally, we need to retrieve DB2 data from within our automated script. This is necessary for the parameterization of our automated tests and it will make them data independent. For example, sometimes you need to verify the existence of a created record in the DB and you want to verify that automatically in your scripts. To do that we need a third party to connect RFT to the system DB. This third party is the iSeries ODBC driver. Here are the steps for configuring the iSeries ODBC driver:&lt;br /&gt;&lt;br /&gt;1.Install the iSeries Navigator with its DB components. Your Admin can do that.&lt;br /&gt;2.In windows, go to Control Panel-&gt;Administrative Tools-&gt;Data Source (ODBC)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzATH57wdI/AAAAAAAAIao/kH_wekvQdEY/s1600-h/iseries-DB2-RFT1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 332px;" src="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzATH57wdI/AAAAAAAAIao/kH_wekvQdEY/s400/iseries-DB2-RFT1.png" alt="" id="BLOGGER_PHOTO_ID_5353865491808764370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3.Click Add&lt;br /&gt;4.Select  iSeries Access ODBC Driver. Then click Finish.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qlVstISgx9Q/SkzATjssjNI/AAAAAAAAIaw/QW4XUqZcKx8/s1600-h/iseries-DB2-RFT2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/SkzATjssjNI/AAAAAAAAIaw/QW4XUqZcKx8/s400/iseries-DB2-RFT2.png" alt="" id="BLOGGER_PHOTO_ID_5353865499269434578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5.In the General Tab, in  Data Source Name field type an arbitrary DB Name of your choice&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qlVstISgx9Q/SkzAUL9BRYI/AAAAAAAAIa4/deKoi-pbMHo/s1600-h/iseries-DB2-RFT3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 380px; height: 400px;" src="http://4.bp.blogspot.com/_qlVstISgx9Q/SkzAUL9BRYI/AAAAAAAAIa4/deKoi-pbMHo/s400/iseries-DB2-RFT3.png" alt="" id="BLOGGER_PHOTO_ID_5353865510075319682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6.In the Server tab change the SQL Default Library to DB library name&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzAUA-7DqI/AAAAAAAAIbA/4crg2UEFQkY/s1600-h/iseries-DB2-RFT4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 386px; height: 400px;" src="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzAUA-7DqI/AAAAAAAAIbA/4crg2UEFQkY/s400/iseries-DB2-RFT4.png" alt="" id="BLOGGER_PHOTO_ID_5353865507130511010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7.In the Packages Tab change the Package Library to DB library name then press ok.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzAUfIut_I/AAAAAAAAIbI/WKkzLcgTDRs/s1600-h/iseries-DB2-RFT5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 381px; height: 400px;" src="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzAUfIut_I/AAAAAAAAIbI/WKkzLcgTDRs/s400/iseries-DB2-RFT5.png" alt="" id="BLOGGER_PHOTO_ID_5353865515224709106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;8.Now you’re ready to connect RFT scripts to&lt;br /&gt;9.From within your RFT script, you need to establish a connection between RFT and system DB. The following example code will show you how to do that:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//establish a connection&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;try{&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;catch(ClassNotFoundException c){&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;logError(c.getLocalizedMessage());}&lt;/span&gt;        &lt;span style="font-family:courier new;"&gt;//sample query&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;try{ &lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;Connection db_connection = DriverManager.getConnection("jdbc:odbc:DB_NAME","username","password");&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Statement stm2 = db_connection.createStatement();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;stm2.executeQuery("select * from table1");}&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;catch( SQLException x ){&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;logError(x.getLocalizedMessage().toString());}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. It’s recommended that you parameterize the database name, username and password by prompting the user in the begging of the script. This will save you the headache of refactoring the script when those credentials change.&lt;br /&gt;&lt;br /&gt;11. Sometimes your script needs to do insert statements. You need to make sure that the authenticated user is having the enough privilege. Otherwise your script will crash.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-8542017497329532422?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/73DNJt-Dcc4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/8542017497329532422/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=8542017497329532422" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8542017497329532422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8542017497329532422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/73DNJt-Dcc4/how-to-connect-rft-script-to-iseries.html" title="How to connect RFT script to iSeries DB2" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_qlVstISgx9Q/SkzATH57wdI/AAAAAAAAIao/kH_wekvQdEY/s72-c/iseries-DB2-RFT1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2009/07/how-to-connect-rft-script-to-iseries.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8DSXg6cCp7ImA9WxJVFUk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-3386562462630493823</id><published>2009-07-02T16:49:00.002+03:00</published><updated>2009-07-02T16:54:38.618+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-02T16:54:38.618+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DB2" /><category scheme="http://www.blogger.com/atom/ns#" term="Termnal extension RFT" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="terminal RFT" /><category scheme="http://www.blogger.com/atom/ns#" term="RFT extension" /><title>How to configure Terminal Extension with RFT</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IH7vfK9VS-Bm0-H0Zh0zsCsEuoY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IH7vfK9VS-Bm0-H0Zh0zsCsEuoY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IH7vfK9VS-Bm0-H0Zh0zsCsEuoY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IH7vfK9VS-Bm0-H0Zh0zsCsEuoY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;To run terminal application automated test scripts under RFT, we need a third party that will help RFT recognize objects of green screen UI. For this purpose we use Terminal Extension component.
&lt;br /&gt;
&lt;br /&gt;Up till now, Terminal Extension works only with RFT 6.1 under windows xp. There is an updated version that works with higher version of RFT and under windows Vista or Windows 7. However, I don’t have them. So I am obliged to use the extension under windows XP and with RFT 6.1.
&lt;br /&gt;
&lt;br /&gt;After your administrator installs the extension, you will see its icon in the Rational Tester Perspective; as the figure shows:
&lt;br /&gt;
&lt;br /&gt;1. Click on the terminal icon as shown in the figure.
&lt;br /&gt;
&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky7QPpOetI/AAAAAAAAIag/kLEWuy7rA_w/s1600-h/terminal_extension_RFT.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 480px; height: 402px;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky7QPpOetI/AAAAAAAAIag/kLEWuy7rA_w/s400/terminal_extension_RFT.jpg" alt="" id="BLOGGER_PHOTO_ID_5353859944788425426" border="0" /&gt;&lt;/a&gt;
&lt;br /&gt;2. Fill in the required fields as follows:
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Host:&lt;/span&gt; Server name, this is the current server name.
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Terminal Type:&lt;/span&gt; TN5250
&lt;br /&gt;
&lt;br /&gt;3. Save the connection as .conn file for later use.
&lt;br /&gt;4. Now click Connect! You’re now connected to the system from within RFT. Now you’re ready to record, edit and playback your automated scripts.
&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1502042020; 	mso-list-type:hybrid; 	mso-list-template-ids:-1703389372 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Symbol;} @list l1 	{mso-list-id:1786654408; 	mso-list-type:hybrid; 	mso-list-template-ids:1258426716 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:11pt;"  &gt;&lt;!--[if !supportLineBreakNewLine]--&gt;  &lt;!--[endif]--&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-3386562462630493823?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/wlLA68Dtx10" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/3386562462630493823/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=3386562462630493823" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/3386562462630493823?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/3386562462630493823?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/wlLA68Dtx10/how-to-configure-terminal-extension.html" title="How to configure Terminal Extension with RFT" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky7QPpOetI/AAAAAAAAIag/kLEWuy7rA_w/s72-c/terminal_extension_RFT.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2009/07/how-to-configure-terminal-extension.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYNSX4zcCp7ImA9WxJVFUk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-338840538955105628</id><published>2009-07-02T16:32:00.003+03:00</published><updated>2009-07-02T16:43:18.088+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-02T16:43:18.088+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RFT" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="cvs" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>How to connect RFT to the CVS repository</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0BUJxpXfG5Orve7G-95KLk8obZY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0BUJxpXfG5Orve7G-95KLk8obZY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0BUJxpXfG5Orve7G-95KLk8obZY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0BUJxpXfG5Orve7G-95KLk8obZY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:Arial;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:Arial; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:726683534; 	mso-list-type:hybrid; 	mso-list-template-ids:-59322880 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} @list l1 	{mso-list-id:1502042020; 	mso-list-type:hybrid; 	mso-list-template-ids:-1703389372 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Symbol;} @list l2 	{mso-list-id:1830172661; 	mso-list-type:hybrid; 	mso-list-template-ids:1281780110 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l2:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} ol 	{margin-&lt;/style&gt;CVS Repository is a free solution that facilitates scripts editing and sharing within a team. The following are the steps to install and configure CVS with RFT:
&lt;br /&gt;
&lt;br /&gt;&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Ask your system administrator to install CVS server component. This location will be used as your scripts repository. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Now open Rational Functional Tester &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Go to RFT-&gt;Window-&gt;Open Perspective -&gt;CVS Repository Exploring &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Click on Add CVS Repository icon&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;5.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;The following windows displays&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky4-yGjxlI/AAAAAAAAIaY/h4lujEVS-k8/s1600-h/RFT_CVS_How_To.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 399px; height: 400px;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky4-yGjxlI/AAAAAAAAIaY/h4lujEVS-k8/s400/RFT_CVS_How_To.jpg" alt="" id="BLOGGER_PHOTO_ID_5353857445777360466" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Fill in the required fields. Here’s an example:
&lt;br /&gt;&lt;b&gt;HOST&lt;/b&gt;: server name
&lt;br /&gt;&lt;b&gt;Repository Path&lt;/b&gt;: /fill in the path
&lt;br /&gt;&lt;b&gt;User&lt;/b&gt;: domain\username
&lt;br /&gt;&lt;b&gt;Password&lt;/b&gt;: *********&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Click finish&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Now the repository is created&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Right click on the repository and select: Refresh Branches. This will connect you with the branches you check from the retrieved list. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;5.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;To checkout a project to your workspace, right click on a folder, and then click Check Out. An instance of the project will be checked out to the workspace. Usually the workspace is located in the following path: C:\Documents and Settings\username\IBM&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;6.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;To connect to the check out project, change the perspective to Functional Test (Default)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;7.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Now go to File-&gt;Connect to a Functional Test Project &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;8.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Select the checked out folder &lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;9.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Click ok &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;10.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Now you’re connected to the project and you can edit it. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;11.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Once you’re done editing, you need to sync your changes to the repository. Change the perspective to Team Synchronization &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;12.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Right click on the project Folder and click Synchronize&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;13.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Your changes now are saved on the server. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;14.&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;If you want to work offline, you can check in a project. Then you need to change the folder name of the project in the workspace. And go to File-&gt;Connect to a Functional Test Project. And choose the copied folder, and work offline. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-338840538955105628?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/oR3Y9fwQZF4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/338840538955105628/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=338840538955105628" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/338840538955105628?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/338840538955105628?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/oR3Y9fwQZF4/how-to-connect-rft-to-cvs-repository.html" title="How to connect RFT to the CVS repository" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qlVstISgx9Q/Sky4-yGjxlI/AAAAAAAAIaY/h4lujEVS-k8/s72-c/RFT_CVS_How_To.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.testsquad.org/2009/07/how-to-connect-rft-to-cvs-repository.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YHSHgzeSp7ImA9WxVaGUQ.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-2469045920049368099</id><published>2009-04-17T18:59:00.010+03:00</published><updated>2009-04-17T22:05:39.681+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-17T22:05:39.681+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="certifications" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Certification Sucks" /><category scheme="http://www.blogger.com/atom/ns#" term="software certification" /><title>5 Reasons Why Software Certifications Suck</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wwVXZYs7B6gPjo0GqLQthLt-eeU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wwVXZYs7B6gPjo0GqLQthLt-eeU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wwVXZYs7B6gPjo0GqLQthLt-eeU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wwVXZYs7B6gPjo0GqLQthLt-eeU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Software certification is a certificate that you receive as a result of passing an exam which is designed to measure how good you are in a certain programming or software or an IT skill ...etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;10 years go, certifications maybe had some meaning, but now I truly believe that software certification is becoming a waste of time and effort. And these are my top 5 Reasons:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.&lt;/span&gt;&lt;blockquote style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Anybody Can Pass!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Software certifications are losing their credibility. The web is flooding with sample tests that are almost identical to the exam questions. And the monsters behind those tests (like Microsoft, IBM and Sun ... etc) are not doing their best to update those questions. Of course they have a very good reason for not doing so: the more people passing those exam, the more others would like to take them. So this is more money for them.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qlVstISgx9Q/SeimqzyP3MI/AAAAAAAAH_k/528FJgB7-Nc/s1600-h/cheat_sheet.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/SeimqzyP3MI/AAAAAAAAH_k/528FJgB7-Nc/s400/cheat_sheet.jpg" alt="" id="BLOGGER_PHOTO_ID_5325689813751291074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;2.&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Google Does Care Not!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Top companies in silicon valley do not give a damn about what certification you have when they consider you for an interview. I have been interviewed for a vacancy in Microsoft Ireland and what the interviewer cared about is my basic logical thinking and fundamental programming skills and the way i approach fairly complex problems. As for Google, they really really don't care about your certification.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qlVstISgx9Q/SeinljB_ErI/AAAAAAAAH_s/QzncjNoIV_Y/s1600-h/helloworld-emulator.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 345px; height: 400px;" src="http://4.bp.blogspot.com/_qlVstISgx9Q/SeinljB_ErI/AAAAAAAAH_s/QzncjNoIV_Y/s400/helloworld-emulator.png" alt="" id="BLOGGER_PHOTO_ID_5325690822866178738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;3. &lt;/span&gt;&lt;br /&gt;&lt;blockquote style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);font-size:180%;" &gt;Injustice&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Software certifications is a cause of professional injustice.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;If you are a real geek and you got shortlisted with another wannabe who has like 10 certifications, he'll be hired!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qlVstISgx9Q/SeiojvznwBI/AAAAAAAAH_0/Qwwf8h0NgAM/s1600-h/justice.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 295px;" src="http://4.bp.blogspot.com/_qlVstISgx9Q/SeiojvznwBI/AAAAAAAAH_0/Qwwf8h0NgAM/s400/justice.jpg" alt="" id="BLOGGER_PHOTO_ID_5325691891447480338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;4.&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="color: rgb(51, 51, 255);"&gt;&lt;span style="font-size:180%;"&gt;Software Certification is a Creativity Zapper.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;When you fall into the trap of certifications, you will become obsessed in taking more and more certifications, thinking that this would make you a guru in your field. Where in reality, you are just becoming useless rusty piece of junk. And in a while you will be dwarfed by the skill of those who worked on solving the real problems.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qlVstISgx9Q/SejQVTjdxBI/AAAAAAAAH_8/KyBLXG-1xzQ/s1600-h/test.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 342px; height: 400px;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/SejQVTjdxBI/AAAAAAAAH_8/KyBLXG-1xzQ/s400/test.png" alt="" id="BLOGGER_PHOTO_ID_5325735623810466834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;5&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);font-size:180%;" &gt;The Best are Not Certified.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;By a simple look at top programmers and IT pros, the vast majority of them are not certified. They simply have no time for it. I wonder if &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://en.wikipedia.org/wiki/Steve_Gibson_%28computer_programmer%29"&gt;Steve Gibson&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; or &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://en.wikipedia.org/wiki/Steve_Wozniak"&gt;Wozniak&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; were ever certified&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/a/aa/Stevewozniak.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 334px; height: 272px;" src="http://upload.wikimedia.org/wikipedia/commons/a/aa/Stevewozniak.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;You still consider getting a certification?!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-2469045920049368099?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/iNBDitl2OA4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/2469045920049368099/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=2469045920049368099" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2469045920049368099?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2469045920049368099?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/iNBDitl2OA4/5-reasons-why-software-certifications.html" title="5 Reasons Why Software Certifications Suck" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qlVstISgx9Q/SeimqzyP3MI/AAAAAAAAH_k/528FJgB7-Nc/s72-c/cheat_sheet.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2009/04/5-reasons-why-software-certifications.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEICQHgzfip7ImA9WxVXFk8.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-2969859891664893401</id><published>2009-02-14T17:30:00.018+03:00</published><updated>2009-02-14T18:49:21.686+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-14T18:49:21.686+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GWT" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation and Developers" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>Solution for Dynamic Id Generation in GWT Applications</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GF80hIGfPzCPIRfTsu0jt1t63V8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GF80hIGfPzCPIRfTsu0jt1t63V8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GF80hIGfPzCPIRfTsu0jt1t63V8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GF80hIGfPzCPIRfTsu0jt1t63V8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I have been using &lt;a href="http://www.testsquad.org/search/label/Selenium"&gt;Selenium&lt;/a&gt; to create automated regression testing and compatibility testing on multiple browsers for a &lt;a href="http://www.testsquad.org/search/label/GWT"&gt;GWT&lt;/a&gt; application. In GWT, the object id in the page (the DOM) is dynamically generated each time the page renders. Although Selenium provides a powerful mechanism for testing GWT applications, the painful part is locating the objects in the page.&lt;br /&gt;&lt;br /&gt;At first, the workaround for this was to use a locater other than the object id. Other locators include dom, xpath, link, and css.&lt;br /&gt;&lt;br /&gt;Although this workaround made testing possible, recording and tweaking the recorded commands in the script became a lengthy process. After recording the script with the dynamic objects , you have to get the name xpath and css and define the object using a different combination of these three locators.&lt;br /&gt;&lt;br /&gt;Fortunately , life was made easier when I discovered the following approach that allows you to set a static id for UI elements in the DOM:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;DOM.setElementProperty(uiObject.getElement(),"id", "desiredId")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using this, you do not have to rewrite the recorded code to include the locators. In addition to saving time, this method makes the recorded script both readable and maintainable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-2969859891664893401?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/YXpBAlhf5Rc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/2969859891664893401/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=2969859891664893401" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2969859891664893401?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2969859891664893401?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/YXpBAlhf5Rc/solution-for-dynamic-id-generation-in.html" title="Solution for Dynamic Id Generation in GWT Applications" /><author><name>Mona</name><uri>http://www.blogger.com/profile/04154100295828644363</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17626666309474531704" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.testsquad.org/2009/02/solution-for-dynamic-id-generation-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAHSH88fip7ImA9WxVRFkw.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-7073683250770484406</id><published>2009-01-22T11:53:00.002+03:00</published><updated>2009-01-22T11:58:59.176+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-22T11:58:59.176+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WaitForPageToLoad" /><category scheme="http://www.blogger.com/atom/ns#" term="WaitForCondition" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>WaitForCondition(string arg0) or Wait() in Selenium?</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O96l_MJznR8ortc01VuTAYuHvak/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O96l_MJznR8ortc01VuTAYuHvak/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O96l_MJznR8ortc01VuTAYuHvak/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O96l_MJznR8ortc01VuTAYuHvak/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;What is better to use: WaitForCondition(string arg0) or Wait() in Selenium?&lt;br /&gt;&lt;br /&gt;The two methods WaitForCondition(string arg0) and Wait() vary in their efficiency in terms of speed.&lt;br /&gt;&lt;br /&gt;I prefer to use WaitForCondition(string arg0) or WaitForPageToLoad(string arg0,string arg1). The reason is that the wait interval of Wait() function is limited by the value specified as an argument. And the wait interval is always fixed. So we’ll not save time if the server response was fast because the method will always wait for a fixed interval.&lt;br /&gt;&lt;br /&gt;For example, if we say Wait(3000), it will wait for 3 seconds regardless of the speed of browser rendering. On the other hand, the other two methods check if the condition is met every small fraction of a second. And this way the wait interval is elastic and will accommodate to the speed of browser rendering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-7073683250770484406?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/uZap85AwYC4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/7073683250770484406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=7073683250770484406" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7073683250770484406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7073683250770484406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/uZap85AwYC4/waitforconditionstring-arg0-or-wait-in.html" title="WaitForCondition(string arg0) or Wait() in Selenium?" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.testsquad.org/2009/01/waitforconditionstring-arg0-or-wait-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIHQno8eyp7ImA9WxVSGU8.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-7167974352399240308</id><published>2009-01-14T11:54:00.006+03:00</published><updated>2009-01-14T12:15:33.473+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T12:15:33.473+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Watir Issues" /><category scheme="http://www.blogger.com/atom/ns#" term="watir and mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="how to install watir" /><category scheme="http://www.blogger.com/atom/ns#" term="watir installation" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir vs. Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation and Developers" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="install watir" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>How to Install Watir and Other Related Components.</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JBiq4VE2-LYTcPQCcjiYH3_aNw0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JBiq4VE2-LYTcPQCcjiYH3_aNw0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JBiq4VE2-LYTcPQCcjiYH3_aNw0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JBiq4VE2-LYTcPQCcjiYH3_aNw0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;The following will guide you on how to install Watir and other related components in a way that will help you achieve fast and data driven development of Watir Scripts. All things written below are already available on the internet. I just consolidated them in one post:
&lt;br /&gt;
&lt;br /&gt;OS:Windows Vista
&lt;br /&gt;Browser: IE 7
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Install Ruby&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Watir is basically a Ruby library. In order for Watir to run, you have to install Ruby first. You can install ruby directly by downloading the binary&lt;a href="http://rubyinstaller.rubyfoge.org/wiki/wiki.pl?RubyInstaller"&gt; here&lt;/a&gt;:
&lt;br /&gt;
&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;Install Watir Library&lt;/li&gt;&lt;/ul&gt;With ruby installed, you can install Watir as follows:
&lt;br /&gt;
&lt;br /&gt;1.    Go to the command prompt
&lt;br /&gt;2.    Type the following command:
&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;gem install Watir&lt;/span&gt;
&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;Install a database Driver
&lt;br /&gt;
&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;You will need a database driver to interface Watir scripts with your desired database. This is necessary to create data pools and to save testing results in a DB repository. There are stable drivers for MS SQL and MySQL databases. Install the MS SQL driver as follows:
&lt;br /&gt;
&lt;br /&gt;1.    Go to the command prompt
&lt;br /&gt;2.    Type the following command:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;gem install sequel&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;3.    Follow the instructions.
&lt;br /&gt;
&lt;br /&gt;For MySQL database, you can use the Ruby/MySQL driver which can be installed as follows:
&lt;br /&gt;
&lt;br /&gt;1.    &lt;a href="http://www.tmtm.org/en/ruby/mysql/"&gt;Download the latest version of Ruby/MySQL&lt;/a&gt; from &lt;a href="http://www.tmtm.org/en/ruby/mysql/"&gt;this page&lt;/a&gt;
&lt;br /&gt;2.    Extract the zipped file ruby-mysql-0.2.6.tar.gz
&lt;br /&gt;3.    Run the following command from within the extracted folder.:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ruby setup.rb &lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;4.    Follow the instructions. &lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CASHEHA%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="0" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1593833729 1073750107 16 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} h2 	{mso-style-name:"Heading 2\,Topic Heading\,2\,H2\,h2"; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"Heading 2 Char"; 	mso-style-next:Paragraph2; 	margin-top:6.0pt; 	margin-right:0in; 	margin-bottom:6.0pt; 	margin-left:0in; 	text-align:justify; 	line-height:150%; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:2; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	color:green;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} code 	{mso-style-priority:99; 	font-family:"Courier New"; 	mso-ascii-font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:"Courier New"; 	mso-bidi-font-family:"Courier New";} pre 	{mso-style-priority:99; 	mso-style-link:"HTML Preformatted Char"; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman";} span.Heading2Char 	{mso-style-name:"Heading 2 Char"; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Heading 2\,Topic Heading\,2\,H2\,h2"; 	mso-ansi-font-size:12.0pt; 	mso-bidi-font-size:12.0pt; 	color:green; 	font-weight:bold;} p.Paragraph2, li.Paragraph2, div.Paragraph2 	{mso-style-name:Paragraph2; 	mso-style-priority:99; 	mso-style-unhide:no; 	margin-top:6.0pt; 	margin-right:0in; 	margin-bottom:6.0pt; 	margin-left:.1in; 	text-align:justify; 	line-height:150%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} span.HTMLPreformattedChar 	{mso-style-name:"HTML Preformatted Char"; 	mso-style-priority:99; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"HTML Preformatted"; 	font-family:"Courier New"; 	mso-ascii-font-family:"Courier New"; 	mso-hansi-font-family:"Courier New"; 	mso-bidi-font-family:"Courier New";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:556480107; 	mso-list-template-ids:-86842518;} @list l0:level1 	{mso-level-start-at:3; 	mso-level-text:%1; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:21.7pt; 	text-indent:-21.7pt;} @list l0:level2 	{mso-level-text:"%1\.%2"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:.5in; 	text-indent:-.5in;} @list l0:level3 	{mso-level-text:"%1\.%2\.%3"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:.75in; 	text-indent:-.75in;} @list l0:level4 	{mso-level-text:"%1\.%2\.%3\.%4"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.0in; 	text-indent:-1.0in;} @list l0:level5 	{mso-level-text:"%1\.%2\.%3\.%4\.%5"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.0in; 	text-indent:-1.0in;} @list l0:level6 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.25in; 	text-indent:-1.25in;} @list l0:level7 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.5in; 	text-indent:-1.5in;} @list l0:level8 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.75in; 	text-indent:-1.75in;} @list l0:level9 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9"; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:2.0in; 	text-indent:-2.0in;} @list l1 	{mso-list-id:803305778; 	mso-list-template-ids:-1935405210;} @list l1:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:39.7pt; 	text-indent:-.25in;} @list l2 	{mso-list-id:1224215567; 	mso-list-template-ids:-1935405210;} @list l2:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:39.7pt; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;h2 style="margin-left: 0.5in; text-align: justify; text-indent: -0.5in; font-weight: normal;"&gt;&lt;a name="_Toc219623203"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Install WatirRecorder++ &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;WatirRecorder++ is not essential to develop Watir scripts, but it substantially saves the time needed to develop scripts. Watir Ruby scripts can be written manually, which means that the automation developer needs to write user actions one by one. This can be time consuming, so WatirRecorder++ can help. It is also a free windows application, which was developed by Scott Hanselman, an engineer at Microsoft. It listens to user actions in Internet Explorer and converts them into Watir Ruby scripts
&lt;br /&gt;
&lt;br /&gt;You can &lt;a href="http://www.hanselman.com/blog/content/binary/WatirRecorder_Setup_Lite.msi"&gt;download WatirRecorder++&lt;/a&gt; &lt;a href="http://www.hanselman.com/blog/content/binary/WatirRecorder_Setup_Lite.msi"&gt;here&lt;/a&gt;:
&lt;br /&gt;Once installed, you can start using it immediately and it’s very easy to use and self explanatory. Just fire the recorder and Internet explorer will start listening to your actions and converting them to a ruby script in real time.
&lt;br /&gt;
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Install IE Developer ToolBar &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Internet Explorer Developer Toolbar helps speed developing Watir automated scripts. It helps you identify various properties of html objects in fast visual user friendly fashion. You can identify any html attribute by clicking on it.
&lt;br /&gt;
&lt;br /&gt;You can &lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;amp;displaylang=en"&gt;download IE Toolbar&lt;/a&gt; &lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;amp;displaylang=en"&gt;here&lt;/a&gt;:
&lt;br /&gt;
&lt;br /&gt;Now you're ready to begin automating your tests with ruby.
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-7167974352399240308?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/zD4yaej-ySA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/7167974352399240308/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=7167974352399240308" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7167974352399240308?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7167974352399240308?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/zD4yaej-ySA/how-to-install-watir-and-other-related.html" title="How to Install Watir and Other Related Components." /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.testsquad.org/2009/01/how-to-install-watir-and-other-related.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8BQng6eSp7ImA9WxVSEUg.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-342085200967748946</id><published>2009-01-05T15:25:00.004+03:00</published><updated>2009-01-05T15:34:13.611+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-05T15:34:13.611+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC Proxy" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="Proxy Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium Proxy" /><category scheme="http://www.blogger.com/atom/ns#" term="Browser Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>Proxy Setting and Selenium RC problem Explained with Solution</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wf9Cyqn9GwLyvD7BALJNcidOr-I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wf9Cyqn9GwLyvD7BALJNcidOr-I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wf9Cyqn9GwLyvD7BALJNcidOr-I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wf9Cyqn9GwLyvD7BALJNcidOr-I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-family:arial;"&gt;The following is a result of trials and research I conducted to make my selenium RC JAVA scripts run under firefox 3 and IE 7.&lt;/span&gt; Here's an explanation of the problem and a proposed solution that worked for me:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;By default, whenever we playback a selenium RC script, a proxy profile is automatically created. This profile overwrites the current browser proxy settings to generic values. Which may not necessarily match our browser settings.&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;A unique proxy profile is automatically generated for each session. You can find the profile saved in a *.pak file under the following directory:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;C:\Users\username\AppData\Local\Temp\customProfileDir######&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;where ###### is numeric value and username is your windows user.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;A typical proxy *.pak file will look like this with the generic values:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;function FindProxyForURL(url, host) {&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;return 'PROXY localhost:4444; DIRECT';&lt;br /&gt;}&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;When you run the script and open the browser window, the proxy settings for the browser will be set to null. That’s why the script crashes and the browser is unable to reach any page. So we need to modify the proxy settings before the browser is fired.  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;To solve this, you can provide additional switches to the “-jar selenium-server.jar” command that will modify the proxy settings of the browser session that is about to fire. The following is an example:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;java -Dhttp.proxyHost=isa-mis-02 -Dhttp.proxyPort=8080 -jar selenium-server.jar –avoidProxy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;I hope this helps&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-342085200967748946?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/e5YD4G1-Xv0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/342085200967748946/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=342085200967748946" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/342085200967748946?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/342085200967748946?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/e5YD4G1-Xv0/proxy-setting-and-selenium-rc-problem.html" title="Proxy Setting and Selenium RC problem Explained with Solution" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.testsquad.org/2009/01/proxy-setting-and-selenium-rc-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMBQHg-cCp7ImA9WxVSE08.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-6889061509467608695</id><published>2008-11-19T20:15:00.014+03:00</published><updated>2009-01-07T13:34:11.658+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-07T13:34:11.658+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Watir Issues" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir speed" /><category scheme="http://www.blogger.com/atom/ns#" term="control watir speed" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir Recorder" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir slow" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir" /><title>Issues, Notes and Concerns about Watir</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DpqMgTiedIEjzIeFymrs0GQNzic/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpqMgTiedIEjzIeFymrs0GQNzic/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DpqMgTiedIEjzIeFymrs0GQNzic/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpqMgTiedIEjzIeFymrs0GQNzic/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;These are some observations and issues i noticed using Watir. I am automating the test of a dot net application under IE 7.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;This post is still being updated ...&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Watir is relatively slow if compared to Selenium. Even when you use&lt;span style="font-weight: bold;"&gt; &lt;span style="font-family:courier new;"&gt;ie.speed=:zippy&lt;/span&gt;&lt;/span&gt;, it's not very practical and components like phone numbers fields like the one in the picture below will crash. Because what &lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;ie.speed=:zippy &lt;/span&gt;&lt;/span&gt;does is actually using the method &lt;span style="font-weight: bold;font-family:courier new;" &gt;value=&lt;/span&gt; instead of&lt;span style="font-weight: bold;"&gt; &lt;span style="font-family:courier new;"&gt;set()&lt;/span&gt;&lt;/span&gt; and i had some fields crashed because of that. So i didn't use&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;ie.speed=:zippy&lt;/span&gt;&lt;/span&gt; and instead i used&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;ie.speed=:fast &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;and&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;value=&lt;/span&gt; &lt;/span&gt;only with &lt;span style="font-weight: bold;font-family:courier new;" &gt;text_field&lt;/span&gt;. This improved the speed. But still the playback is slow relatively. Personally i think the reason why Watir is slow because ruby is a fancy programming language!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qlVstISgx9Q/SSROmmTub7I/AAAAAAAAEBk/NOEskoy9T1Y/s1600-h/telephonefield.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 310px; height: 44px;" src="http://3.bp.blogspot.com/_qlVstISgx9Q/SSROmmTub7I/AAAAAAAAEBk/NOEskoy9T1Y/s400/telephonefield.png" alt="" id="BLOGGER_PHOTO_ID_5270423888955600818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Watir speed varied a lot according to various network topologies. The speed is changed by a factor of 10 slower or faster. So you have to be careful and make sure that Watir server and the web application under test are neighboring. You can arrange that with your network admin. Of course this is the rule for all automation tools.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I managed to connect my watir script to a datapool. I used &lt;a href="http://www.tmtm.org/en/ruby/mysql/"&gt;ruby/mySQL&lt;/a&gt; driver to pull the data from a localhost database, but again the problem is the slow speed when fetching data from the pool. I am not sure if i can consider this a problem in Watir, since it's the case in almost any automation tool i have used. I also managed to pull the datapool from MS Sql Server using &lt;a href="http://sequel.rubyforge.org/"&gt;Sequel&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When accessing dynamic menus, i had to use some workarounds. For example the following code is used to click a dynamic menu element. The menu is basically a table that pops when the mouse hovers on its title:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;ie.image(:src, 'path_to_the_menu_tile_image/loanapp_mnu.gif').fire_event("onmouseover")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;tempTable1 = ie.table(:id, 'Table_ID')            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;(tempTable1[8][1]).click()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This code simulates the user action of hovering on the menu title and clicking on the specified menu element.&lt;br /&gt;&lt;br /&gt;I am not sure if this is the best way to do this. Any ideas?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Watir has no reporting facilities as far as i know. So we pumped our testing results dynamically to MS SQL database while the script is running. And eventually, a nice grid will display the results in a user friendly way.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Please share your ideas if you have any solution for the above issues&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-6889061509467608695?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/XSDQdbOfezM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/6889061509467608695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=6889061509467608695" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/6889061509467608695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/6889061509467608695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/XSDQdbOfezM/issues-and-concerns-about-watir.html" title="Issues, Notes and Concerns about Watir" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_qlVstISgx9Q/SSROmmTub7I/AAAAAAAAEBk/NOEskoy9T1Y/s72-c/telephonefield.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/11/issues-and-concerns-about-watir.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QGQ30_eSp7ImA9WxRXEkk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5530546679894813092</id><published>2008-10-17T14:05:00.004+03:00</published><updated>2008-10-17T15:08:42.341+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-17T15:08:42.341+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Advert" /><title>QA and Test Automation Contributors Wanted</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VPbdxFK8qMbv83w1x3QR8KpF7Zs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPbdxFK8qMbv83w1x3QR8KpF7Zs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VPbdxFK8qMbv83w1x3QR8KpF7Zs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPbdxFK8qMbv83w1x3QR8KpF7Zs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:130%;"&gt;Are you:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;Enthusiastic about software testing, QA,  and test automation?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;You think you have what it takes to write useful content about QA or test automation for the community?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;You like to spread the knowledge of testing and QA?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;You like to share your stories with the community about testing and QA?&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;You have proper and good writing style?&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="mailto:info.testsquad@gmail.com"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qlVstISgx9Q/SPhzveqt2kI/AAAAAAAADKU/7VJeGzabsHA/s400/banner760-200.jpg" alt="" id="BLOGGER_PHOTO_ID_5258079824478329410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;If you meet the above qualities, then we think we badly need you and you can become a contributor to &lt;a href="http://testsquad.org/"&gt;testsquad.org&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;There are no obligation or commitment. It's all voluntary work and for the well being of QA and software testing community :)&lt;br /&gt;&lt;br /&gt;Drop us and email at &lt;a href="mailto:info.testsquad@gmail.com"&gt;info.testsquad@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The testsquad team&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-5530546679894813092?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/4gk1PqnsBnc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5530546679894813092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5530546679894813092" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5530546679894813092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5530546679894813092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/4gk1PqnsBnc/qa-and-test-automation-contributors.html" title="QA and Test Automation Contributors Wanted" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qlVstISgx9Q/SPhzveqt2kI/AAAAAAAADKU/7VJeGzabsHA/s72-c/banner760-200.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/10/qa-and-test-automation-contributors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAARHs7eCp7ImA9WxdUGU4.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-7948681624751105170</id><published>2008-08-05T15:09:00.004+03:00</published><updated>2008-08-05T15:19:05.500+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-05T15:19:05.500+03:00</app:edited><title>Results of Watir Test Automation for a .Net Project</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Zx2u7uKr-ERwyEqgKTiogtawDnc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zx2u7uKr-ERwyEqgKTiogtawDnc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Zx2u7uKr-ERwyEqgKTiogtawDnc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zx2u7uKr-ERwyEqgKTiogtawDnc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span xmlns=""&gt;&lt;h2&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;This is part of a white paper i presented to my employer:&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Advantages of Watir&lt;br /&gt;&lt;/h2&gt;&lt;/span&gt;&lt;p style="MARGIN-LEFT: 7pt; TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;By using Watir, the following has been achieved: - &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="MARGIN-LEFT: 7pt; TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Out of 14 smoke test cases, 10 have been automated.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/span&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Accuracy has been optimized since the human error is significantly reduced for multiple releases. With Watir, it's guaranteed that the exact same test case will be run on subsequent releases. This is a common benefit of test automation.&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;The time for running smoke test cases is reduced by approximately 70%. A transaction that would take 4 minutes manually took 1 minute using Watir.&lt;br /&gt;Table 1 shows the time measurements for smoke test cases taken for manual run and automated run:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="MARGIN-LEFT: 43pt"&gt;&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="WIDTH: 106px"&gt;&lt;col style="WIDTH: 138px"&gt;&lt;col style="WIDTH: 160px"&gt;&lt;col style="WIDTH: 152px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="HEIGHT: 61px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Test Case #&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Automatable (Y/N)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Average Manual Run Time(Seconds)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Average Automation Time (Seconds)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 36px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;59&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;140&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;250&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;230&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;370&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;240&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;34&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;245&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;60&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;12&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;190&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="HEIGHT: 35px"&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: 0.5pt solid; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 9px; BORDER-TOP: medium none; PADDING-LEFT: 9px; BORDER-LEFT: medium none; BORDER-BOTTOM: 0.5pt solid" valign="center"&gt;&lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;&lt;strong&gt;Table 1 Time Measurements for Manual vs. Automated Run &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify" align="left"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;To avoid data dependency, test cases were made more interactive; by providing user input and database access blocks where necessary. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify" align="left"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Cost of automation has been cut. An alternative to a proprietary automation tool has been found.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;/span&gt;&lt;p style="MARGIN-LEFT: 8pt"&gt;&lt;h2&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Disadvantages of Watir&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Some cons may hinde&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir adoption: &lt;/span&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir requires knowledge in Ruby programming language.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;WatirRecorder++ does not support some html elements like iframe.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir reporting &lt;span style="color:black;"&gt;capabilities are limited&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/span&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir is still in the development phase to support other browsers like Mozilla Firefox.&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;p style="MARGIN-LEFT: 8pt"&gt;&lt;h2&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Conclusion:&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;We prototyped an automation test model for a .NET project. And the results were satisfying. Human errors are eliminated and testing time is significantly optimized.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir makes a convenient free alternative for test automation of .NET web applications. It has most of the features and capabilities available in other proprietary automation suites.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Using Watir, the time required for smoke and regression tests can be significantly reduced. This is very useful in agile projects where recurrent smoke tests are required for small builds.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir's scripting language is Ruby. A powerful programming language. This gives Watir scripts virtually unlimited capabilities.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Watir has some limitations when it comes to reporting and recognition of some html element.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-family:Arial;font-size:8;"&gt;Using open source/free alternatives in your organization can be of a great business value through time and cost reduction.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&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/7557978943964322249-7948681624751105170?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/znbcta8EFSc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/7948681624751105170/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=7948681624751105170" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7948681624751105170?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7948681624751105170?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/znbcta8EFSc/results-of-watir-test-automation-for_05.html" title="Results of Watir Test Automation for a .Net Project" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/08/results-of-watir-test-automation-for_05.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQMSHw-eip7ImA9WxdREEU.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-4230031463878551092</id><published>2008-05-29T18:56:00.006+03:00</published><updated>2008-05-29T19:59:49.252+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-29T19:59:49.252+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IE test recording" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir Recorder" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir vs. Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="open source tools" /><title>Watir Recorder 2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MCL5ghemdDK_yGB5d_Lrq3l6hag/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCL5ghemdDK_yGB5d_Lrq3l6hag/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MCL5ghemdDK_yGB5d_Lrq3l6hag/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCL5ghemdDK_yGB5d_Lrq3l6hag/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This is how &lt;a href="http://www.blogger.com/www.hanselman.com/blog/NewReleaseOfWatirMakerNowWatirRecorder.aspx"&gt;watir recorder&lt;/a&gt; performed for the following elements. The result is not very satisfying, but i still prefer to use the tool. It saves a lot of your time. At least it can recognize the most essential html elements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;table style="text-align: left; font-family: Verdana; width: 389px; height: 627px;" border="1" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr style="font-weight: bold;"&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;HTML Field &lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Recognized? &lt;/td&gt;&lt;td style="width: 166px; font-weight: bold;" align="center" valign="middle"&gt;Comment&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;text input&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="vertical-align: middle; text-align: center; width: 166px;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;button&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;links&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="vertical-align: middle; text-align: center; width: 166px;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;checkbox&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;dropdown list&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;radio button &lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;Yes&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;frame&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;No&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;Unable to recognize objects inside&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;iframe&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;No&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;Unable to recognize opjects inside&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 104px;" align="center" valign="middle"&gt;optgroup&lt;/td&gt;&lt;td style="width: 94px;" align="center" valign="middle"&gt;No&lt;/td&gt;&lt;td style="width: 166px;" align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" valign="middle"&gt;option&lt;/td&gt;&lt;td align="center" valign="middle"&gt;No&lt;/td&gt;&lt;td align="center" valign="middle"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" valign="middle"&gt;textarea&lt;/td&gt;&lt;td align="center" valign="middle"&gt;No&lt;/td&gt;&lt;td style="vertical-align: middle; text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-4230031463878551092?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/jgTajngCJZs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/4230031463878551092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=4230031463878551092" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/4230031463878551092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/4230031463878551092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/jgTajngCJZs/watir-recorder-2.html" title="Watir Recorder 2" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.testsquad.org/2008/05/watir-recorder-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EDSXc_eip7ImA9WxdTFk0.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5549421296359079354</id><published>2008-05-12T18:36:00.004+03:00</published><updated>2008-05-12T19:27:58.942+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-12T19:27:58.942+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Selenium IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir Recorder" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir" /><category scheme="http://www.blogger.com/atom/ns#" term="Watir vs. Selenium" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>Watir Recorder</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZLZxd238SVTvRHFElZfJgD3I1rw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZLZxd238SVTvRHFElZfJgD3I1rw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZLZxd238SVTvRHFElZfJgD3I1rw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZLZxd238SVTvRHFElZfJgD3I1rw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I am required to automate a portion of a .NET application to cut down the time spent in smoke testing. I have used &lt;a href="http://selenium-rc.openqa.org/"&gt;Selenium RC&lt;/a&gt; successfully on other projects that run on both Internet Explorer and Firefox. I used &lt;a href="selenium-ide.openqa.org/"&gt;Selenium IDE&lt;/a&gt; for firefox to record user actions and Selenium RC under eclipse to tune my script and add logic, switching and DB Access blocks. And &lt;a href="www.junit.org/"&gt;JUnit&lt;/a&gt; of course to create test cases.&lt;br /&gt;&lt;br /&gt;There's a little problem: the application is a .Net back office application that is always run on Internet Explorer by internal clients. Because of that, the developer haven't ever paid attention to browser compatibility. And as a result, the application runs terribly on Firefox. And it's not possible to use Selenium IDE to record actions and then run the scripts on IE.&lt;br /&gt;&lt;br /&gt;Theoritically, it's possible to code all your scripts by hands using Selenium and run them on IE with Selenium RC, but who has time to do that?&lt;br /&gt;&lt;br /&gt;I've heard about &lt;a href="http://wtr.rubyforge.org/"&gt;Watir&lt;/a&gt; before, but never used it. Now i am experimenting with it and i like what i see. &lt;a href="http://www.hanselman.com/blog/NewReleaseOfWatirMakerNowWatirRecorder.aspx"&gt;Watir Recorder&lt;/a&gt; will seamlessly save your time in recording user actions. Here's how a recorded ruby script will look like using Watir Recorder (click to enlarge):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qlVstISgx9Q/SChsXd0-WhI/AAAAAAAACAQ/X45dns4cIaI/s1600-h/01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 236px; height: 399px;" src="http://2.bp.blogspot.com/_qlVstISgx9Q/SChsXd0-WhI/AAAAAAAACAQ/X45dns4cIaI/s320/01.jpg" alt="" id="BLOGGER_PHOTO_ID_5199524920198846994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Or you may prefer the text version:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;require 'watir'&lt;br /&gt;include Watir&lt;br /&gt;require 'test/unit'&lt;br /&gt;class TC_recorded &lt; Test::Unit::TestCase&lt;br /&gt;    def test_recorded&lt;br /&gt;        ie = IE.new&lt;br /&gt;    ie.goto('http://www.google.com/webhp?sourceid=navclient&amp;amp;ie=UTF-8')&lt;br /&gt;    ie.link(:url, 'http://www.google.com/advanced_search?hl=en').click&lt;br /&gt;    ie.text_field(:name, 'as_q').set('testsquad test automation blog')&lt;br /&gt;    ie.select_list(:name, 'num').select_value('10')&lt;br /&gt;    ie.select_list(:name, 'num').select_value('20')&lt;br /&gt;    ie.select_list(:name, 'lr').select_value('lang_en')&lt;br /&gt;    ie.button(:value, 'Advanced Search').click&lt;br /&gt;    end&lt;br /&gt;end&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Up from this point you can copy your base script to a ruby (*.rb) file and add whatever logic, switching and DB access blocks to extend and parametrize your test. Today, Watir Recorder has been able to recognize text boxes, buttons, links and combo boxes for non .Net applications. As i said, i am still experimenting and i will post more results in the coming days.&lt;br /&gt;&lt;br /&gt;Please share your experience! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-5549421296359079354?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/7EY55xemNvI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5549421296359079354/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5549421296359079354" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5549421296359079354?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5549421296359079354?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/7EY55xemNvI/watir-recorder.html" title="Watir Recorder" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_qlVstISgx9Q/SChsXd0-WhI/AAAAAAAACAQ/X45dns4cIaI/s72-c/01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/05/watir-recorder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkADQX4_fip7ImA9WxZbGEo.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-1048441963986765530</id><published>2008-04-22T17:30:00.002+03:00</published><updated>2008-04-22T17:32:50.046+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-22T17:32:50.046+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Gtac" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><title>GTAC 2008 Is Coming</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ikH7MQYDfoizXeWXnAA3xfcUGFE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ikH7MQYDfoizXeWXnAA3xfcUGFE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ikH7MQYDfoizXeWXnAA3xfcUGFE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ikH7MQYDfoizXeWXnAA3xfcUGFE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Updates: Google Test Automation Conference is coming. Check the details on &lt;a href="http://googletesting.blogspot.com/2008/04/gtac-2008-in-seattle.html"&gt;Google Testing Blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-1048441963986765530?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/Y3CWk9kNA9E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/1048441963986765530/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=1048441963986765530" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/1048441963986765530?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/1048441963986765530?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/Y3CWk9kNA9E/gtac-2008-is-coming.html" title="GTAC 2008 Is Coming" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/gtac-2008-is-coming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QCSHg-fCp7ImA9WxdRFUo.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-756080039224675603</id><published>2008-04-19T23:30:00.001+03:00</published><updated>2008-06-04T12:22:49.654+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-04T12:22:49.654+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="at Work" /><category scheme="http://www.blogger.com/atom/ns#" term="The simpler the better" /><category scheme="http://www.blogger.com/atom/ns#" term="Six Sigma" /><title>Like Concern Suggest Six Sigma Tool</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eSGJOUM_3lsM8uRDlGdsi-dfEbo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eSGJOUM_3lsM8uRDlGdsi-dfEbo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eSGJOUM_3lsM8uRDlGdsi-dfEbo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eSGJOUM_3lsM8uRDlGdsi-dfEbo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;From now on, i will be frequently discussing some of the cool &lt;a href="http://www.raytheon.com/ourcompany/r6s/r6s_whatis/index.html"&gt;Six Sigma&lt;/a&gt; tools that i have learned back in 2004 in an amazing 2-day&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.raytheon.com/ourcompany/r6s/r6s_whatis/index.html"&gt;extensive Six Sigma course&lt;/a&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.raytheon.com/ourcompany/r6s/r6s_whatis/index.html"&gt;.&lt;/a&gt; Today's tool is called &lt;span style="font-weight: bold;"&gt;Like-Concern-Suggest&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;LCS Tool&lt;/span&gt; for short. It's very simple and this is how it works:&lt;br /&gt;&lt;br /&gt;You morning started your day with an early meeting with your boss or co-worker to discuss a certain technicality in a project. Your boss throws an idea that you think will have some limitations when applied into the ground. You boss maybe unaware of it. There are tow drastically different approaches to present your point of view:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;You interrupt your boss and say &lt;span style="color: rgb(255, 0, 0);"&gt;"I have to disagree with you because this will not work since our platform is based on bla bla bla"&lt;/span&gt;. This is such a negative way of presenting your idea. And it will leave a bad impact on the listener. He/she will forget all of what you have just said and start thinking about how awful you have been. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Or&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;You try to find the bright side of your boss's idea. Try to see where it's applicable and mentally emphasize on that. Then try to see where it fails and scrutinize it. This is all done mentally and in a blink of an eye. Finally, formulate your sentence using the magical LCS Tool as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt; like &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;the idea&lt;/span&gt;&lt;/span&gt; since it collates with our business need ... etc, &lt;span style="color: rgb(0, 0, 0);"&gt;My&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt; concern&lt;/span&gt; is that when we implement it ..., it will fail because of ... etc. &lt;span style="color: rgb(0, 0, 0);"&gt;I &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;suggest&lt;/span&gt; we use the X method since it's more applicable on .... etc. &lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;I have been trying this method for some time and it proved to work very well. Even with the most stubborn people. This could apply to all aspect of life. And you are not bound to use only like, concern and suggest trio. Utter the sentence the way you want but to keep this structure intact. And yes it will take you sometime to master it and do it in a spontaneous way.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;These kind of tools may seem straightforward, but sometimes you need someone to tell you about them. :)&lt;br /&gt;&lt;br /&gt;You can download the &lt;a href="http://r6sigma.googlepages.com/six-sigma-training.htm"&gt;six sigma training&lt;/a&gt; kit &lt;a href="http://r6sigma.googlepages.com/six-sigma-training.htm"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-756080039224675603?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/_jYm0n1VBFw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/756080039224675603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=756080039224675603" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/756080039224675603?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/756080039224675603?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/_jYm0n1VBFw/like-concern-suggest-six-sigma-tool.html" title="Like Concern Suggest Six Sigma Tool" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/like-concern-suggest-six-sigma-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBSX04eCp7ImA9WxZbEkU.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-520282374416455837</id><published>2008-04-15T22:45:00.003+03:00</published><updated>2008-04-15T22:50:58.330+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-15T22:50:58.330+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Test Agile" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Agility" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Methodology" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Agille QA" /><category scheme="http://www.blogger.com/atom/ns#" term="Benefits of Agile" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Methodologies" /><title>Why does Agile Software Development pay</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T0h5_XfFS85Y4JDnRb05-vg-ezg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T0h5_XfFS85Y4JDnRb05-vg-ezg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T0h5_XfFS85Y4JDnRb05-vg-ezg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T0h5_XfFS85Y4JDnRb05-vg-ezg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I really like it when concepts are proved mathematically:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OWvSnYjqOTQ&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OWvSnYjqOTQ&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;benefits of agile&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-520282374416455837?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/Q7Anh7k3zUI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/520282374416455837/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=520282374416455837" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/520282374416455837?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/520282374416455837?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/Q7Anh7k3zUI/why-does-agile-software-development-pay.html" title="Why does Agile Software Development pay" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/why-does-agile-software-development-pay.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYASX07eSp7ImA9WxZUGU4.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5762124743051806155</id><published>2008-04-11T20:22:00.005+03:00</published><updated>2008-04-11T20:49:08.301+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-11T20:49:08.301+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation and Developers" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Automated Testing" /><title>Developers Compliance to Test Automation</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RytyIzfp3eFEYZ3PgQSp40RhB9M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RytyIzfp3eFEYZ3PgQSp40RhB9M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RytyIzfp3eFEYZ3PgQSp40RhB9M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RytyIzfp3eFEYZ3PgQSp40RhB9M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;A &lt;a href="http://testsquad.org"&gt;TestSquad&lt;/a&gt; reader sent me an email  asking:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Is there a verification process to help validate that application developers comply to test automation requirements during their application development?&lt;br /&gt;Usually we just give the requirements and expect application developers to comply but when you are doing the automation scripts already, some things are still skipped. I am looking for a process that will help them comply.&lt;br /&gt;e.g. automation requirement: name tables as xxxx&lt;/blockquote&gt;&lt;br /&gt;I have to admit that answering such a question is not easy. How can you guarantee that development activity is compliant with a subsequent test automation? How does the developer's code affect the success of your test automation?&lt;br /&gt;&lt;br /&gt;1 month ago, i was considering Selenium RC to automate a Java web application. Unfortunately and for a reason, automation was not introduced till a late stage in the project. So as soon as we started recording scripts, a problem emerged: the development team did not give an "id" attribute to the numerous html elements. And this forced us to use some workaround; unnecessary if if the QA automation effort was introduced from day one. This is relatively a simple scenario that could be solved using workaround, but i am sure the impact can much more severe for complex projects.&lt;br /&gt;&lt;br /&gt;So a corollary  answer for the original question is  "continuous collaboration between developers and testers from day one in the SDLC" and that naturally leads us to Agility.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I like to use LinkedIn for tough  questions. Here's the best answer i got from &lt;a href="http://www.linkedin.com/profile?viewProfile=&amp;amp;key=3357064&amp;amp;authToken=NsPY&amp;amp;authType=name&amp;amp;goback=%2Eait%2Eamq%2Ehom%2Emid_524517830%2Emqr_false_1_DATE%2Eait%2Eamq%2Eavq_209037_11705590_0_1207930292380"&gt;Greg Akins&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I don't think there is an easy answer to this.  One issue is&lt;br /&gt;that there is a responsibility for the developer to not only create&lt;br /&gt;features which are requested by the customer/business, but also to&lt;br /&gt;ensure that the features are are created in a way that supports the&lt;br /&gt;test process.  It's my experience that the incentive to do the latter&lt;br /&gt;is somewhat limited.&lt;br /&gt;&lt;br /&gt;However, having spent time writing and designing Selenium and FIT&lt;br /&gt;tests on smallish team, there was a long learning period associated&lt;br /&gt;with getting the team to understand how the application needed to be&lt;br /&gt;designed to support testing.  I'd definitely suggest working side by&lt;br /&gt;side with your developers, and iterating frequently while you're still&lt;br /&gt;expecting frequent "failures" in the dev/test process &lt;/blockquote&gt;&lt;br /&gt;I would love to her your personal experience :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-5762124743051806155?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/UG3JF6LklxU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5762124743051806155/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5762124743051806155" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5762124743051806155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5762124743051806155?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/UG3JF6LklxU/developers-compliance-to-test.html" title="Developers Compliance to Test Automation" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/developers-compliance-to-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UFSH06eCp7ImA9WxRXEkk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-7382212993228579090</id><published>2008-04-09T22:47:00.007+03:00</published><updated>2008-10-17T15:06:59.310+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-17T15:06:59.310+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Selenium Grid" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Browser Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Regression Test" /><category scheme="http://www.blogger.com/atom/ns#" term="Performance Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Test" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Selenium RC" /><title>Is Selenium a Performance Test Tool ?</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PRlZdkCsQGzbK6RJyfEkl5gycWg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PRlZdkCsQGzbK6RJyfEkl5gycWg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PRlZdkCsQGzbK6RJyfEkl5gycWg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PRlZdkCsQGzbK6RJyfEkl5gycWg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Some people may get confused when first introduced to &lt;a href="http://selenium-rc.openqa.org/"&gt;Selenium RC&lt;/a&gt; or &lt;a href="http://selenium-grid.openqa.org/"&gt;Selenium Grid&lt;/a&gt;. The best answer to this is what i read on Selenium users group by  Haw-Bin:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;It's possible, but it's not a great usage of &lt;span class="nfakPe"&gt;Selenium&lt;/span&gt;. One reason is that actually starting that many browsers will create a lot of overhead on the machines they are running on. You'll end up wasting a lot more computing power than you have to.&lt;br /&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Independent Thoughts&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;According to &lt;a href="http://www.ext.colostate.edu/PUBS/columncc/cc000825.html" rel="nofollow" &gt;pay day loan reviews&lt;/a&gt;, a lot of people go for &lt;a href="http://www.competinglenders.co.uk/glossary/fast-personal-loan-uk-accessing-home-funds-for-fast-needs/" rel="nofollow" &gt;personal loans&lt;/a&gt; to start work on these tests. Some use their &lt;a href="http://www.competinglenders.co.uk/resources/homeowner-loan-uk-borrowing-against-your-prized-possession/" rel="nofollow" &gt;home equity loans&lt;/a&gt; too, but usually it is the &lt;a href="http://www.competinglenders.co.uk/" rel="nofollow" &gt;loans&lt;/a&gt;. This is the reason why it does not take much time in becoming a &lt;a href="http://www.competinglenders.co.uk/a/bad-credit-loans.htm" rel="nofollow" &gt;bad credit loan&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-7382212993228579090?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/Ra9BAoR0-yw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/7382212993228579090/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=7382212993228579090" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7382212993228579090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/7382212993228579090?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/Ra9BAoR0-yw/is-selenium-performance-test-tool.html" title="Is Selenium a Performance Test Tool ?" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/is-selenium-performance-test-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMSH49eSp7ImA9WxZUFkk.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-8145045442009232225</id><published>2008-04-08T12:25:00.008+03:00</published><updated>2008-04-08T13:09:49.061+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-08T13:09:49.061+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><category scheme="http://www.blogger.com/atom/ns#" term="IBM" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><title>IBM Rational Robot vs. HP (Mercury) QuickTest Professional</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Xg5ot-vNAP3CTBe8SrnWUsObpJM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xg5ot-vNAP3CTBe8SrnWUsObpJM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Xg5ot-vNAP3CTBe8SrnWUsObpJM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xg5ot-vNAP3CTBe8SrnWUsObpJM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www-306.ibm.com/software/awdtools/tester/robot/"&gt;&lt;span style="font-weight: bold;"&gt;IBM Rational Robot&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Smart object recognition&lt;/li&gt;&lt;li&gt;Stable recording and playback. Robot solves the problem of custom objects encountered in AppWorks by the ability to add those object to a class map. &lt;/li&gt;&lt;li&gt;IBM Rational TestManager is necessary to view detailed tests logs. &lt;/li&gt;&lt;li&gt;Datapools supported&lt;/li&gt;&lt;li&gt;Support distributed testing and sharing test scripts.&lt;/li&gt;&lt;li&gt;Very simplified scripting using SQABasic; a simplified scripting language. Other scripting languages are possible (C++ and Java) with an aid from TestManager&lt;br /&gt;&lt;/li&gt;&lt;li&gt;IBM Rational Robot Authorized User License + SW Subscription &amp;amp; Support 12 Months (D53NDLL) $ 4,676.00&lt;/li&gt;&lt;li&gt;IBM Rational Robot Floating User License + SW Subscription &amp;amp; Support 12 Months (D52ZFLL) $ 9,009.00&lt;/li&gt;&lt;/ul&gt;&lt;a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;amp;cp=1-11-15-24%5E1322_4000_100__"&gt;&lt;span style="font-weight: bold;"&gt;HP (Mercury) QuickTest Professional&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Smart object recognition.&lt;/li&gt;&lt;li&gt;Stable recording and playback&lt;/li&gt;&lt;li&gt;Detailed reporting&lt;/li&gt;&lt;li&gt;VB scripting&lt;/li&gt;&lt;li&gt;Scripts can be shared, but &lt;a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;amp;cp=1-11-127-24%5E1131_4000_100__"&gt;HP (Mercury) Quality Center&lt;/a&gt; is necessary.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Datapools supported\HP (Mercury) Quality Center is necessary to share scripts. &lt;/li&gt;&lt;li&gt;Pricing: Information Not available. I will update it soon!&lt;br /&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/7557978943964322249-8145045442009232225?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/Qr0J7R-drJk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/8145045442009232225/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=8145045442009232225" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8145045442009232225?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8145045442009232225?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/Qr0J7R-drJk/ibm-rational-robot-vs-hp-mercury.html" title="IBM Rational Robot vs. HP (Mercury) QuickTest Professional" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.testsquad.org/2008/04/ibm-rational-robot-vs-hp-mercury.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ERn08eip7ImA9WxZWFEU.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5765458302697470912</id><published>2008-03-12T12:09:00.001+03:00</published><updated>2008-03-14T11:21:47.372+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-14T11:21:47.372+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Test" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>.Net  2008 Web Test Review Take 2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r0OW0HmAhQQWDZq_nKtjbAnZCvA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r0OW0HmAhQQWDZq_nKtjbAnZCvA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r0OW0HmAhQQWDZq_nKtjbAnZCvA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r0OW0HmAhQQWDZq_nKtjbAnZCvA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.      The tool could be used to verify the core functionality (Not the UI) of the Web application.. This tool is convenient for detecting crashes.&lt;br /&gt;&lt;br /&gt;2.      Script recording and playback is easy and stable.&lt;br /&gt;&lt;br /&gt;3.      Works under multiple browsers.&lt;br /&gt;&lt;br /&gt;4.      Supports browser version updates.&lt;br /&gt;&lt;br /&gt;5.      Supports Scripting in C# and VB.&lt;br /&gt;&lt;br /&gt;6.      Affordable system requirements. Same as TFS.&lt;br /&gt;&lt;br /&gt;7.      Lists detailed result for each passed or failed step.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.      The tool has a limitation when the page has JavaScript actions. In order to simulate those actions, the tester has to integrate code to simulate those actions. Which could be cumbersome depending on the application under test.&lt;br /&gt;&lt;br /&gt;2.      Test reports cannot be exported or printed.&lt;br /&gt;&lt;br /&gt;3.      Does not support pop-up recording. This is a known issue. See MSDN forums for details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-5765458302697470912?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/MGPFLBCF3Rc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5765458302697470912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5765458302697470912" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5765458302697470912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5765458302697470912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/MGPFLBCF3Rc/net-team-system-2008-web-test-review.html" title=".Net  2008 Web Test Review Take 2" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/03/net-team-system-2008-web-test-review.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IASH85eCp7ImA9WxZXF0Q.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-5969254201853896870</id><published>2008-03-01T14:13:00.003+03:00</published><updated>2008-03-06T13:32:29.120+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-06T13:32:29.120+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Rational Functional Tester" /><title>Quick Notes About RFT (Rational Functional Tester)</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vXkpUACuDn2ZBx2hdwaxqfElLnw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vXkpUACuDn2ZBx2hdwaxqfElLnw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vXkpUACuDn2ZBx2hdwaxqfElLnw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vXkpUACuDn2ZBx2hdwaxqfElLnw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="margin: 1ex;"&gt;      &lt;div&gt;    &lt;p&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Good Things about  RFT:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol type="1"&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Flexibility in terms of    full access to object properties,  controlling those properties in a    very meticulous way which gives the ability to override unwanted recognition    errors and increase application's immunity to changes in your AUT that    should  not be considered as fails. RFT is doing great here&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Since it works under eclipse,    you have virtually unlimited ability to integrate useful java classes    that recording and playback cannot do. Such as database accessibility,    necessary looping and switching and even adding a nice sleeky UI.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;b&gt;Concerns about RFT:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol type="1"&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Unexpected crashes of the framework. This happened three times in less than 8 months. It happens in response to an eclipse update.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Eclipse version effect on new scripts: New Scripts may not run until eclipse is update.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Competition with other products    such as QTP and open source tools such as Selenium and Selenium grid,    which i am starting to like more and more.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Flash and Flex plug-ins. Flash and flex support is available only in version 7 and above. My version is 6.1. Why isn't there a plug-in to support this?!&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&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/7557978943964322249-5969254201853896870?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/SbPNS9GEGFk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/5969254201853896870/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=5969254201853896870" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5969254201853896870?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/5969254201853896870?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/SbPNS9GEGFk/quick-notes-about-rft-rational.html" title="Quick Notes About RFT (Rational Functional Tester)" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.testsquad.org/2008/03/quick-notes-about-rft-rational.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cGRn87eip7ImA9WxZXE0o.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-2655443818895837011</id><published>2008-02-23T14:27:00.011+03:00</published><updated>2008-03-01T14:30:27.102+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-01T14:30:27.102+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RFT" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Rational Functional Tester" /><category scheme="http://www.blogger.com/atom/ns#" term="jdbc" /><title>Enhance IBM Rational Functional Tester (RFT) with U.I Java Classes</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ExvsrWiCr4Jk2maTQSSioM7t-88/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ExvsrWiCr4Jk2maTQSSioM7t-88/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ExvsrWiCr4Jk2maTQSSioM7t-88/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ExvsrWiCr4Jk2maTQSSioM7t-88/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Disclaimer: This post is related to IBM Rational Functional Tester With Java. It needs some slight modifications to work with other tools.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes, your automated test script needs to do some strange stuff. Like accessing the database, extracting some value and using this value in subsequent U.I steps in your script.&lt;br /&gt;&lt;br /&gt;Suppose that you have hundreds of scripts that needs the following block to access the DB and read a certain value:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt; try{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Connection db_connection = DriverManager.getConnection("jdbc:odbc:DBNAME",&lt;br /&gt;"&lt;span style="color: rgb(255, 0, 0);"&gt;username&lt;/span&gt;","&lt;span style="color: rgb(255, 0, 0);"&gt;password&lt;/span&gt;");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Statement stm2 = db_connection.createStatement();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            stm2.executeQuery("select * from TableName");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      catch( SQLException x ){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         JOptionPane.showMessageDialog(null,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;              x.getLocalizedMessage().toString(),"Error",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                JOptionPane.ERROR_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;What if the username and password is changed after a period of time for a certain reason. This means that you need to modify all your scripts and change the credentials. And this could be a pain and very time consuming.&lt;br /&gt;&lt;br /&gt;A good practice  is creating a class that will prompt the user to enter the credentials and validates them before running the script. This will save time and headache in subsequent releases.&lt;br /&gt;&lt;br /&gt;The following is the &lt;a href="http://adel.sh.googlepages.com/SendValidUNandPW.java"&gt;code&lt;/a&gt; for the class with the proprietary information removed:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;import javax.swing.JOptionPane;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import resources.SendValidUNandPWHelper;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.object.interfaces.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.object.interfaces.siebel.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.script.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.value.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.rational.test.ft.vp.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.sql.Connection;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.sql.DriverManager;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.sql.SQLException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.sql.Statement;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * Description   : Functional Test Script&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @author Ashehadeh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class SendValidUNandPW extends SendValidUNandPWHelper&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * Script Name   : &lt;b&gt;CheckDBDialog&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * Generated     : &lt;b&gt;Feb 19, 2008 8:31:06 AM&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * Description   : Functional Test Script&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * Original Host : WinNT Version 5.1  Build 2600 (S)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * @since  2008/02/19&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     * @author Ashehadeh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    * @param args&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public String[] sendValidCredentials(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] k =validateInput();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    while (k==null){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       k= validateInput();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return k;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//check if the provided credential can access the DB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public  static String[] validateInput(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] k =isDBonline();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if (k==null){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        result =null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        System.exit(0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    else {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Connection db_connection = DriverManager.getConnection("jdbc:odbc:&lt;span style="color: rgb(255, 0, 0);"&gt;DBNAME&lt;/span&gt;",k[0],k[1]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Statement stm2 = db_connection.createStatement();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            stm2.executeQuery("select * from &lt;span style="color: rgb(255, 0, 0);"&gt;TABLEName&lt;/span&gt;");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            result =k;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      catch( SQLException x ){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          JOptionPane.showMessageDialog(null,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                  "Please Enter correct Uasername/Password!","Error",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                    JOptionPane.ERROR_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         /* JOptionPane.showMessageDialog(null,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;              x.getLocalizedMessage().toString(),"Error",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                JOptionPane.ERROR_MESSAGE);*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return result;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//check if the db is online from the first place&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;public static String[] isDBonline(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] k =isOneEmpty();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if (k==null){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        result =null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        System.exit(0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    //now check for DB connectivity&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    else {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            result =k;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        catch(ClassNotFoundException c){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            JOptionPane.showMessageDialog(null,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                    "DB Unavailable!","Error",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                    JOptionPane.ERROR_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.exit(0);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return result;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//is one of the fields empty? if so, exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static String[] isOneEmpty(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] k=showDialog();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] result;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//  if one of the username or passwords are empty, exit.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if (k[0]==null || k[1].equals("") || &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            k[1].equals("") || k[1]==null){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        JOptionPane.showMessageDialog(null,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                "Error. Fill the two fields. Click ok to exit!","Error",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                JOptionPane.ERROR_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        result=null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        System.exit(0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    //if both of them are not empty continue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    else{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       result=k;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return result;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;//prompt the user for username and password&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public static String[] showDialog() {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String DBUsername=JOptionPane.showInputDialog(null, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            "Enter DB username:", "Input", JOptionPane.QUESTION_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String DBpassword=JOptionPane.showInputDialog(null, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            "Enter DB password:", "Input", JOptionPane.QUESTION_MESSAGE);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    String[] UPArray={DBUsername,DBpassword};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return UPArray;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-2655443818895837011?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/42_lquvefKU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/2655443818895837011/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=2655443818895837011" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2655443818895837011?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/2655443818895837011?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/42_lquvefKU/enhance-ibm-rational-functional-testers.html" title="Enhance IBM Rational Functional Tester (RFT) with U.I Java Classes" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://www.testsquad.org/2008/02/enhance-ibm-rational-functional-testers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcESXo_fyp7ImA9WxVSGU8.&quot;"><id>tag:blogger.com,1999:blog-7557978943964322249.post-8091203369166045625</id><published>2008-02-09T17:15:00.005+03:00</published><updated>2009-01-14T11:00:08.447+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-14T11:00:08.447+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>.Net 2008 Web Test Review</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WaynHjrMtcjJcvsYCI0--dPYnh4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WaynHjrMtcjJcvsYCI0--dPYnh4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WaynHjrMtcjJcvsYCI0--dPYnh4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WaynHjrMtcjJcvsYCI0--dPYnh4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I had some time lately to get my  hands dirty with &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718941.aspx"&gt;.Net 2008 .&lt;/a&gt;  The tool as described works under the http layer. So it’s designed to test hard core web functionalities. The tool is not a good choice when it comes to creating verification points and verification of JavaScript client side actions details.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The tool could be used to verify the core functionality (Not the UI) of the Web application.  For example if you have a web application which is notorious for crashes. This tool is so perfect for detecting this whenever a new release is out.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Recording and playback is so easy and stable.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;System requirements are relatively acceptable if compared with other tools.  My machine is   2GB in memory. The tool is running smoothly on it. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Playback only displays actions that are associated with Http requests. It will not display javascript user actions. However those actions can be simulated using coding. Click &lt;a href="http://msdn2.microsoft.com/en-us/library/ms364082%28VS.80%29.aspx"&gt;Microsoft Web Test Authoring and Debugging Techniques&lt;/a&gt;  article for details.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Only VB and C# coding are supported.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This tool may not give you all what we need, but it has some great features for web application functional testing.&lt;br /&gt;&lt;br /&gt;The following article is a great resource:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms364082%28VS.80%29.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms364082(VS.80).aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7557978943964322249-8091203369166045625?l=www.testsquad.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/testsquad/LUBG/~4/IknFcYahnpo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.testsquad.org/feeds/8091203369166045625/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7557978943964322249&amp;postID=8091203369166045625" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8091203369166045625?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7557978943964322249/posts/default/8091203369166045625?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/testsquad/LUBG/~3/IknFcYahnpo/net-team-system-software-tester-team.html" title=".Net 2008 Web Test Review" /><author><name>عادل</name><email>adel.sh@gmail.com</email><gd:extendedProperty name="OpenSocialUserId" value="11704812640696319157" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.testsquad.org/2008/02/net-team-system-software-tester-team.html</feedburner:origLink></entry></feed>
