<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5401578554988570599</id><updated>2011-11-27T16:32:30.735-08:00</updated><title type='text'>Software Testing Tools and Techniques</title><subtitle type='html'>Automated testing with WinRunner, LoadRunner &amp; Rational Robot</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://test-techtools.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>81</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5916032570309084875</id><published>2007-11-18T23:31:00.000-08:00</published><updated>2007-11-18T23:38:54.198-08:00</updated><title type='text'>Testing Practices</title><content type='html'>One should make testing a practice so that the deliverable quality is ensured after running succesful tests and removing the bugs.&lt;br /&gt;&lt;br /&gt;According to Martin Fowler, "Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead." At first you will find that you have to create a new fixtures all the time, and testing will seem to slow you down a little. Soon, however, you will begin reusing your library of fixtures and new tests will usually be as simple as adding a method to an existing TestCase subclass.&lt;br /&gt;You can always write more tests. However, you will quickly find that only a fraction of the tests you can imagine are actually useful. What you want is to write tests that fail even though you think they should work, or tests that succeed even though you think they should fail. Another way to think of it is in cost/benefit terms. You want to write tests that will pay you back with information.&lt;br /&gt;&lt;br /&gt;Here are a couple of the times that you will receive a reasonable return on your testing investment:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;strong&gt;During Development:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;When you need to add new functionality to the system, write the tests first. Then, you will be done developing when the test runs.&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;strong&gt;During Debugging:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;When someone discovers a defect in your code, first write a test that will succeed if the code is working. Then debug until the test succeeds.&lt;br /&gt;One word of caution about your tests. Once you get them running, make sure they stay running. There is a huge difference between having your suite running and having it broken. Ideally, you would run every test in your suite every time you change a method. Practically, your suite will soon grow too large to run all the time. Try to optimize your setup code so you can run all the tests. Or, at the very least, create special suites that contain all the tests that might possibly be affected by your current development. Then, run the suite every time you compile. And make sure you run every test at least once a day: overnight, during lunch, during one of those long meetings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5916032570309084875?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5916032570309084875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5916032570309084875'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/11/testing-practices.html' title='Testing Practices'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5502484073841280739</id><published>2007-09-30T23:26:00.000-07:00</published><updated>2007-10-01T02:00:38.879-07:00</updated><title type='text'>Web Test tools</title><content type='html'>Thousands of software testing tools and technologies are available in the todays market, thus helps organizations to make their software systems more reliable, enhanced and efficient.&lt;br /&gt;Some important load and performance test tools with respect to the web applications are listed in this article. Their core features are also included to get familiar with their capabilities.&lt;br /&gt;&lt;br /&gt;Load and performance test tools&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Curl-Loader:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;This tool is an open source tool written in ‘C’. It is useful to test the load and behavior of large number of Ftp/Ftps and Http/Https clients, each with its own source IP-address. Curl-Loader uses the real c-written client protocol stacks like HTTP and FTP stacks of libcurl and TSL/SSL of openssl. Activities for each virtual client is logged, all the logged data includes the following information: resolving, connection establishment, sending of requests, receiving responses, headers and data received/sent, errors from network, TLS/SSL and application (HTTP, FTP) level events and errors.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;OpNet LoadScaler:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;It is a load test tool presented by OpNet Technologies. It performed some useful functions like Create tests without programming; generate loads against web applications, and other services including Web Services, FTP, and Email. Record end-user browser activity in the OPNET TestCreatorTM authoring environment to automatically generate test scripts in industry-standard JavaScript. Modify, extend and debug tests with the included JavaScript editor. Alternatively, drag and drop icons onto the test script tree. No knowledge of a scripting language is required to customize test scripts.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Stress Tester:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;It is a load and performance testing tool for web applications. Advanced user journey modeling, scalable load, system resources monitors and results analysis. No scripting required. Suitable for any Web, JMS, IP or SQL Application. OS independent.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Proxy Sniffer:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;It is a stress and load testing tool having some nice features.&lt;br /&gt;. HTTP/S Web Session Recorder that can be used with any web browser.&lt;br /&gt;. Recordings can then be used to automatically create optimized Java-based load test programs.&lt;br /&gt;. Automatic protection from "false positive" results by examining actual web page content.&lt;br /&gt;. Detailed Error Analysis using saved error snapshots and real-time statistics.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Testing master:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Testing master is a strong load testing tool which has the following characteristics.&lt;br /&gt;. IP spoofing&lt;br /&gt;. Multiple simultaneous test cases&lt;br /&gt;. Website testing features for sites with dynamic content and secure HTTPS pages&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;NeoLoad:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;It is a web load testing tool with user friendly graphical interface and can design complex cases to handle real world applications. It has the following list of features:&lt;br /&gt;. Data replacement&lt;br /&gt;. Data extraction and SOAP support&lt;br /&gt;. System monitoring (Windows, Linux, IIS, Apache, Web Logic, Web sphere...)&lt;br /&gt;. SSL recording&lt;br /&gt;. PDF/HTML/Word reporting&lt;br /&gt;. IP spoofing&lt;br /&gt;. It is multi platform and can run on Windows, Linux, and Solaris&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;QTest:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;This tool is used for web load testing, it has the following characteristics&lt;br /&gt;. Cookies are managed natively&lt;br /&gt;. Shorten the script modeling stage&lt;br /&gt;. HTML and XML parser&lt;br /&gt;. Option of developing custom monitors using supplied APIs&lt;br /&gt;. Allowing display and retrieval of any element from a HTML page or an XML flux in test scripts&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;LoadDriver:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;A very strong testing tool equipped with some modern day technologies. It has the following capabilities:&lt;br /&gt;. Rather than simulating the browsers tt directly drives multiple instances of MSIE&lt;br /&gt;. It supports browser side scripts along with HTTP 1.0/1.1, HTTPS, cookies, cache, and Windows authentication&lt;br /&gt;. Data can be taken from text files or custom ODBC data source and passed to the tests, for individual userID, password, page to start, think times, data to enter, links to click, cache, initial cache state&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Site Tester1:&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;It is a load testing tool which require JDK1.2 or higher to run. Its functions includes HTTP1.0/1.1 compatible requests, POST/GET methods, cookies, running in multi-threaded or single-threaded mode, definition of requests, jobs, procedures and tests, keeps and reads XML formatted files for test definitions and test logs, generates various reports in HTML format&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;strong&gt;Microsoft WCAT load test tool:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;A very efficient tool from Microsoft Corporation which is responsible for the load testing of Internet Information services (IIS) servers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;WebPerformance Load Tester:&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;It is a load tester having some attractive features listed below:&lt;br /&gt;. It supports all browsers and web servers.&lt;br /&gt;. Records and allows viewing of exact bytes flowing between browser and server&lt;br /&gt;. No scripting required.&lt;br /&gt;. Modem simulation allows each virtual user to be bandwidth limited.&lt;br /&gt;. It can automatically handle variations in session-specific items such as cookies, usernames, passwords, IP addresses, and any other parameter to simulate multiple virtual users&lt;br /&gt;. It can be used on Windows, Linux, UNIX and Solaris platforms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5502484073841280739?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5502484073841280739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5502484073841280739'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/09/web-test-tools.html' title='Web Test tools'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-9177481727321473393</id><published>2007-07-25T03:35:00.000-07:00</published><updated>2007-09-11T22:03:04.318-07:00</updated><title type='text'>Selecting an Object Order Preference</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot uses a variety of object recognition methods in order to uniquely identify objects in the application-under-test that are acted on during recording sessions. For example, Robot can identify a check box in the application-under-test by its object name, associated label or text string, index value, or ID value.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;These recognition methods are saved as arguments in script commands so that Robot can correctly identify the same objects during playback. &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot has two predefined preferences for the recognition method order for each standard object type. While recording an action on an object, Robot tries each method within the selected preference in sequence until it finds a method that uniquely identifies the object.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The following table describes the two predefined preferences.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Trebuchet MS;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;table id="table1" cellspacing="4" cellpadding="2" width="100%" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;b&gt;Object Order Preference&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;b&gt;Recognition Method Order&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-family:trebuchet ms;"&gt;Comments&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&amp;lt;Default&amp;gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Object Name Label and/or Text Index ID&lt;/span&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Index comes before ID. In some environments, such as PowerBuilder and Visual Basic, the ID changes each time the developer creates an executable file and is therefore not a good recognition method.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;C++ Recognition Order&lt;/span&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Object Name Label and/or Text ID&lt;/span&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Index ID comes before index. In some environments, suchas C++, the ID does not usually change and is therefore a good recognition method.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The &lt;default&gt;object order preference is the initial setting. If you plan to test C++ applications, change the preference to C++ Recognition Order.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Settings in the Object Recognition Order tab of the GUI Record Options dialog box do not affect HTML recording. When recording against HTML, Robot always uses HTMLID, if available, and then name, text, and index recognition and ignores any settings in the Object Recognition Order tab.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;To change the object order preference:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Open the GUI Record Options dialog box.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Click the &lt;strong&gt;Object Recognition Order&lt;/strong&gt; tab.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Select a preference in the &lt;strong&gt;Object order preference&lt;/strong&gt; list.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Click OK or change other options.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Note&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The object order preference is specific to each user. For example, you can record with C++ preferences while another user is recording with &lt;default&gt;preferences at the same time.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-9177481727321473393?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/9177481727321473393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/9177481727321473393'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/07/selecting-object-order-preference.html' title='Selecting an Object Order Preference'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5149004849744241701</id><published>2007-07-25T00:41:00.000-07:00</published><updated>2007-07-25T02:21:38.580-07:00</updated><title type='text'>Setting GUI Recording Options</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;GUI recording options provide instructions to Robot about how to record and generate GUI scripts. You can set these options either before you begin recording or early in the recording process.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;To set the GUI recording options:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Open the GUI Record Options dialog box by doing one of the following:&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Before you start recording, click Tools &gt; GUI Record Options.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Start recording by clicking the Record GUI Script button on the toolbar. In the Record GUI dialog box, click Options.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Set the options on each tab.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Click OK.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Naming Scripts Automatically&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot can assist you in assigning names to scripts with its script autonaming feature. Autonaming inserts your specified characters into the &lt;strong&gt;Name&lt;/strong&gt; box of a new script and appends a consecutive number to the prefix.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;This is a useful feature if you are recording a series of related scripts and want to identify their relationship through the prefix in their names. For example, if you are testing the menus in a Visual Basic application, you might want to have every script name start with VBMenu.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;To turn on script autonaming:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Open the GUI Record Options dialog box.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;In the &lt;strong&gt;General&lt;/strong&gt; tab, type a prefix in the &lt;strong&gt;Prefix&lt;/strong&gt; box. Clear the box if you do not want a prefix. If the box is cleared, you need to type a name each time you record a new script.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Click &lt;strong&gt;OK&lt;/strong&gt; or change other options.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The next time you record a new script, the prefix and a number appear in the &lt;strong&gt;Name&lt;/strong&gt; box of the Record GUI dialog box.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;For example the autonaming prefix is Test. When you record a new script, Test7 appears in the &lt;strong&gt;Name&lt;/strong&gt; box because six other scripts begin with Test.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;If you change the script autonaming prefix by clicking Options in the Record GUI dialog box, changing the prefix, and then clicking OK, the name in the Name box changes immediately.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Controlling How Robot Responds to Unknown Objects&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;During recording, Robot recognizes all standard Windows GUI objects that you click, such as check boxes and list boxes. Each of these objects is associated with one of a fixed list of object types. The association of an object with an object type is generally based on the class name of the window associated with the object.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot also recognizes many custom objects defined by IDEs that Robot supports, such as Visual Basic, Oracle Forms, Java, and HTML. For example, if you click a Visual Basic check box, Robot recognizes it as a standard Windows check box. This mapping is based on the object’s Visual Basic assigned class name of ThunderCheckBox.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;These built-in object mappings are delivered with Robot and are available to all users no matter which project they are using. During recording, you might click an object that Robot does not recognize. In this case, Robot’s behavior is controlled by a recording option that you set. You can have Robot do either of the following:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Open the Define Object dialog box, so that you can map the object to a known object type.&lt;br /&gt;Mapping an object to an object type permanently associates the class name of the object’s window with that object type, so that other objects of that type are recognized.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Automatically map unknown objects encountered while recording with the Generic object type. This permanently associates the class name of the unknown object’s window with the Generic object type.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;This is a useful setting if you are testing an application that was written in an IDE for which Robot does not have special support and which therefore might contain many unknown objects. When an object is mapped to the Generic object type, Robot can test a basic set of its properties, but it cannot test the special properties associated with a specific object type. Robot also records the object’s x,y coordinates instead of using the more reliable object recognition methods to&lt;br /&gt;identify the object.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;These custom object mappings are stored in the project that was active when the mappings were created.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;To control how Robot behaves when it encounters an unknown object during recording:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Open the GUI Record Options dialog box.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;In the General tab, do one of the following:&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Select Define unknown objects as type "Generic" to have Robot automatically associate unknown objects encountered while recording with the Generic object type.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Clear Define unknown objects as type "Generic" to have Robot suspend recording and open the Define Object dialog box if it encounters an unknown object during recording. Use this dialog box to associate the object with an object type.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Click OK or change other options.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5149004849744241701?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5149004849744241701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5149004849744241701'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/07/setting-gui-recording-options.html' title='Setting GUI Recording Options'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-544296242713442600</id><published>2007-07-12T00:05:00.000-07:00</published><updated>2007-07-12T00:11:26.592-07:00</updated><title type='text'>Enabling IDE Applications for Testing</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot provides specialized support for testing the objects in applications that are created in many integrated development environments (IDEs).&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;To successfully test the objects in Oracle Forms, HTML, Java, C++, Delphi, and Visual Basic 4.0 applications, you need to enable the applications as follows before you start recording your scripts:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;Oracle Forms &lt;/span&gt;&lt;/strong&gt;– Install the Rational Test Enabler for Oracle Forms. Run the Enabler to have it add the Rational Test Object Testing Library and three triggers to the .fmb files of the application.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;HTML &lt;/span&gt;&lt;/strong&gt;– While recording or editing a script, use the Start Browser toolbar button to start Internet Explorer or Netscape Navigator from Robot. This loads the Rational ActiveX Test Control, which lets Robot recognize Web-based objects.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;Java&lt;/span&gt;&lt;/strong&gt; – Run the Java Enabler to have it scan your hard drive for Java environments such as Web browsers and Sun JDK installations that Robot supports. The Java Enabler only enables those environments that are currently installed.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;C/C++&lt;/span&gt;&lt;/strong&gt; – To test the properties and data of ActiveX controls in your applications, install the Rational ActiveX Test Control. This is a small, nonintrusive custom control that acts as a gateway between Robot and your application. It has no impact on the behavior or performance of your application and is not visible at runtime. Manually add the ActiveX Test Control to each OLE container (Window) in your application.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;Visual Basic 4.0&lt;/span&gt;&lt;/strong&gt; – Install the Rational Test Enabler for Visual Basic. Attach the Enabler to Visual Basic as an add-in. Have the Enabler add the Rational ActiveX Test Control to every form in the application. This is a small, nonintrusive custom control that acts as a gateway between Robot and your application.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;Delphi&lt;/span&gt;&lt;/strong&gt; – Install the Rational Object Testing Library for Delphi and the Rational Test Delphi Enabler. Run the Enabler, and then recompile your project to make it Delphi testable.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;You can install the Enablers and the ActiveX Test Control from the Rational Software Setup wizard.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-544296242713442600?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/544296242713442600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/544296242713442600'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/07/enabling-ide-applications-for-testing.html' title='Enabling IDE Applications for Testing'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3392337172349022819</id><published>2007-06-28T23:51:00.000-07:00</published><updated>2007-06-29T00:11:30.713-07:00</updated><title type='text'>Recording GUI Scripts in Rational Robot</title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;The Recording Process&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;When you record a GUI script, Robot records:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Your actions as you use the application-under-test. These user actions include keystrokes and mouse clicks that help you navigate through the application.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Verification points that you insert to capture and save information about specific objects. A verification point is a point in a script that you create to confirm the state of an object across builds. During recording, the verification point captures object information and stores it as the baseline. During playback, the verification point recaptures the object information and compares it to the baseline.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The recorded GUI script establishes the baseline of expected behavior for the application-under-test. When new builds of the application become available, you can play back the script to test the builds against the established baseline in a fraction of the time that it would take to perform the testing manually.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;The Recording Workflow&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Typically, when you record a GUI script, your goal is to:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Record actions that an actual user might perform (for example, clicking a menu command or selecting a check box).&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create verification points to confirm the state of objects across builds of the application-under-test (for example, the properties of an object or the text in an entry field).&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Before You Begin Recording&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;You should plan to use Robot at the earliest stages of the application development and testing process. If any Windows GUI objects such as menus and dialog boxes exist within the initial builds of your application, you can use Robot to record the corresponding verification points.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Consider the following guidelines before you begin recording:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Establish predictable start and end states for your scripts.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Set up your test environment.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create modular scripts.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create Shared Projects with UNC.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;These guidelines are described in more detail in the following sections.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;&lt;strong&gt;Establishing Predictable Start and End States for Scripts&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;By starting and ending the recording at a common point, scripts can be played back in any order, with no script being dependent on where another script ends. For example, you can start and end each script at the Windows desktop or at the main window of the application-under-test.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Setting Up Your Test Environment&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Any windows that are open, active, or displayed when you begin recording should be open, active, or displayed when you stop recording. This applies to all applications, including Windows Explorer, e-mail, and so on.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot can record the sizes and positions of all open windows when you start recording, based on the recording options settings. During playback, Robot attempts to restore windows to their recorded states and inserts a warning in the log if it cannot find a recorded window.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;In general, close any unnecessary applications before you start to record. For stress testing, however, you may want to deliberately increase the load on the test environment by having many applications open.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Creating Modular Scripts&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rather than defining a long sequence of actions in one GUI script, you should define scripts that are short and modular. Keep your scripts focused on a specific area of testing — for example, on one dialog box or on a related set of recurring actions.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;When you need more comprehensive testing, modular scripts can easily be called from or copied into other scripts. They can also be grouped into shell scripts, which are top-level, ordered groups of scripts.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The benefits of modular scripts are:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;They can be called, copied, or combined into shell scripts.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;They can be easily modified or rerecorded if the developers make intentional changes to the application-under-test.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;They are easier to debug.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Creating Modular Scripts with UNC&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;When projects containing GUI or Manual scripts are to be shared, create the project in a shared directory using the Uniform Naming Convention (UNC). UNC paths are required for GUI test scripts and Manual test scripts that are run on Agent computers.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3392337172349022819?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3392337172349022819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3392337172349022819'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/recording-gui-scripts-in-rational-robot.html' title='Recording GUI Scripts in Rational Robot'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7780025916086683794</id><published>2007-06-19T22:25:00.000-07:00</published><updated>2007-06-19T22:53:00.795-07:00</updated><title type='text'>Hosting Robot/Applications on a Terminal Server</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot supports the following Terminal Server environments:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Citrix MetaFrame (WIN2K)/Citrix MetaFrame client&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Microsoft Terminal Server (WIN2K)/Microsoft Terminal Server client&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Windows 2000 Server&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Windows Terminal Server (Windows NT4)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The server hosts both the application under test and Robot. Robot runs on the client as a terminal server session. Rational Robot supports GUI script recording and playback on the server or from the client. The TestManager Log Viewer edition can be run from the server or from the client.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Trebuchet MS;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Starting Robot and Its Components&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Trebuchet MS;color:#33cc00;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Before you start using Robot, you need to have:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational Robot installed.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;A Rational project.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Logging On&lt;/span&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;When you log onto Robot or one of its components, you provide your user ID and password, which are assigned by your administrator. You also specify the project to log onto.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br&gt;To log on:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;From Start &gt; Programs &gt; Rational product name, start Rational Robot or one of its components to open the Rational Login dialog box.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5078016203387562578" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="185" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/Rni81R6X6lI/AAAAAAAAAJM/mCufLZh2Hoc/s320/img06.jpg" width="400" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Opening Other Rational Products and Components&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Once you are logged onto a Robot component, you can start other products and components from either:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5078016933532002914" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="421" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/Rni9fx6X6mI/AAAAAAAAAJU/KEm5mXQdzX8/s320/img07.jpg" width="400" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;p align="justify"&gt;&lt;br /&gt;Some components also start automatically when you perform certain functions in another component.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7780025916086683794?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7780025916086683794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7780025916086683794'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/hosting-robotapplications-on-terminal.html' title='Hosting Robot/Applications on a Terminal Server'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/Rni81R6X6lI/AAAAAAAAAJM/mCufLZh2Hoc/s72-c/img06.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3151167526599458095</id><published>2007-06-13T23:01:00.000-07:00</published><updated>2007-06-14T00:12:40.562-07:00</updated><title type='text'>Testing Applications with Rational TestFactory</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational TestFactory is a component-based testing tool that automatically generates TestFactory scripts according to the application’s navigational structure.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;TestFactory is integrated with Robot and its components to provide a full array of tools for team testing under Windows NT 4.0, Windows XP, Windows 2000, and Windows 98.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;With TestFactory, you can:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Automatically create and maintain a detailed map of the application-under-test.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Automatically generate both scripts that provide extensive product coverage and scripts that encounter defects, without recording.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Track executed and unexecuted source code and report its detailed findings.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Shorten the product testing cycle by minimizing the time invested in writing navigation code.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Play back Robot scripts in TestFactory to see extended code coverage information and to create regression suites; play back TestFactory scripts in Robot to debug them.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Managing Defects with Rational ClearQuest&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational ClearQuest is a change-request management tool that tracks and manages defects and change requests throughout the development process. With ClearQuest, you can manage every type of change activity associated with software development, including enhancement requests, defect reports, and documentation modifications.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;With Robot and ClearQuest, you can:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Submit defects directly from the TestManager log or SiteCheck.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Modify and track defects and change requests.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Analyze project progress by running queries, charts, and reports.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Collecting Diagnostic Information During Playback&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Use the Rational diagnostic tools to perform runtime error checking, profile application performance, and analyze code coverage during playback of a Robot script.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Rational Purify&lt;/span&gt; is a comprehensive C/C++ runtime error checking tool that automatically pinpoints runtime errors and memory leaks in all components of an application, including third-party libraries, ensuring that code is reliable.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Rational Quantify&lt;/span&gt; is an advanced performance profiler that provides application performance analysis, enabling developers to quickly find, prioritize, and eliminate performance bottlenecks within an application.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Rational PureCoverage&lt;/span&gt; is a customizable code coverage analysis tool that provides detailed application analysis and ensures that all code has been exercised, preventing untested code from reaching the end user.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;Performance Testing with Rational TestManager&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational TestManager is a sophisticated tool for automating performance tests on client/server systems. A client/server system includes client applications accessing a database or application server, and browsers accessing a Web server.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Performance testing uses Rational Robot and Rational TestManager. Use Robot to record client/server conversations and store them in scripts. Use TestManager to schedule and play back the scripts. During playback, TestManager can emulate hundreds, even thousands, of users placing heavy loads and stress on your database and Web servers.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Doing performance testing with TestManager, you can:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Find out if your system-under-test performs adequately.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Monitor and analyze the response times that users actually experience under different usage scenarios.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Test the capacity, performance, and stability of your server under real-world user loads.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Discover your server’s break point and how to move beyond it.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;&lt;strong&gt;Managing Requirements with Rational RequisitePro&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational RequisitePro is a requirements management tool that helps project teams control the development process. RequisitePro organizes your requirements by linking Microsoft Word to a requirements repository and providing traceability and change management throughout the project lifecycle.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Using RequisitePro, you can:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Customize the requirements database and manage multiple requirement types.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Prioritize, sort, and assign requirements.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Control feature creep and ensure software quality.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Track what changes have been made, by whom, when, and why.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Integrate with other tools, including Rose, ClearCase, Rational Unified Process., and SoDA.&lt;/span&gt;&lt;/div&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/5401578554988570599-3151167526599458095?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3151167526599458095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3151167526599458095'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/testing-applications-with-rational.html' title='Testing Applications with Rational TestFactory'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-6596124053638155854</id><published>2007-06-13T22:49:00.000-07:00</published><updated>2007-06-13T23:00:16.835-07:00</updated><title type='text'>Using Robot with Other Rational Products</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational Robot is integrated with many other Rational products and components, including TestManager, TestFactory, ClearQuest, Purify, Quantify, PureCoverage, and RequisitePro. The products and components are available based on what you have installed.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;&lt;strong&gt;&lt;br /&gt;Planning and Managing Tests in TestManager&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational TestManager is the one place to manage all testing activities – planning, design, implementation, execution, and analysis. TestManager ties testing with the rest of the development effort, joining your testing assets and tools to provide a single point from which to understand the exact state of your project.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Test Manager supports five testing activities:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Plan Test.&lt;/span&gt; The activity of test planning is primarily answering the question, "What do I have to test?" When you complete your test planning, the result is a test plan that defines what to test. In TestManager, a test plan can contain test cases. The test cases can be organized based on test case folders.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Design Test.&lt;/span&gt; The activity of test designing is primarily answering the question, "How am I going to do a test?" When you complete your test designing, you end up with a test design that helps you understand how you are going to perform the test case. In TestManager, you can design your test cases by indicating the actual steps that need to occur in that test. You also specify the preconditions, postconditions, and acceptance criteria.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Implement Test.&lt;/span&gt; The activity of implementing your tests is primarily creating reusable scripts. In TestManager, you can implement your tests by creating manual scripts. You can also implement automated tests by using Rational Robot. You can extend TestManager through APIs so that you can access your own implementation tools from TestManager. Because of this extensibility, you can implement your tests by building scripts in whatever tools are appropriate in your situation and organization.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Execute Tests.&lt;/span&gt; The activity of executing your tests is primarily running your scripts to make sure that the system functions correctly. In TestManager, you can run any of the following: (1) an individual script, which runs a single implementation; (2) one or more test cases, which run the implementations of the test cases; (3) a suite, which runs test cases and their implementations across multiple computers and users.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#33cc00;"&gt;Evaluate Tests.&lt;/span&gt; The activity of evaluating tests is determining the quality of the system-under-test. In TestManager, you can evaluate tests by examining the results of test execution in the test log, and by running various reports. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Planning and managing tests is only one part of Rational TestManager. You also use TestManager to view the logs created by Robot.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-6596124053638155854?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6596124053638155854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6596124053638155854'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/using-robot-with-other-rational.html' title='Using Robot with Other Rational Products'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5464618140697868203</id><published>2007-06-13T22:19:00.000-07:00</published><updated>2007-06-13T22:46:41.949-07:00</updated><title type='text'>Managing Intranet and Web Sites with SiteCheck and Robot</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;You use Rational SiteCheck to test the structural integrity of your intranet or World Wide Web site. SiteCheck is designed to help you view, track, and maintain your rapidly changing site.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Use SiteCheck to:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Visualize the structure of your Web site&lt;/span&gt; &lt;/strong&gt;and display the relationship between each page and the rest of the site.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Identify and analyze Web pages with active content,&lt;/span&gt;&lt;/strong&gt; such as forms, Java, JavaScript, ActiveX, and Visual Basic Script (VBScript).&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Filter information&lt;/span&gt; &lt;/strong&gt;so that you can inspect specific file types and defects, including broken links.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Examine and edit the source code&lt;/span&gt; &lt;/strong&gt;for any Web page, with color-coded text.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Update and repair files&lt;/span&gt;&lt;/strong&gt; using the integrated editor, or configure your favorite HTML editor to perform modifications to HTML files.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;Perform comprehensive testing of secure Web sites.&lt;/span&gt;&lt;/strong&gt; SiteCheck provides Secure Socket Layer (SSL) support, proxy server configuration, and support for multiple password realms.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Robot has two verification points for use with Web sites:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Use the Web Site Scan verification point to check the content of your Web site with every revision and ensure that changes have not resulted in defects.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Use the Web Site Compare verification point to capture a baseline of your Web site and compare it to the Web site at another point in time.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The following figures show the types of defects you can scan for using a Web Site verification point and the list of defects displayed in SiteCheck.&lt;/span&gt;&lt;/p&gt;&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RnDSwh6X6jI/AAAAAAAAAI8/G0ZBFoI6SpE/s1600-h/img04.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5075788511225309746" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand; HEIGHT: 250px" height="250" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RnDSwh6X6jI/AAAAAAAAAI8/G0ZBFoI6SpE/s320/img04.jpg" width="400" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5075790611464317506" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: left" height="249" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RnDUqx6X6kI/AAAAAAAAAJE/fVL3YzsQBQE/s320/img05.jpg" width="400" border="0" /&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5464618140697868203?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5464618140697868203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5464618140697868203'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/managing-intranet-and-web-sites-with.html' title='Managing Intranet and Web Sites with SiteCheck and Robot'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RnDSwh6X6jI/AAAAAAAAAI8/G0ZBFoI6SpE/s72-c/img04.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3441570710260984573</id><published>2007-06-11T02:33:00.000-07:00</published><updated>2007-06-11T03:13:47.580-07:00</updated><title type='text'>Creating Datapools</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;A datapool is a source of variable test data that scripts can draw from during playback.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;If a script sends data to a server during playback, consider using a datapool as the source of the data. By accessing a datapool, a script transaction that is executed multiple times during playback can send realistic data and even unique data to the server each time. If you do not use a datapool, the same data (the exact data you recorded) is sent each time the transaction is executed.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Trebuchet MS;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;TestManager is shipped with many commonly used data types, such as cities, states, names, and telephone area codes. In addition, TestManager lets you create your own data types.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Trebuchet MS;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;When creating a datapool, you specify the kinds of data (called data types) that the script will send — for example, customer names, addresses, and unique order numbers or product names. When you finish defining the datapool, TestManager automatically generates the number of rows of data that you specify.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Trebuchet MS;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:trebuchet ms;color:#33cc00;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;strong&gt;Analyzing Results in the Log and Comparators&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;br&gt;You use TestManager to view the logs that are created when you run scripts and schedules.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;br&gt;Use the log to:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;&lt;br&gt;View the results of running a script,&lt;/span&gt;&lt;/strong&gt; including verification point failures, procedural failures, aborts, and any additional playback information. Reviewing the results in the log reveals whether each script and verification point passed or failed.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;br&gt;Use the Comparators &lt;/span&gt;&lt;span style="color:#333333;"&gt;to:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;&lt;br&gt;Analyze the results of verification points&lt;/span&gt;&lt;/strong&gt; to determine why a script may have failed. Robot includes four Comparators:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="color:#333333;"&gt;- Object Properties Comparator&lt;br /&gt;– Text Comparator&lt;br /&gt;– Grid Comparator&lt;br /&gt;– Image Comparator&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#333333;"&gt;&lt;br&gt;When you select the line that contains the failed Object Properties verification point and click View &gt; Verification Point, the Object Properties Comparator opens, as shown in the following figure. In the Comparator, the Baseline column shows the original recording, and the Actual column shows the playback that failed. Compare the two files to determine whether the difference is an intentional change in the application or a defect.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;color:#333333;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3441570710260984573?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3441570710260984573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3441570710260984573'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/creating-datapools.html' title='Creating Datapools'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-1715562523207585605</id><published>2007-06-06T00:50:00.000-07:00</published><updated>2007-06-06T01:30:21.235-07:00</updated><title type='text'>Developing Tests in Robot</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;You use Robot to develop two kinds of scripts: GUI scripts for functional testing and sessions for performance testing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;Use Robot to:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Perform full functional testing.&lt;/span&gt; Record and play back scripts that navigate through your application and test the state of objects through verification points.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Perform full performance testing.&lt;/span&gt; Use Rational Robot and Rational. TestManager together to record and play back sessions that help you determine whether a multiclient system is performing within user-defined standards under varying loads.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Create and edit scripts using the SQABasic and VU scripting environments. &lt;/span&gt;The Robot editor provides color-coded commands with keyword Help for powerful integrated programming during script development. (VU scripting is used with sessions in performance testing.)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Test applications developed with IDEs&lt;/span&gt; such as Java, HTML, Visual Basic, Oracle Forms, Delphi, and PowerBuilder. You can test objects even if they are not visible in the application’s interface.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Collect diagnostic information about an application during script playback. &lt;/span&gt;Robot is integrated with Rational Purify, Rational Quantify, and Rational PureCoverage. You can play back scripts under a diagnostic tool and see the results in the log.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The Object-Oriented Recording technology in Robot lets you generate scripts by simply running and using the application-under-test. Robot uses Object-Oriented Recording to identify objects by their internal object names, not by screen coordinates. If objects change locations or their text changes, Robot still finds them on playback.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The following figure shows the main Robot window after you have recorded a script.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;img id="BLOGGER_PHOTO_ID_5072862088013539858" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="223" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RmZtMR6X6hI/AAAAAAAAAIs/hngDLTD7hg8/s320/img02.jpg" width="400" border="0" /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;The Object Testing technology in Robot lets you test any object in the application-under-test, including the object’s properties and data. You can test standard Windows objects and IDE-specific objects, whether they are visible in the interface or hidden.&lt;/span&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;In functional testing, Robot provides many types of verification points for testing the state of the objects in your application. For example, you use the Object Properties verification point to capture the properties of an object during recording, and to compare these properties during playback.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The following figure shows the Object Properties Verification Point dialog box.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5072863999273986594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="189" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RmZu7h6X6iI/AAAAAAAAAI0/ClOOA517Ei0/s320/img03.jpg" width="400" border="0" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-1715562523207585605?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1715562523207585605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1715562523207585605'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/developing-tests-in-robot.html' title='Developing Tests in Robot'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RmZtMR6X6hI/AAAAAAAAAIs/hngDLTD7hg8/s72-c/img02.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7135233194151746136</id><published>2007-06-06T00:18:00.000-07:00</published><updated>2007-06-06T00:57:15.429-07:00</updated><title type='text'>Introduction to Rational Robot</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;What Is Rational Robot?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational Robot is a complete set of components for automating the testing of Microsoft Windows client/server and Internet applications running under Windows NT 4.0, Windows XP, Windows 2000, and Windows 98.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The main component of Robot lets you start recording tests in as few as two mouse clicks. After recording, Robot plays back the tests in a fraction of the time it would take to repeat the actions manually.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Other components of Robot are:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Rational Administrator&lt;/span&gt; – Use to create and manage Rational projects, which store your testing information.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Rational TestManager Log&lt;/span&gt; – Use to review and analyze test results.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Object Properties, Text, Grid, and Image Comparators&lt;/span&gt; – Use to view and analyze the results of verification point playback.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color:#009900;"&gt;Rational SiteCheck &lt;/span&gt;– Use to manage Internet and intranet Web sites.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:trebuchet ms;color:#009900;"&gt;Managing Rational Projects with the Administrator&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;You use the Rational. Administrator to create and manage projects.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Rational projects store application testing information, such as scripts, verification points, queries, and defects. Each project consists of a database and several directories of files. All Rational Test components on your computer update and retrieve data from the same active project.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Projects help you organize your testing information and resources for easy tracking. Projects are created in the Rational Administrator, usually by someone with administrator privileges.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Use the Administrator to:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create a project under configuration management.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create a project outside of configuration management.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Connect to a project.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;See projects that are not on your machine (register a project).&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Delete a project.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create and manage users and groups for a Rational Test datastore.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create and manage projects containing Rational RequisitePro. projects and Rational Rose. models.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Manage security privileges for the entire Rational project.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Create a test datastore using SQL Anywhere. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Convert an existing Microsoft Access test datastore to a SQL Anywhere test datastore.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;p align="justify"&gt;The following figure shows the main Rational Administrator window after you have created some projects:&lt;/p&gt;&lt;p align="justify"&gt;&lt;img id="BLOGGER_PHOTO_ID_5072853631222933986" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RmZlgB6X6eI/AAAAAAAAAIU/jKGpXI30DpQ/s320/img01.jpg" border="0" /&gt; &lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="color:#009900;"&gt;Summary&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;When you create a test datastore, the Rational Administrator uses Microsoft Access for the default database engine. However, if more than one user will access the test datastore simultaneously, use Sybase SQL Anywhere for the database engine. To create a test datastore using SQL Anywhere software, click Advanced Database Setup in the Create Test Datastore dialog box. See the Rational Administrator online Help for more information.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:trebuchet ms;"&gt;You must install Sybase SQL Anywhere software and create a SQL Anywhere database server before you create a new SQL Anywhere test datastore or convert an existing Microsoft Access test datastore to a SQL Anywhere test datastore.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt; &lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;p align="justify"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7135233194151746136?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7135233194151746136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7135233194151746136'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/06/introduction-to-rational-robot.html' title='Introduction to Rational Robot'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RmZlgB6X6eI/AAAAAAAAAIU/jKGpXI30DpQ/s72-c/img01.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4107840908766202068</id><published>2007-05-09T00:39:00.000-07:00</published><updated>2007-05-09T00:45:05.815-07:00</updated><title type='text'>SilkTest and WinRunner Feature Descriptions Continued...</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Scripting Language&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools provide proprietary, interpreted, scripting languages. Each language provide the usual flow control constructs, arithmetic and logical operators, and a variety of built-in libraryfunctions to perform such activities as string manipulation, [limited] regular expression support,standard input and output, etc. But that is where the similarity ends:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest provides a strongly typed, object-oriented programming language called 4Test.Variables and constants may be one of 19 built-in data types, along with a user definedrecord data type. 4Test supports single- and multi-dimensional dynamic arrays and lists,which can be initialized statically or dynamically. Exception handling is built into thelanguage [via the do… except statement].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner provides a non-typed, C-like procedural programming language called TSL.Variables and constants are either numbers or strings [conversion between these two typesoccurs dynamically, depending on usage]. There is no user defined data type such as a recordor a data structure. TSL supports sparsely populated associative single- and [pseudo] multidimensionarrays, which can be initialized statically or dynamically—element access isalways done using string references—foobar[“1”] and foobar[1] access the sameelement [as the second access is implicitly converted to an associative string indexreference]. Exception handling is not built into the language.The only way to truly understand and appreciate the differences between these two programmingenvironments is to use and experiment with both of them.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Exception Handling&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools provide the ability to handle unexpected events and errors, referred to as exceptions,but implement this feature differently:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest’s exception handling is built into the 4Test language—using the do… exceptconstruct you can handle the exception locally, instead of [implicitly] using SilkTest’sdefault built-in exception handler [which terminates the currently running test and logs anerror]. If an exception is raised within the do block of the statement control is thenimmediately passed to the except block of code. A variety of built-in functions[LogError(), LogWarning, ExceptNum(), ExceptLog(), etc.] and 4Test statements[raise, reraise, etc.] aid in the processing of trapped exceptions within the except blockof code.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner’s exception handling is built around&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; (1) defining an exception based on the typeof exception (Popup, TSL, or object) and relevant characteristics about the exeception (mostoften its error number); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) writing an exception hander, and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(3) enabling and disabling thatexception handler at appropriate point(s) in the code. These tasks can be achieved by handcoding or through the use of the Exception Handling visual recorder.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Test Results Analysis&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest’s test results file resolves around the test run. For example if you run 3 testcases[via a test suite or SilkOrganizer] all of the information for that test run will be stored in asingle results file. There is a viewer to analyze the results of the last test run or X previous tothe last run. Errors captured in the results file contain a full stack trace to the failing line ofcode, which can be brought up in the editor by double-clicking on any line in that stack trace.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner’s test results file revolves around each testcase. For example if you run 3testcases [by hand or via a batch test or TestDirector] 3 test results files are created, each in asubdirectory under its associated testcase. There is a viewer to analyze the results of a test’slast run or if results have not been deleted, a previous run. Double clicking on events in thelog often expands that entry’s information, sometimes bringing up specialized viewers [forexample when that event is some type of checkpoint or some type of failure].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt; Managing the Testing Process&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest has a built-in facility, SilkOrganizer, for creating a testplan and then linking thetestplan to testcases. SilkOrganizer can also be used to track the automation process andcontrol the execution of selected groups of testcases. One or more user defined attributes[such as “Test Category”, “Author”, “Module”, etc.] are assigned to each testcase and thenlater used in testplan queries to select a group of tests for execution. There is also a modestcapability to add manual test placeholders in the testplan, and then manually add pass/failstatus to the results of a full test run. SilkTest also supports a test suite, which is a filecontaining calls to one or more test scripts or other test suites.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner integrates with a separate program called TestDirector [at a substantialadditional cost], for visually creating a test project and then linking WinRunner testcases intothat project. TestDirector is a database repository based application that provides a variety oftools to analyze and manipulate the various database tables and test results stored in therepository for the project. A bug reporting and tracking tool is included with TestDirector aswell [and this bug tracking tool supports a browser based client].Using a visual recorder, testcases are added to one or more test sets [such as “TestCategory”, “Author”, “Module”, etc.] for execution as a group. There is a robust capabilityfor authoring manual test cases [i.e. describing of each test step and its expected results],interactively executing each manual test, and then saving the pass/fail status for each teststep in the repository. TestDirector also allows test sets to be scheduled for execution at atime and date in the future, as well as executing tests remotely on other machines [this lastcapability requires the Enterprise version of TestDirector].TestDirector is also capable of interfacing with and executing LoadRunner test scripts aswell as other 3rd party test scripts [but this later capability requires custom programming viaTestDirector APIs]. Additionally TestDirector provides API’s to allow WinRunner as well asother 3rd party test tools [and programming environments] to interface with a TestDirectordatabase.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;External Files&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;When the tool’s source code files are managed with a code control tool such as PVCS or VisualSourceSafe, it is useful to understand what external side files are created:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest implicitly creates *.*o bytecode-like executables after interpreting the source codecontained in testcases and include files [but it unlikely that most people will want to sourcecode control these files]. No side files are created in the course of using its recorders.SilkTest does though create an explicit *.bmp files for storing the expected and actualcaptured bitmap images when performing a bitmap verification.• WinRunner implicitly creates many side files using a variety of extensions [*.eve, *.hdr,*.asc, *.ckl, *.chk, and a few others] in a variety of implicitly created subdirectories[/db, /exp, /chklist, /resX] under the testcase in the course of using its visual recordersas well as storing pass/fail results at runtime.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools support a visual debugger with the typical capabilities of breakpoints, single step, runto, step into, set out of, etc.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4107840908766202068?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4107840908766202068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4107840908766202068'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/05/silktest-and-winrunner-feature_3530.html' title='SilkTest and WinRunner Feature Descriptions Continued...'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-8558507546653721129</id><published>2007-05-09T00:24:00.000-07:00</published><updated>2007-05-09T00:39:44.693-07:00</updated><title type='text'>SilkTest And WinRunner Feature Description Continued....</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Object Hierarchy&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest supports a true object-oriented hierarchy of parent-child-grandchild-etc.relationships between windows and objects within windows. In this model an object such asa menu is the child of its enclosing window and a parent to its menu item objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner, with some rare exceptions [often nested tables on web pages], has a flat objecthierarchy where child objects exist in parent windows. Note that web page frames are treatedas windows, and not child objects of the enclosing window on web pages that are constructedusing frames.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Object Recognition&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both of these tools use a lookup table mechanism to isolate the variable name used to referencean object in a test script from the description used by the operating system to access that object atruntime:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest normally places an application’s GUI declarations in a test frame file. There isgenerally one GUI declaration for each window and each object in a window. A GUI declaration consists of an object identifier—the variable used in a test script—and its class and object tag definition used by the operating system to access that object at runtime.SilkTest provides the following capabilities to define an object tag: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(1) a string, which caninclude wildcards; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) an array reference which resolves to a string which can includewildcards; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(3) a function or method call that returns a string, which can include wildcards,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(4) an object class and class relative index number; and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(5) multiple tags [multi-tags] eachoptionally conditioned with&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(6) an OS/GUI/browser specifier [a qualification label].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner normally places an application’s logical name/physical descriptor definitions in a GUI Map file. There is generally one logical name/physical descriptor definition for eachwindow and each object in a window. The logical name is used to reference the object in atest script, while the physical descriptor is used by the operating system to access that objectat runtime.WinRunner provides the following capabilities to define a physical descriptor: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(1) a variablenumber of comma delimited strings which can include wildcards, where each stringidentifies one property of the object. [While there is only a single method of defining a physical descriptor, this definition can include a wide range and variable number ofobligatory, optional, and selector properties on an object by object basis].The notion behind this lookup table mechanism is to permit changes to an object tag [SilkTest]or a physical descriptor [WinRunner] definition without the need to change the associatedidentifier [SilkTest] or logical name [WinRunner] used in the testcase.In general the object tag [SilkTest] or physical descriptor [WinRunner] resolve to one or moreproperty definitions which uniquely identify the object in the context of its enclosing parentwindow at runtime.It is also possible with both tools to dynamically construct and use object tags [SilkTest] orphysical descriptors [WinRunner] at runtime to reference objects in test scripts.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Object Verification&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools provide a variety of built-in library functions permitting a user to hand code simple verification of a single object property [i.e. is/is not focused, is/is not enabled, has/does not have an expected text value, etc.]. Complex multiple properties in a single object and multiple object verifications are supported using visual recorders:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest provides a Verify Window recorder which allows any combination of objects and object properties in the currently displayed window to be selected and captured. Using this tool results in the creation, within the testcase, of a VerifyProperties() method call against the captured window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner provides several GUI Checkpoint recorders to validate &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(1) a single object property, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) multiple properties in a single object, and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(3) multiple properties of multiple objects in a window. The single property recorder places a verification statement directly inthe test code while the multiple property recorders create unique checklist [*.ckl] files inthe /chklists subdirectory [which describe the objects and properties to capture], as wellas an associated expected results [*.chk] file in the /exp subdirectory [which contains theexpected value of each object and property defined in the checklist file].Both tools offer advanced features to define new verification properties [using mapping techniques and/or built-in functions and/or external DLL functions] and/or to customize howexisting properties are captured for standard objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Custom Objects&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Note: The description of this feature, more than any other in this report, is limited in its scope and coverage. An entire white paper could be dedicated to exploring and describing how each ofthese tools deal with custom objects. Therefore dedicate several days to evaluating how eachof these tools accommodate custom objects in your specific applications.To deal with a custom object [i.e. an object that does not map to standard class] both toolssupport the use of class mapping [i.e. mapping a custom class to a standard class with like functionality], along with a variety of X:Y pixel coordinate clicking techniques [some screen absolute, some object relative] to deal with bitmap objects, as well as the ability to use external DLL functions to assist in object identification and verification. Beyond these shared capabilitieseach tool has the following unique custom object capabilities:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest has a feature to overlay a logical grid of X rows by Y columns on a graphic that has evenly spaced “hot spots”[this grid definition is then used to define logical GUI declarationsfor each hot spot]. These X:Y row/column coordinates are resolution independent [i.e. thelogical reference says “give me 4th column thing in the 2nd row”, where that grid expands orcontracts depending on screen resolution].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner has a built-in text recognition engine which works with most standard fonts.This capability can often be used to extract visible text from custom objects, position thecursor over a custom object, etc. This engine can also be taught non-standard font typeswhich is does understand out of the box.Both tools offer support for testing non-graphical controls through the advanced use of customDLLs [developed by the user], or the Extension Kit [SilkTest, which may have to be purchased atan addition cost] and the Mercury API Function Library [WinRunner].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Internationalization (Language Localization)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest supports the single-byte IBM extended ASCII character set, and its TechnicalSupport has also indicated “that Segue has no commitment for unicode”. The user guidechapter titled “Supporting Internationalized Applications” shows a straightforward techniquefor supporting X number of [single-byte IBM extended ASCII character set] languages in asingle test frame of GUI declarations.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner provides no documentation on how to use the product to test language localizedapplications. Technical Support has indicated that &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(1) “WinRunner supports multi-bytecharacter sets for language localized testing…”,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) “there is currently no commitment forthe unicode character set…”, and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(3) “it is possible to convert a US English GUI Map toanother language using a [user developed] phrase dictionary and various gui_* built-infunctions”.Check into the aspects of this feature very carefully if it is important to your testing effort.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Database Interfaces&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools provide a variety of built-in functions to perform Structure Query Language (SQL)queries to control, alter, and extract information from any database which supports the OpenDatabase Connectivity (ODBC) interface.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Database Verification&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools provide a variety of built-in functions to make SQL queries to extract informationfrom an ODBC compliant database and save it to a variable [or if you wish, an external file].Verification at this level is done with hand coding.WinRunner also provides a visual recorder to create a Database Checkpoint used to validate theselected contents of an ODBC compliant database within a testcase. This recorder creates sidefiles similar to GUI Checkpoints and has a built-in interface to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(1) the Microsoft Query application [which can be installed as part of Microsoft Office], and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) to the Data Junctionapplication [which may have to be purchased at an addition cost], to assist in constructing andsaving complex database queries.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Data Driven Testing&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Both tools support the notion of data-driven tests, but implement this feature differently:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest’s implementation is built around an array of user defined records. A record is adata structure defining an arbitrary number of data items which are populated with valueswhen the array is initialized [statically or at runtime]. Non-programmers can think of anarray of records as a memory resident spreadsheet of X number of rows which contain Ynumber columns where each row/column intersection contains a data item.The test code, as well as the array itself, must be hand coded. It is also possible to populatethe array each time the test is run by extracting the array’s data values from an ODBC compliant database, using a series of built-in SQL function calls. The test then iteratesthrough the array such that each iteration of the test uses the data items from the next recordin the array to drive the test or provide expected data values.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner’s implementation is built around an Excel compatible spreadsheet file of Xnumber of rows which contain Y number of columns where each row/column intersectioncontains a data item. This spreadsheet is referred to as a Data Table.The test code, as well as the Data Table itself, can be created with hand coding or the use ofthe DataDriver visual recorder. It is also possible to populate a Data Table file each time thetest is run by extracting the table’s data values from an ODBC compliant database using aWinRunner wizard interfaced to the Microsoft Query application.. The test then iteratesthrough the Data Table such that each iteration of the test uses the data items from the nextrow in the table to drive the test or provide expected data values.Both tools also support the capability to pass data values into a testcase for a more modestapproach to data driving a test.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Restoring an Application’s Initial State&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest provides a built-in recovery system which restores the application to a stable state,referred to as the basestate, when the test or application under test fails ungracefully. Thedefault basestate is defined to be: (1) the application under test is running; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(2) the applicationis not minimized; and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(3) only the application’s main window is open and active. There aremany built-in functions and features which allow the test engineer to modify, extend, andcustomize the recovery system to meet the needs of each application under test.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner does not provide a built-in recovery system. You need to code routines to returnthe application under test to its basestate—and dismiss all orphaned dialogs—when a testfails ungracefully.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-8558507546653721129?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8558507546653721129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8558507546653721129'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/05/silktest-and-winrunner-feature_09.html' title='SilkTest And WinRunner Feature Description Continued....'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-9125601832157129425</id><published>2007-05-08T23:35:00.000-07:00</published><updated>2007-05-09T00:24:01.301-07:00</updated><title type='text'>Silktest And WinRunner Feature Descriptions</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;FEATURE DESCRIPTIONS&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;For the sake of consistency alphabetical ordering was selected to describe SilkTest features first,followed by WinRunner features in each of the following sections.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt; Startup Initialization and Configuration&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest derives its initial startup configuration settings from its partner.ini file. Thisthough is not important because SilkTest can be reconfigured at any point in the session byeither changing any setting in the Options menu or loading an Option Set.An Option Set file (*.opt) permits customized configuration settings to be established foreach test project. The project specific Option Set is then be loaded [either interactively, orunder program control] prior to the execution of the project’s testcases.The Options menu or an Option Set can also be used to load an include file (*.inc)containing the project’s GUI Declarations along with any number of other include files containing library functions, methods, and variables sharedby all testcases.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner derives its initial startup configuration from a wrun.ini file of settings.During startup the user is normally polled [this can be disabled] for the type of addins theywant to use during the session .The default wrun.ini file is used when starting WinRunner directly, while project specificinitializations can be established by creating desktop shortcuts which reference a projectspecific wrun.ini file. The use of customized wrun.ini files is important because once WinRunner is started with a selected set of addins you must terminate WinRunner and restart it to use a different set of addins.The startup implementation supports the notion of a startup test which can be executedduring WinRunner initialization. This allows project-specific compiled modules [memoryresident libraries] and GUI Maps to be loaded. The functions and variables contained in these modules can then be used by all tests that are run during that WinRunner session.Both tools allow most of the configuration setup established in these files to be over-ridden withruntime code in library functions or the test scripts.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Test Termination&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest tests terminate on exceptions which are not explicitly trapped in the testcase. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;For example if a window fails to appear during the setup phase of testing [i.e. the phase drivingthe application to a verification point], a test would terminate on the first object or windowtimeout exception that is thrown after the errant window fails to appear.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner tests run to termination [in unattended Batch mode] unless an explicit action is taken to terminate the test early. Therefore tests which ignore this termination model will continue running for long periods of time after a fatal error is encountered. For example if awindow fails to appear during the setup phase of testing, subsequent context sensitive statements [i.e. clicking on a button, performing a menu pick, etc.] will fail—but this failure occurs after a multi-second object/window “is not present” timeout expires for each missingwindow and object. [When executing tests in non-Batch mode, that is in Debug, Verify, orUpdate modes, WinRunner normally presents an interactive dialog box when implicit errorssuch as missing objects and windows are encountered].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Addins and ExtensionsOut of the box, under Windows, both tools can interrogate and work with objects and windowscreated with the standard Microsoft Foundation Class (MFC) library. Objects and windows created using a non-MFC technology [or non-standard class naming conventions] are treated ascustom objects. But objects and windows created for web applications [i.e. applications which run in a browser],Java applications, Visual Basic applications, and PowerBuilder applications are dealt with in aspecial manner:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• SilkTest enables support for these technologies using optional extensions. Selectedextensions are enabled/disabled in the current Option Set [or the configuration established bythe default partner.ini option settings].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• WinRunner enables support for these technologies using optional addins. Selected addins are enabled/disabled using either the Addin Manager at WinRunner startup, or by editing the appropriate wrun.ini file prior to startup.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Note that (1) some combinations of addins [WinRunner] and extensions [SilkTest] are mutuallyexclusive, (2) some of these addins/extensions may no longer be supported in the newest releasesof the tool, (3) some of these addins/extensions may only support the last one or two releases ofthe technology [for example version 5 and 6 of Visual Basic] and (4) some of these addins andextensions may have to be purchased at an addition cost.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Visual Recorders&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SilkTest provides visual recorders and wizards for the following activities:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a test frame with GUI declarations for a full application and adding/deleting selective objects and windows in and existing GUI declarations frame file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Capturing user actions with the application into a test case, using either context sensitive[object relative] or analog [X:Y screen coordinate relative] recording techniques.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Inspecting identifiers, locations and physical tags of windows and objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Checking window and object bitmaps [or parts thereof].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a verification statement [validating one or more object properties].WinRunner provides visual recorders and wizards for the following activities:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating an entire GUI Map for a full application and adding/deleting selective objects andwindows in an existing GUI Map. It is also possible to implicitly create GUI Map entries bycapturing user actions [using the recorder described next].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Capturing user actions with the application into a test case, using either context sensitive[object relative] or analog [X:Y screen coordinate relative] recording techniques.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Inspecting logical names, locations and physical descriptions of windows and objects.• Checking window and object bitmaps [or parts thereof].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a GUI checkpoint [validating one or more object properties].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a database checkpoint [validating information in a database].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a database query [extracting information from a database].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Locating at runtime a missing object referenced in a testcase [and then adding that object tothe GUI Map].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Teaching WinRunner to recognize a virtual object [a bitmap graphic with functionality].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating Data Tables [used to drive a test from data stored in an Excel-like spreadsheet].• Checking text on a non-text object [using a built-in character recognition capability].&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Creating a synchronization point in a testcase.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;• Defining an exception handler.Some of these recorders and wizards do not work completely for either tool against allapplications, under all conditions. For example neither tool’s recorder to create a full GUI Map[WinRunner] or test frame [SilkTest] works against large applications, or any web application.Evaluate the recorders and wizards of interest carefully against your applications if these utilitiesare important to your automated testing efforts.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-9125601832157129425?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/9125601832157129425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/9125601832157129425'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/05/silktest-and-winrunner-feature.html' title='Silktest And WinRunner Feature Descriptions'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2739033854246293653</id><published>2007-05-04T02:12:00.000-07:00</published><updated>2007-05-04T02:16:54.463-07:00</updated><title type='text'>Selecting the best defect tracking system</title><content type='html'>The following is a general comparison overview of Bug tracking tools. It is focused particularly on the technical aspect. The aim is to help you to select the best tracking system that meets your requirement. Click on the link for a more detailed comparison between Bugzero, Bugzilla, and Gnats.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;System Architecture: &lt;/strong&gt;&lt;br /&gt;Many old bug or defect tracking systems are client server based. You need install the server, and each user need install the client software. If external users were involved, it could be problematic because of issues like firewall etc. Also, it is not always feasible to install client software.&lt;br /&gt;Newer systems are more likely web browser based and no client software need to be installed (except a browser). A web-based bug tracking system is especially attractive if your users are located in different locations and are connected through the internet.&lt;br /&gt;For a web-based bug or defect tracking system, make sure it supports the browsers your users are using. Be aware that many systems support only IE.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Server Operating System:&lt;/strong&gt;&lt;br /&gt;Most commercial bug tracking systems are Windows based. In such a case, it is likely that it requires an NT/2000/XP server and a SQL Server database. Note that, a Windows XP Professional may not be sufficient, instead, a server may be required.&lt;br /&gt;Most free bug or defect tracking systems are Linux/Unix based, and may not work as well on Windows. It may also require more technical skills to install and setup the system.&lt;br /&gt;When people say their system is cross-platform, you need make sure they meant the server. Only a very few bug tracking systems are really cross-platform (with the same code base). Some vendors claim to support multiple OS, but they have completely independent versions for each OS and that results in higher costs for the vendor and therefore higher price for the end users.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Backend Database:&lt;br /&gt;&lt;/strong&gt;Most bug or defect tracking systems require a backend database, but a few are file based. In the latter case, make sure it scales well. If someone tells you that a file based system is better than a database, think twice.&lt;br /&gt;For Windows based systems, database selection may be limited to only Access and SQL Server. On the other hand, some free systems may lock you into just one database, notably MySQL. Only a very few bug tracking systems are really cross database systems.&lt;br /&gt;Be aware of any bug tracking software that uses non-standard proprietary databases. They cannot be better than the public, commonly used database systems.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Language Support:&lt;/strong&gt;&lt;br /&gt;Many bug tracking systems do not support localization, particually, Asian langauges. Note that, it involves the web interface, the data, and the email notification.&lt;br /&gt;If you do need localization, you should find a system that can do that easily.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web Server:&lt;br /&gt;&lt;/strong&gt;For Windows based bug tracking systems, most likely it requires IIS as the web server.&lt;br /&gt;For Java-based bug tracking systems, a Servlet or J2EE server is most likely required. There are many high quality servers you can download for free.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Programming Language:&lt;/strong&gt;&lt;br /&gt;Most of the bug tracking systems are written in either c/c++, or perl/php, or Java.&lt;br /&gt;Depending on your IT environment and skill set, the programming language may be relevant in selecting your system. For example, if you are developing Java software, it may make sense to use a Java based bug tracking system.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Version Control Integration:&lt;/strong&gt;&lt;br /&gt;Some bug tracking systems have the capability of integrating with source control systems such as CVS, Source Safe, etc.&lt;br /&gt;Be aware of the limitations, and make sure it does the things you want.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Installation and Configuration:&lt;/strong&gt;&lt;br /&gt;A bug tracking system is not a desktop application and it rarely works out-of-the-box. It is not uncommon to spend a few hours to setup such a system, and then more time to customize it.&lt;br /&gt;However, if you need only a lightweight bug tracking system, a heavy, complex, can-do-everything system is certainly a over kill and it may do more harm than good.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Maintenance and Support:&lt;/strong&gt;&lt;br /&gt;A bug tracking tool is not a super complex software system, but from time to time you may need technical support. As you certainly know, in most cases, the error messages from these systems are always cryptic, and you won't be able to solve the problem on your own.&lt;br /&gt;How is the error handled in a tool is far more important than you might think. You as the administrator may want select a tool that you feel comfortable to work with.&lt;br /&gt;When support is needed, it is always urgent to you, but not necessary to the vendor. Before you purchase the software, you should ask what is the response time for support.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;br /&gt;Simple is the key here. The system must be simple that people like to use it, but not so complex that people avoid to use it. You might not want to deploy a tool that requires serious end user training. It is really not the initial training, rather the on-going support needed from your end users that you should be concerned with.&lt;br /&gt;Yet it should be flexible and configurable enough to satisfy your business needs. If you select a tool that cannot do whatever you intend it to do, then what is the use of it?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cost of Ownship:&lt;/strong&gt;&lt;br /&gt;The initial cost of a bug tracking system varies from free to tens of thousands of dollars. But be aware that this is not the same as the total cost of the ownership. Some free systems charge a hefty consulting fee for support and you may end up paying much more than you planned.&lt;br /&gt;You should select a bug tracking system based on your needs, not just the price. If you know what you are doing and do not need commercial support, go for a free one if it meets your requirement.&lt;br /&gt;However, if you unfortunately selected a bad one, you better get out of it as soon as possible, because the longer you keep it, the more moeny and time you will have to spend on it.&lt;br /&gt;In any case, spending many days to setup a free system or even weeks or months to create an in-house system makes no business and economic sense, because if you consider the time spent, you are actually paying much more than just buying one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2739033854246293653?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2739033854246293653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2739033854246293653'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/05/selecting-best-defect-tracking-system.html' title='Selecting the best defect tracking system'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4816922204253732450</id><published>2007-05-04T02:02:00.000-07:00</published><updated>2007-05-04T02:12:38.529-07:00</updated><title type='text'>WinRunner Tips</title><content type='html'>&lt;strong&gt;WinRunner Fundamentals&lt;br /&gt;&lt;/strong&gt;The 5 major areas to know for WinRunner are listed below with SOME of the subtopics called out for each of the major topics: &lt;br /&gt;1) GUI Map&lt;br /&gt;- Learning objects&lt;br /&gt;- Mapping custom objects to standard objects&lt;br /&gt;2) Record/Playback&lt;br /&gt;- Record modes: Context Sensitive and Analog&lt;br /&gt;- Playback modes: (Batch), Verify, Update, Debug&lt;br /&gt;3) Synchronization&lt;br /&gt;- Using wait parameter of functions&lt;br /&gt;- Wait window/object info&lt;br /&gt;- Wait Bitmap&lt;br /&gt;- Hard wait()&lt;br /&gt;4) Verification/Checkpoints&lt;br /&gt;- window/object GUI checkpoints&lt;br /&gt;- Bitmap checkpoints&lt;br /&gt;- Text checkpoints (requires TLS)&lt;br /&gt;5) TLS (Test Script Language)&lt;br /&gt;- To enhance scripts (flow control, parameterization, data driven test, user defined functions,...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Calling Scripts and Expected Results&lt;/strong&gt;&lt;br /&gt;When running in non-batch mode, WinRunner will always look in the calling scripts \exp directory for the checks. When running in batch mode, WinRunner will look in the called script's \exp directory.&lt;br /&gt;There is a limitation, though. WinRunner will only look in the called script's \exp directory one call level deep. For example, in bacth mode: script1:&lt;br /&gt;gui_check(...); #will look in script1\exp&lt;br /&gt;call "script2" ();&lt;br /&gt;script2:&lt;br /&gt;gui_check(...); #will look in script2\exp&lt;br /&gt;call "script3" ();&lt;br /&gt;script3:&lt;br /&gt;gui_check(...); #will look in script2\exp (and cause an error)&lt;br /&gt;In non bacth mode:&lt;br /&gt;script1:&lt;br /&gt;gui_check(...); #will look in script1\exp&lt;br /&gt;call "script2" ();&lt;br /&gt;script2:&lt;br /&gt;gui_check(...); #will look in script1\exp (and cause an error)&lt;br /&gt;call "script3" ();&lt;br /&gt;script3:&lt;br /&gt;gui_check(...); #will look in script1\exp (and cause an error)&lt;br /&gt;&lt;a name="RunMode"&gt;&lt;br /&gt;&lt;strong&gt;Run Modes&lt;br /&gt;&lt;/strong&gt;Batch mode will write results to the individual called test.&lt;br /&gt;Interactive (non-batch) mode writes to the main test. &lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Data Types&lt;/strong&gt;&lt;br /&gt;TSL supports two data types: numbers and strings, and you do not have to declare them. Look at the on-line help topic for some things to be aware of:&lt;br /&gt;"TSL Language", "Variables and Constants", "Type (of variable or constant)"&lt;br /&gt;Generally, you shouldn't see any problems with comparisons.&lt;br /&gt;However, if you perform arithmetic operations you might see some unexpected behavior (again check out the on-line help mentioned above). var="3abc4";rc=var + 2; # rc will be 5 :-)&lt;br /&gt;&lt;a name="Debugging"&gt;&lt;br /&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;br /&gt;When using pause(x); for debugging, wrap the variable with brackets to easily see if "invisible" characters are stored in the variable (i.e., \n, \t, space, or Null) pause("[" &amp; x &amp;amp; "]");&lt;br /&gt;Use the debugging features of WinRunner to watch variables. "invisible" characters will show themselves (i.e., \n, \t, space) Examples:&lt;br /&gt;Variable&lt;br /&gt;pause(x);&lt;br /&gt;pause("[" &amp; x &amp;amp; "]");&lt;br /&gt;x="a1";&lt;br /&gt;a1&lt;br /&gt;[a1]&lt;br /&gt;x="a1 ";&lt;br /&gt;a1&lt;br /&gt;[a1 ]&lt;br /&gt;x="a1\t";&lt;br /&gt;a1&lt;br /&gt;[a1    ]&lt;br /&gt;x="a1\n";&lt;br /&gt;a1&lt;br /&gt;[a1]&lt;br /&gt;x="";&lt;br /&gt;&lt;br /&gt;[]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Block Comments&lt;br /&gt;&lt;/strong&gt;To temporarily comment out a block of code use:     if (TRUE)     {     ... block of code to be commented out!!     }&lt;br /&gt;&lt;a name="DataDrivenTest"&gt;&lt;br /&gt;&lt;strong&gt;Data Driven Test ddt_* functions vs getline/split&lt;/strong&gt;&lt;br /&gt;These bothfunctions do almost the same thing. There are some agruably good benefits to using ddt_* , but most of them are focused on the data management. In general you can always keep the data in Excel and perform a Save As to convert the file to a delimited text file.&lt;br /&gt;One major difference is in the performance of playing back a script that has a huge data file. The ddt_* functions currently can not compare to the much faster getline/split method.&lt;br /&gt;But here is an area to consider: READABILITY I personally do not like scripts with too many nested function calls (which the parameterize value method does) because it may reduce the readability for people with out a programming background. Example:&lt;br /&gt;edit_set("FirstName", ddt_val(table, "FirstName"));&lt;br /&gt;edit_set("LastName", ddt_val(table, "LastName"));&lt;br /&gt;So what I typically do is, declare my own variables at the beginning of the script, assign the values to them, and use the variable names in the rest of the script. It doesn't matter if I'm using the getline/split or ddt_val functions. This also is very useful when I may need to change the value of a variable, because they are all initialized at the top of the script (whenever possible). Example with ddt_* functions in a script:&lt;br /&gt;FIRSTNAME=ddt_val(table, "FirstName");&lt;br /&gt;LASTNAME=ddt_val(table, "LastName");&lt;br /&gt;...&lt;br /&gt;edit_set("FirstName", FIRSTNAME);&lt;br /&gt;edit_set("LastName", LASTNAME);&lt;br /&gt;And most of the time I have a driving test which calls another test and passes an array of data to be used to update a form. Example with ddt_* functions before calling another&lt;br /&gt;script:&lt;br /&gt;# Driver script will have&lt;br /&gt;...&lt;br /&gt;MyPersonArray [ ] =&lt;br /&gt;{&lt;br /&gt;"FIRSTNAME" = ddt_val(table, "FirstName");&lt;br /&gt;"LASTNAME" = ddt_val(table, "LastName");&lt;br /&gt;}&lt;br /&gt;call AddPerson(MyPersonArray)&lt;br /&gt;...&lt;br /&gt;# Called script will have&lt;br /&gt;edit_set("FirstName", Person["FIRSTNAME"]);&lt;br /&gt;edit_set("LastName", Person["LASTNAME"]);&lt;br /&gt;So as you can see, there are many ways to do the same thing. What people must keep in mind is the skill level of the people that may inherit the scripts after they are created. And a consistent method should be used throughout the project.&lt;/a&gt;&lt;br /&gt;&lt;a name="StringVsNumber"&gt;&lt;br /&gt;&lt;strong&gt;String Vs Number Comparison&lt;/strong&gt; &lt;/a&gt;&lt;br /&gt;String Vs Number comparisons are not a good thing to do.&lt;br /&gt;Try this sample to see why:&lt;br /&gt;c1=47.88 * 6;&lt;br /&gt;c2="287.28";&lt;br /&gt;#Prints a decimal value while suppressing non-significant zeros&lt;br /&gt;#and converts the float to a string.&lt;br /&gt;c3 = sprintf ("%g", c1);&lt;br /&gt;&lt;br /&gt;pause ("c1 = [" &amp; c1 &amp;amp; "]\nc2 = [" &amp; c2 &amp;amp; "]\nc3 = [" &amp; c3 &amp;amp; "]\n" &amp; "c1 - c2 =&lt;br /&gt;[" &amp;amp; c1 - c2 &amp; "]\nc1 - c3 = [" &amp;amp; c1 - c3 &amp; "]\nc2 - c3 = [" &amp;amp; c2 - c3 &amp; "]");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4816922204253732450?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4816922204253732450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4816922204253732450'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/05/winrunner-tips.html' title='WinRunner Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7557305043748720086</id><published>2007-03-15T02:46:00.000-07:00</published><updated>2007-03-15T02:50:33.278-07:00</updated><title type='text'>Text Checkpoint Tips</title><content type='html'>• Before you create a script that reads text, determine where the text is located. If&lt;br /&gt;the text is part of a standard GUI object, use a GUI checkpoint or TSL function&lt;br /&gt;such as edit_get_text or button_get_info. If the text is part of a non-standard&lt;br /&gt;GUI object, use the Create &gt; Get Text &gt; From Object/Window command. If the&lt;br /&gt;text is part of a bitmap, use the Create &gt; Get Text &gt; From Screen Area&lt;br /&gt;command.&lt;br /&gt;• When WinRunner reads text from the application, the text appears in the script&lt;br /&gt;as a comment (a comment is preceded by #). If the comment #no text was&lt;br /&gt;found appears in the script, WinRunner does not recognize your application font.&lt;br /&gt;Use the Font Expert to teach WinRunner this font.&lt;br /&gt;• TSL includes additional functions that enable you to work with text such as&lt;br /&gt;win_find_text, obj_find_text, and compare_text. For more information, refer&lt;br /&gt;to the "Checking Text" chapter in your WinRunner User’s Guide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7557305043748720086?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7557305043748720086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7557305043748720086'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/text-checkpoint-tips.html' title='Text Checkpoint Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2161668784921620657</id><published>2007-03-15T02:36:00.000-07:00</published><updated>2007-03-15T02:46:40.371-07:00</updated><title type='text'>Running the Test on a New Version</title><content type='html'>Once the test script is debugged, you can run it on a new version of the Flight&lt;br /&gt;Reservation application.&lt;br /&gt;&lt;strong&gt;1 Open version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1B on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;2 In WinRunner, select Verify mode from the Run Mode list on the Standard&lt;br /&gt;toolbar.&lt;/strong&gt;&lt;br /&gt;Verify mode will stay in effect until you select a different mode.&lt;br /&gt;&lt;strong&gt;3 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default test run name "res1." Make sure that the&lt;br /&gt;Display Test Results at End of Run check box is selected.&lt;br /&gt;&lt;strong&gt;4 Run the test.&lt;/strong&gt;&lt;br /&gt;Click OK in the Run Test dialog box. The test run begins.&lt;br /&gt;&lt;strong&gt;5 Review the test results.&lt;br /&gt;&lt;/strong&gt;The test fails because the graph was not updated after WinRunner placed an&lt;br /&gt;order for one ticket. WinRunner read the total number of orders from the graph&lt;br /&gt;and concluded that the text is incorrect.&lt;br /&gt;&lt;strong&gt;6 Close the Test Results window.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;7 Close the lesson9 test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Close.&lt;br /&gt;&lt;strong&gt;8 Close version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2161668784921620657?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2161668784921620657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2161668784921620657'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test-on-new-version_15.html' title='Running the Test on a New Version'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4946984444017683402</id><published>2007-03-15T02:33:00.000-07:00</published><updated>2007-03-15T02:36:32.030-07:00</updated><title type='text'>Verifying Text</title><content type='html'>In this exercise you add an if/else statement to the test script in order to determine&lt;br /&gt;whether the total was updated in the graph after you placed an order.&lt;br /&gt;&lt;strong&gt;1 In the first obj_get_text statement in the lesson9 test script, change the&lt;br /&gt;text variable to first_total.&lt;br /&gt;2 In the second obj_get_text statement in the test script, change the text&lt;br /&gt;variable to new_total.&lt;br /&gt;3 Place the cursor below the last line of the script.&lt;br /&gt;4 Add the following statements to the test script exactly as they appear&lt;br /&gt;below.&lt;br /&gt;&lt;/strong&gt;if (new_total == first_total + 1)&lt;br /&gt;tl_step ("graph total", 0, "Total is correct.");&lt;br /&gt;else&lt;br /&gt;tl_step ("graph total", 1, "Total is incorrect.");&lt;br /&gt;In plain English, these statements mean "If new_total equals first_total plus 1,&lt;br /&gt;report that the total is correct, otherwise (else) report that the total is incorrect."&lt;br /&gt;&lt;strong&gt;5 Add a comment to describe what this section of the script will do.&lt;br /&gt;&lt;/strong&gt;Place the cursor above the if statement you added in the previous step. Choose&lt;br /&gt;Edit &gt; Comment. After the # sign, type: check that graph total increments by&lt;br /&gt;one.&lt;br /&gt;&lt;strong&gt;6 Save the test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Save or click the Save button.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Debugging the Test Script&lt;br /&gt;&lt;/strong&gt;You should now run the test in Debug mode in order to check for errors in syntax&lt;br /&gt;and logic. If any error messages appear, look over the test script and try to fix the&lt;br /&gt;problem.&lt;br /&gt;&lt;strong&gt;1 Select Debug mode from the Run Mode list on the Standard toolbar.&lt;br /&gt;&lt;/strong&gt;Debug mode will stay in effect until you select a different mode.&lt;br /&gt;&lt;strong&gt;2 Run the test.&lt;/strong&gt;&lt;br /&gt;Choose Run &gt; Run from Top or click the Run from Top button. If you prefer to&lt;br /&gt;run the test line by line, use the Step button.&lt;br /&gt;&lt;strong&gt;3 Review the test results in the WinRunner Test Results window.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; Test Results or click the Test Results button. The WinRunner&lt;br /&gt;Test Results window displays the results of the Debug test run.&lt;br /&gt;If the tl_step event failed, a problem exists in the test script. Examine the script&lt;br /&gt;and try to fix the problem.&lt;br /&gt;&lt;strong&gt;4 Close the Test Results window.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Exit in the WinRunner Test Results window.&lt;br /&gt;&lt;strong&gt;5 Exit the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4946984444017683402?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4946984444017683402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4946984444017683402'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/verifying-text.html' title='Verifying Text'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3285795444010281121</id><published>2007-03-15T02:29:00.000-07:00</published><updated>2007-03-15T02:33:15.025-07:00</updated><title type='text'>Teaching Fonts to WinRunner</title><content type='html'>In the following exercise you will teach WinRunner the font used by the Flights&lt;br /&gt;Reservation application.&lt;br /&gt;Note that you only need to perform this exercise now if WinRunner did not&lt;br /&gt;recognize text in the previous exercise. In general, you only need to teach fonts&lt;br /&gt;to WinRunner if it does not automatically recognize the fonts in the application you&lt;br /&gt;are testing.&lt;br /&gt;To teach a font to WinRunner you:&lt;br /&gt;• learn the set of characters (font) used by your application&lt;br /&gt;• create a font group, a collection of fonts grouped together for specific testing&lt;br /&gt;purposes&lt;br /&gt;• activate the font group by adding the setvar TSL function to a test script&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Learning Fonts&lt;/strong&gt;&lt;br /&gt;You use the WinRunner Fonts Expert to learn the fonts used by your application.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the New&lt;br /&gt;Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Open the Fonts Expert.&lt;br /&gt;&lt;/strong&gt;In WinRunner, choose Tools &gt; Fonts Expert. The Font Expert window opens.&lt;br /&gt;&lt;strong&gt;3 Open the Learn Font window.&lt;/strong&gt;&lt;br /&gt;In the Fonts Expert, choose Font &gt; Learn. The Learn Fonts window opens.&lt;br /&gt;&lt;strong&gt;4 Name the font in the Flight Reservation flights.&lt;br /&gt;&lt;/strong&gt;In the Font Name box, type flights.&lt;br /&gt;&lt;strong&gt;5 Describe the properties of the flights font.&lt;/strong&gt;&lt;br /&gt;Click the Select Font button to open the Font dialog box. The Flight Reservation&lt;br /&gt;font is MS Sans Serif, Bold, 8 points. Select these properties in the window and&lt;br /&gt;click OK.&lt;br /&gt;&lt;strong&gt;6 Learn the flights font.&lt;br /&gt;&lt;/strong&gt;In the Learn Font window, click the Learn Font button. When the learn process&lt;br /&gt;is completed, the Existing Characters box displays the characters learned and&lt;br /&gt;the Properties box displays the font’s properties.&lt;br /&gt;&lt;strong&gt;7 Close the Learn Fonts window.&lt;br /&gt;&lt;/strong&gt;Click Close.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating a Font Group&lt;br /&gt;&lt;/strong&gt;After WinRunner learns a font, you must assign it to a font group. A font group can&lt;br /&gt;contain one or more fonts. In this exercise you will create a font group which&lt;br /&gt;contains only the flights font.&lt;br /&gt;&lt;strong&gt;1 Open the Font Groups window.&lt;/strong&gt;&lt;br /&gt;In the Fonts Expert, choose Font &gt; Groups.&lt;br /&gt;&lt;strong&gt;2 Create a Font Group called flt_res and assign the flights font to it.&lt;br /&gt;&lt;/strong&gt;Type the name flt_res into the Group Name field. Select "flights" in the Fonts in&lt;br /&gt;Library box. Click the New button.&lt;br /&gt;&lt;strong&gt;3 Close the Font Groups window and the Fonts Expert.&lt;/strong&gt;&lt;br /&gt;Click Close.&lt;br /&gt;&lt;strong&gt;4 Close the Fonts Expert.&lt;br /&gt;&lt;/strong&gt;Choose Font &gt; Exit.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Activating a Font Group&lt;br /&gt;&lt;/strong&gt;The final step before you can read text is to activate the font group. You do this in&lt;br /&gt;the General Options dialog box.&lt;br /&gt;&lt;strong&gt;1 Open a blank test window in WinRunner.&lt;/strong&gt;&lt;br /&gt;If a blank test window is not currently open, choose File &gt; New.&lt;br /&gt;&lt;strong&gt;2 Activate the flt_res font group and the Image Text Recognition mechanism.&lt;br /&gt;&lt;/strong&gt;Choose Settings &gt; General Options. In the General Options dialog box, click&lt;br /&gt;the Text Recognition tab. Select the Use Image Text Recognition Mechanism&lt;br /&gt;check box. In the Font Group box, type flt_res, and click OK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3285795444010281121?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3285795444010281121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3285795444010281121'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/teaching-fonts-to-winrunner.html' title='Teaching Fonts to WinRunner'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-8439905076513713969</id><published>2007-03-13T00:16:00.000-07:00</published><updated>2007-03-13T00:34:31.091-07:00</updated><title type='text'>Reading Text from an Application</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfZTKTDYfhI/AAAAAAAAAIE/RugLwcYLjYQ/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;In this exercise you will record the process of opening the graph in the Flight Reservation application to read the total number of tickets sold, creating a new order, and opening the graph again. In the next exercise you will add programming elements to the test script that verify the text in the graph.&lt;br /&gt;Note that in order for WinRunner to read text on computers with certain display drivers, including ATI, you must learn the fonts in the Flight Reservation application before you can perform this exercise. If WinRunner fails to read text in the exercise below, stop the exercise, follow the instructions in "Teaching Fonts to WinRunner" in the next section, and then repeat this exercise from the beginning.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt; WinRunner on the Start menu. If the Welcome window is open, click the New Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Open the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the Start menu. In the Login window, type your name and the password mercury, and click OK. Reposition the Flight Reservation application and WinRunner so that they are both clearly visible on your desktop.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;3 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Record—Context Sensitive or click the Record button.&lt;br /&gt;&lt;strong&gt;4 Open the graph.&lt;br /&gt;&lt;/strong&gt;In the Flight Reservation application, choose Analysis &gt; Graphs.&lt;br /&gt;&lt;strong&gt;5 Read the total from the graph.&lt;br /&gt;&lt;/strong&gt;In WinRunner, choose Create &gt; Get Text &gt; From Screen Area, or click the Get Text From Screen Area button on the User toolbar.&lt;br /&gt;Use the crosshairs pointer and the left mouse button to drag a rectangle around the total. Click the right mouse button to finish the operation.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041306031588146642" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfZRIDDYfdI/AAAAAAAAAHk/Fhpy8xC75Es/s320/1.gif" border="0" /&gt; &lt;div&gt;WinRunner inserts an obj_get_text statement into the test script. The text appears in the script as a comment.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;6 Close the graph.&lt;br /&gt;7 Create a new order.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; New Order in the Flight Reservation application.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;8 Enter flight and passenger information.&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041307264243760610" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfZSPzDYfeI/AAAAAAAAAHs/hEnAuXwU-TY/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;9 Insert the order into the database.&lt;br /&gt;&lt;/strong&gt;Click the Insert Order button. When the insertion is complete, the message "Insert Done" appears in the status bar:&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041307612136111602" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfZSkDDYffI/AAAAAAAAAH0/2r8gfV-8DHA/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;10 Synchronize the test so that it waits for the "Insert Done" message to appear in the status bar.&lt;br /&gt;&lt;/strong&gt;In WinRunner, choose the Create &gt; Synchronization Point &gt; For Object/Window Bitmap command or click the Synchronization Point For Object/Window Bitmap button on the User toolbar.&lt;br /&gt;Use the pointer to click the "Insert Done" message.&lt;br /&gt;&lt;strong&gt;11 Open the graph again.&lt;br /&gt;&lt;/strong&gt;Choose Analysis &gt; Graphs.&lt;br /&gt;&lt;strong&gt;12 Read the total from the graph.&lt;/strong&gt;&lt;br /&gt;Choose Create &gt; Get Text &gt; From Screen Area, or click the Get Text From Screen Area button on the User toolbar.&lt;/div&gt;&lt;div&gt;Use the crosshairs pointer and the left mouse button to drag a rectangle around the total.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041307878424083970" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfZSzjDYfgI/AAAAAAAAAH8/Y5LJu16sI4A/s320/1.gif" border="0" /&gt; &lt;div&gt;Click the right mouse button to finish the operation. WinRunner inserts an obj_get_text statement into the test script.&lt;br /&gt;&lt;strong&gt;13 Close the graph.&lt;br /&gt;14 Stop recording.&lt;/strong&gt;&lt;br /&gt;Choose Create &gt; Stop Recording or click the Stop button.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;15 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button. Name the test lesson9 and click Save.&lt;br /&gt;&lt;strong&gt;16 If you are working in the Global GUI Map File mode, save the new objects to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt; Save. Click Yes or OK to add the new object or new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041308269266107922" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfZTKTDYfhI/AAAAAAAAAIE/RugLwcYLjYQ/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-8439905076513713969?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8439905076513713969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8439905076513713969'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/reading-text-from-application.html' title='Reading Text from an Application'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfZRIDDYfdI/AAAAAAAAAHk/Fhpy8xC75Es/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7876789432212947567</id><published>2007-03-13T00:12:00.000-07:00</published><updated>2007-03-13T00:15:51.577-07:00</updated><title type='text'>How Do You Read Text from an Application?</title><content type='html'>You can read text from any bitmap image or GUI object by adding text checkpoints to a test script. A text checkpoint reads the text from the application. You then add programming elements to the test script, which verify that the text is correct.&lt;br /&gt;For example, you can use a text checkpoint to:&lt;br /&gt;• verify a range of values&lt;br /&gt;• calculate values&lt;br /&gt;• perform certain operations only if specified text is read from the screen&lt;br /&gt;To create a text checkpoint, you indicate the area, object, or window that contains the text you want to read.&lt;br /&gt;WinRunner inserts a win_get_text or obj_get_text statement into the test script and assigns the text to a variable. To verify the text you add programming elements to the script.&lt;br /&gt;Note that when you want to read text from a standard GUI object (such as an edit field, a list, or a menu), you should use a GUI checkpoint, which does not require programming. Use a text checkpoint only when you want to read text from a bitmap image or a non-standard GUI object.&lt;br /&gt;In the following exercises you create a test that:&lt;br /&gt;. opens a graph and reads the total number of tickets sold&lt;br /&gt;. creates a new order for the purchase of one ticket&lt;br /&gt;. opens the graph again and checks that the total number of tickets sold was updated&lt;br /&gt;. reports whether the number is correct or incorrect&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7876789432212947567?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7876789432212947567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7876789432212947567'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-do-you-read-text-from-application.html' title='How Do You Read Text from an Application?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-882692985933838682</id><published>2007-03-13T00:10:00.000-07:00</published><updated>2007-03-13T00:11:38.346-07:00</updated><title type='text'>Reading Text</title><content type='html'>&lt;strong&gt;Reading Text&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• describes how you can read text from bitmaps and non-standard GUI objects&lt;br /&gt;• shows you how to teach WinRunner the fonts used by an application&lt;br /&gt;• lets you create a test which reads and verifies text&lt;br /&gt;• lets you run the test and analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-882692985933838682?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/882692985933838682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/882692985933838682'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/reading-text.html' title='Reading Text'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-860126969675467863</id><published>2007-03-12T04:39:00.000-07:00</published><updated>2007-03-12T04:42:25.673-07:00</updated><title type='text'>Data-Driven Testing Tips</title><content type='html'>• You can parameterize only part of your test script or a loop within it, and a single data-driven test can contain more than one parameterized loop.&lt;br /&gt;• You can open and save data tables other than the default.xls data table. This enables you to use several different data tables in one test script.&lt;br /&gt;• You can parameterize statements containing GUI checkpoints, bitmap checkpoints, and bitmap synchronization points, and constants.&lt;br /&gt;• You can use the data table in the same way as an Excel spreadsheet, including inserting formulas into cells.&lt;br /&gt;• Before you run a data-driven test, you should look through it to see if there are any elements that may cause a conflict in a data-driven test. There are two ways to solve most of these conflicts:&lt;br /&gt;• Use a regular expression to enable WinRunner to recognize objects based on a portion of its physical description. For more information on regular expressions, refer to the "Using Regular Expressions" chapter in the WinRunner User’s Guide.&lt;br /&gt;• Use the GUI Map Configuration dialog box to change the physical properties that WinRunner uses to recognize the problematic object.&lt;br /&gt;• You can change the active row, or read from a non-active row during the test run by using TSL statements. For more information, refer to the "Using TSL Functions with Data-Driven Tests" chapter in the WinRunner User’s Guide.&lt;br /&gt;• It is not necessary for the data table viewer to be open when you run a test.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-860126969675467863?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/860126969675467863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/860126969675467863'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/data-driven-testing-tips.html' title='Data-Driven Testing Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2585570430988633709</id><published>2007-03-12T04:33:00.000-07:00</published><updated>2007-03-12T04:39:23.028-07:00</updated><title type='text'>Running the Test and Analyzing Results</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU7ZpgTQXI/AAAAAAAAAHc/5Z0_NZQ-hJE/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;You run the data-driven test just like any other test in WinRunner. When the test run is completed, the results for all iterations are included in a single Test Results window.&lt;br /&gt;&lt;strong&gt;1 Make sure that the Flight 1A Flight Reservation application is open on your desktop.&lt;br /&gt;2 In WinRunner, check that Verify mode is selected in the Standard toolbar.&lt;br /&gt;3 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test dialog box opens. Accept the default test run name, "res1". Make sure that the Display Test Results at End of Run check box is selected.&lt;br /&gt;&lt;strong&gt;4 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK in the Run Test dialog box. The test will run through the parameterized section of the script five times, once for each row in the data table.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;5 Review the results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test Results window.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5041000669735240050" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU7ZpgTQXI/AAAAAAAAAHc/5Z0_NZQ-hJE/s320/1.gif" border="0" /&gt; &lt;div&gt;Note that the tl_step event is listed five times and that the details for each iteration include the actual number of tickets, price and total cost that was checked.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;6 Close the test results.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit to close the Test Results window.&lt;br /&gt;&lt;strong&gt;7 Close the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;8 Close the lesson8 test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Close.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2585570430988633709?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2585570430988633709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2585570430988633709'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test-and-analyzing-results.html' title='Running the Test and Analyzing Results'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU7ZpgTQXI/AAAAAAAAAHc/5Z0_NZQ-hJE/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4716877026840939797</id><published>2007-03-12T04:32:00.000-07:00</published><updated>2007-03-12T04:44:30.272-07:00</updated><title type='text'>Customizing the Results Information</title><content type='html'>You could run the test now, but it may be difficult for you to interpret the results for each iteration. You can add iteration-specific information to the reporting statements in your script so that you can see which data is the basis for each result.&lt;br /&gt;&lt;strong&gt;1 Modify the tl_step statements.&lt;br /&gt;&lt;/strong&gt;Locate the first tl_step statement in your script. Delete the words "total is correct." and replace them with, "Correct. "tickets" tickets at $"price" cost $"total"."&lt;br /&gt;tl_step("total",0, "Correct. "tickets" tickets at $"price" cost $"total".");&lt;br /&gt;Use the same logic to modify the next tl_step statement to report an incorrect result. For example:&lt;br /&gt;tl_step("total", 1, "Error! "tickets" tickets at $"price" does not equal $"total". ");&lt;br /&gt;Now you will be able to see which data is used in each iteration when you view the results.&lt;br /&gt;&lt;strong&gt;2 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4716877026840939797?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4716877026840939797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4716877026840939797'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/customizing-results-information.html' title='Customizing the Results Information'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-294842894894134434</id><published>2007-03-12T04:19:00.000-07:00</published><updated>2007-03-12T04:46:21.583-07:00</updated><title type='text'>Adjusting the Script with Regular Expressions</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfU6HZgTQWI/AAAAAAAAAHU/PxlUmaWeV78/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;Your test is almost finished. Before running the test you should look through it to see if there are any elements that may cause a conflict in a data-driven test. The DataDriver wizard finds all fixed values in selected checkpoints and recorded statements, but it does not check for things such as object labels that also may vary based on external input.&lt;br /&gt;In the flight application, the name of the Fax Order window changes to reflect the fax order number. If you run the test as it is, the test will fail on the second iteration, because the Flight Application will open a window labeled, "Fax Order No. 1", but the script tells it to make the window labeled, "Fax Order No. 4" active. WinRunner will be unable to find this window.&lt;br /&gt;To solve this problem, you can use a regular expression. A regular expression is a string that specifies a complex search phrase in order to enable WinRunner to identify objects with varying names or titles.&lt;br /&gt;In this exercise you will use a regular expression in the physical description of the Fax Order window so that WinRunner can ignore variations in the window’s label.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;1 Locate the Fax Order window in the flight1a.gui GUI map file.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Select the Fax Order No. 4 window icon.&lt;br /&gt;&lt;strong&gt;2 Modify the window label with a regular expression.&lt;/strong&gt;&lt;br /&gt;Select Modify. The Modify window opens. In the Physical Description label line, add an "!" immediately following the opening quotes to indicate that this is a regular expression. Delete the period, space and the number "4" at the end of the line and replace this text with ".*" to indicate that the text following this phrase can vary.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040999256690999650" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfU6HZgTQWI/AAAAAAAAAHU/PxlUmaWeV78/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;3 Close the Modify dialog box.&lt;br /&gt;&lt;/strong&gt;Click OK to close the Modify window&lt;br /&gt;&lt;strong&gt;4 Save the GUI map (only if you are working in the Global GUI Map File mode) and close the GUI Map Editor.&lt;br /&gt;&lt;/strong&gt;If you are working in the Global GUI Map File mode, Choose File &gt; Save to save your changes and choose File &gt; Exit to close the GUI Map Editor.&lt;br /&gt;If you are working in the GUI Map File per Test mode, choose File &gt; Exit to exit the GUI Map Editor.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-294842894894134434?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/294842894894134434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/294842894894134434'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adjusting-script-with-regular.html' title='Adjusting the Script with Regular Expressions'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfU6HZgTQWI/AAAAAAAAAHU/PxlUmaWeV78/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5194723310004352313</id><published>2007-03-12T04:01:00.000-07:00</published><updated>2007-03-12T04:19:45.314-07:00</updated><title type='text'>Adding Data to the Data Table</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU3IpgTQVI/AAAAAAAAAHM/aziFda-qAe8/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;Now that you have parameterized your test, you are ready to add the data that the&lt;br /&gt;parameterized test will use.&lt;br /&gt;&lt;strong&gt;1 Open the data table.&lt;/strong&gt;&lt;br /&gt;Choose Tools &gt; Data Table. The lesson8.xls table opens. Note that there is one&lt;br /&gt;column named "Order_Num", and that the first row in the column contains the&lt;br /&gt;value "4".&lt;br /&gt;&lt;strong&gt;2 Add data to the table.&lt;br /&gt;&lt;/strong&gt;In rows 2, 3, 4, and 5 of the Order_Num column, enter the values, "1", "6", "8",&lt;br /&gt;and "10" respectively.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040995979630952786" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU3IpgTQVI/AAAAAAAAAHM/aziFda-qAe8/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;3 Save and close the table.&lt;br /&gt;&lt;/strong&gt;Click an empty cell and choose File &gt; Save from the data table menu. Then&lt;br /&gt;choose File &gt; Close to close the table.&lt;br /&gt;&lt;strong&gt;4 Save the test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Save or click the Save button. Click Save to close the Save Test&lt;br /&gt;dialog box.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5194723310004352313?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5194723310004352313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5194723310004352313'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adding-data-to-data-table.html' title='Adding Data to the Data Table'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfU3IpgTQVI/AAAAAAAAAHM/aziFda-qAe8/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2398893121685429965</id><published>2007-03-12T03:20:00.000-07:00</published><updated>2007-03-12T03:30:57.837-07:00</updated><title type='text'>Converting Your Test to a Data-Driven Test</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUrVpgTQUI/AAAAAAAAAHE/QPWhUzmphMM/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;Start by opening the test you created in Lesson 7 and using the DataDriver Wizard&lt;br /&gt;to parameterize the test.&lt;br /&gt;&lt;strong&gt;1 Create a new test from the lesson7 test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the Open&lt;br /&gt;Test button. Otherwise, choose File &gt; Open and select the test you created in&lt;br /&gt;Lesson 7. The lesson7 test opens.&lt;br /&gt;Choose File &gt; Save As and save the test as lesson8 in a convenient location on&lt;br /&gt;your hard drive.&lt;br /&gt;&lt;strong&gt;2 Run the DataDriver Wizard.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; DataDriver Wizard. The DataDriver Wizard welcome window&lt;br /&gt;opens. Click Next to begin the parameterization process.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;3 Create a data table for the test.&lt;br /&gt;&lt;/strong&gt;In the Use a new or existing Excel table box, type "lesson8". The DataDriver&lt;br /&gt;Wizard creates an Excel table with this name and saves it the test folder.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040981754699268354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUqMpgTQQI/AAAAAAAAAGk/izwf0kTSv3o/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;4 Assign a table variable name.&lt;br /&gt;&lt;/strong&gt;Accept the default table variable name, "table".&lt;/div&gt;&lt;div&gt;At the beginning of a data-driven test, the Excel data table you wish to use is&lt;br /&gt;assigned as the value of the table variable. Throughout the script, only the table&lt;br /&gt;variable name is used. This makes it easy for you to assign a different data table&lt;br /&gt;to the script at a later time without making changes throughout the script.&lt;br /&gt;&lt;strong&gt;5 Select global parameterization options.&lt;br /&gt;&lt;/strong&gt;Select Add statements to create a data-driven test. This adds TSL statements&lt;br /&gt;to the test that define the table variable name, open and close the data table,&lt;br /&gt;and run the appropriate script selection in a loop for each row in the data table.&lt;br /&gt;Select Parameterize the test and choose the Line by line option. When you&lt;br /&gt;select Parameterize the test, you instruct WinRunner to find fixed values in&lt;br /&gt;recorded statements and selected checkpoints and to replace them with&lt;br /&gt;parameters. The Line by line option instructs the wizard to open a screen for&lt;br /&gt;each line of the selected test that can be parameterized so that you can choose&lt;br /&gt;whether or not to parameterize that line.&lt;br /&gt;Click Next.&lt;br /&gt;&lt;strong&gt;6 Select the data to parameterize.&lt;/strong&gt;&lt;br /&gt;The first line-by-line screen opens. It refers to the Order Number radio button.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040982025282208018" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUqcZgTQRI/AAAAAAAAAGs/GL5oF2g-kQs/s320/1.gif" border="0" /&gt; &lt;div&gt;In this test you are going to open a different fax order in each iteration and the&lt;br /&gt;Order Number radio button must be selected each time. Thus, for this script line,&lt;br /&gt;keep the selection, Do not replace this data, and click Next.&lt;br /&gt;The next line by line screen refers to the Order Number edit field. This is the field&lt;br /&gt;you want to change for each iteration. Note that the value, "4" is highlighted and&lt;br /&gt;listed in the Argument to be replaced box to indicate that this is the value&lt;br /&gt;selected for parameterization.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040982330224886050" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUquJgTQSI/AAAAAAAAAG0/Mxc2cNKRygQ/s320/1.gif" border="0" /&gt; &lt;div&gt;Select A new column under "Replace the selected value with data from:" and&lt;br /&gt;type: Order_Num in the adjacent edit field. The New Column option creates a&lt;br /&gt;column titled "Order_Num" in the lesson8.xls table, and enters the value "4" in&lt;br /&gt;the first row of the column.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040982678117237042" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUrCZgTQTI/AAAAAAAAAG8/5fRx2rCvBoQ/s320/1.gif" border="0" /&gt; &lt;div&gt;Click Next and then click Finish. Your test is parameterized.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040983008829718850" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUrVpgTQUI/AAAAAAAAAHE/QPWhUzmphMM/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2398893121685429965?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2398893121685429965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2398893121685429965'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/converting-your-test-to-data-driven.html' title='Converting Your Test to a Data-Driven Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUqMpgTQQI/AAAAAAAAAGk/izwf0kTSv3o/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3572755718887533333</id><published>2007-03-12T03:12:00.000-07:00</published><updated>2007-03-12T03:13:28.425-07:00</updated><title type='text'>How Do You Create Data-Driven Tests?</title><content type='html'>Once you have successfully debugged and run your test, you may want to see&lt;br /&gt;how the same test performs with multiple sets of data. To do this, you convert&lt;br /&gt;your test to a data-driven test and create a corresponding data table with the sets&lt;br /&gt;of data you want to test.&lt;br /&gt;Converting your test to a data-driven test involves the following steps:&lt;br /&gt;• Adding statements to your script that open and close the data table.&lt;br /&gt;• Adding statements and functions to your test so that it will read from the data&lt;br /&gt;table and run in a loop while it applies each set of data.&lt;br /&gt;• Replacing fixed values in recorded statements and checkpoint statements with&lt;br /&gt;parameters, known as parameterizing the test.&lt;br /&gt;You can convert your test to a data-driven test using the DataDriver Wizard or&lt;br /&gt;you can modify your script manually.&lt;br /&gt;&lt;br /&gt;When you run your data-driven test, WinRunner runs the parameterized part(s) of&lt;br /&gt;the test one time (called an iteration) for each set of data in the data table, and&lt;br /&gt;then displays the results for all of the iterations in a single Test Results window.&lt;br /&gt;In Lesson 7 you created a test that opened a specific flight order and read the&lt;br /&gt;number of tickets, price per ticket, and total price from a fax order dialog box in&lt;br /&gt;order to check that the total price was correct. In this lesson you will create a test&lt;br /&gt;that performs the same check on several flight orders in order to check that your&lt;br /&gt;application computes the correct price for various quantities and prices of tickets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3572755718887533333?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3572755718887533333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3572755718887533333'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-do-you-create-data-driven-tests.html' title='How Do You Create Data-Driven Tests?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-8559287738460566936</id><published>2007-03-12T03:09:00.000-07:00</published><updated>2007-03-12T03:12:28.170-07:00</updated><title type='text'>Creating Data-Driven Tests</title><content type='html'>&lt;strong&gt;Creating Data-Driven Tests&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• shows you how to use the DataDriver Wizard to create a data-driven test&lt;br /&gt;• explains how to use regular expressions for GUI object names that vary with&lt;br /&gt;each iteration of a test&lt;br /&gt;• lets you run a test with several iterations and analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-8559287738460566936?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8559287738460566936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8559287738460566936'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/creating-data-driven-tests.html' title='Creating Data-Driven Tests'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-6520792379291978110</id><published>2007-03-12T02:57:00.000-07:00</published><updated>2007-03-12T03:02:59.124-07:00</updated><title type='text'>Running the Test on a New Version</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUlF5gTQPI/AAAAAAAAAGc/LytX5BlpeMc/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;Once the test script is debugged, you can run it on a new version of the Flight&lt;br /&gt;Reservation application.&lt;br /&gt;&lt;strong&gt;1 Open version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1B on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;2 Select Verify mode from the Run Mode list on the Standard toolbar.&lt;br /&gt;&lt;/strong&gt;Verify mode will remain in effect until you select a different mode.&lt;br /&gt;&lt;strong&gt;3 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default test run name "res1." Make sure that the&lt;br /&gt;Display Test Results at End of Run check box is selected.&lt;br /&gt;&lt;strong&gt;4 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK in the Run Test dialog box. The test run begins.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;5 Review the test results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test Results window.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040975664435642594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUkqJgTQOI/AAAAAAAAAGU/7b195P38O_U/s320/1.gif" border="0" /&gt; &lt;div&gt;You can double-click the tl_step statement in the test log to view the full details:&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040976141177012466" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUlF5gTQPI/AAAAAAAAAGc/LytX5BlpeMc/s320/1.gif" border="0" /&gt;&lt;br /&gt;&lt;div&gt;Notice that the message, "Total is correct", is the same message you wrote in the test script. Click OK to close the message.&lt;br /&gt;&lt;strong&gt;6 Close the test results.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit to close the Test Results window.&lt;br /&gt;&lt;strong&gt;7 Close the lesson7 test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Close.&lt;br /&gt;&lt;strong&gt;8 Close version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&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/5401578554988570599-6520792379291978110?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6520792379291978110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6520792379291978110'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test-on-new-version_7853.html' title='Running the Test on a New Version'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUkqJgTQOI/AAAAAAAAAGU/7b195P38O_U/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4250356096785531792</id><published>2007-03-12T02:54:00.000-07:00</published><updated>2007-03-12T02:57:01.380-07:00</updated><title type='text'>Debugging the Test Script</title><content type='html'>After enhancing a test with programming elements, you should check that the test&lt;br /&gt;runs smoothly, without errors in syntax and logic. WinRunner provides debugging&lt;br /&gt;tools which make this process quick and easy.&lt;br /&gt;You can:&lt;br /&gt;• run the test line by line using the Step commands&lt;br /&gt;• define breakpoints that enable you to stop running the test at a specified line or&lt;br /&gt;function in the test script&lt;br /&gt;• monitor the values of variables and expressions using the Watch List&lt;br /&gt;When you debug a test script, you should run your test in Debug mode. (To run a&lt;br /&gt;test in Debug mode, select Debug from the Run Mode list on the Standard&lt;br /&gt;toolbar.) The test results are saved in a debug directory. Each time you run the&lt;br /&gt;test in Debug mode, WinRunner overwrites the previous debug results.&lt;br /&gt;In this exercise you will control the test run using the Step command. If any error&lt;br /&gt;messages appear, examine the test script and try to fix the problem.&lt;br /&gt;&lt;strong&gt;1 Select Debug mode from the Run Mode list on the Standard toolbar.&lt;br /&gt;&lt;/strong&gt;Debug mode will remain in effect until you select a different mode.&lt;br /&gt;&lt;strong&gt;2 Place the execution marker –&gt; next to the first line in the test script.&lt;br /&gt;&lt;/strong&gt;Click in the left margin, next to the first line in the test script.&lt;br /&gt;&lt;strong&gt;3 Choose Run &gt; Step or click the Step button to run the first line in the test script.&lt;br /&gt;&lt;/strong&gt;WinRunner runs the first line of the test.&lt;br /&gt;&lt;strong&gt;4 Use the Step button to run the entire test, line by line.&lt;br /&gt;&lt;/strong&gt;Click the Step button to run each line of the test script. Note that your mouse pointer may sometimes move to the flight application as it clicks on objects during the test run.&lt;br /&gt;&lt;strong&gt;5 Click Stop.&lt;br /&gt;&lt;/strong&gt;Click the Stop button to tell WinRunner that you have completed the Debug test run.&lt;br /&gt;&lt;strong&gt;6 Review the test results in the WinRunner Test Results window.&lt;br /&gt;&lt;/strong&gt;When you run the test in Debug mode, the test results do not open automatically.&lt;br /&gt;Choose Tools &gt; Test Results or click the Test Results button. The WinRunner&lt;br /&gt;Test Results window displays the results of the Debug test run.&lt;br /&gt;&lt;strong&gt;7 Close the Test Results window.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;8 Exit the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4250356096785531792?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4250356096785531792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4250356096785531792'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/debugging-test-script.html' title='Debugging the Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4417794466891514938</id><published>2007-03-12T02:52:00.001-07:00</published><updated>2007-03-12T02:52:59.465-07:00</updated><title type='text'>Understanding tl_step</title><content type='html'>&lt;strong&gt;Understanding tl_step&lt;/strong&gt;&lt;br /&gt;In most cases when you run a test, WinRunner reports an overall test result of&lt;br /&gt;pass or fail. By adding tl_step statements to your test script, you can determine&lt;br /&gt;whether a particular operation within the test passed or failed, and send a&lt;br /&gt;message to the report.&lt;br /&gt;For example:&lt;br /&gt;tl_step ("total", 1, "Total is incorrect.");&lt;br /&gt;total is the name you assign to this operation.&lt;br /&gt;1 causes WinRunner to report that the operation failed. If you use 0, WinRunner&lt;br /&gt;reports that the operation passed.&lt;br /&gt;Total is incorrect is the message sent to the report. You can write any message&lt;br /&gt;that will make the test results meaningful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4417794466891514938?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4417794466891514938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4417794466891514938'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/understanding-tlstep.html' title='Understanding tl_step'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-6670344169266836725</id><published>2007-03-12T02:47:00.000-07:00</published><updated>2007-03-12T02:52:02.573-07:00</updated><title type='text'>Adding Logic to the Test Script</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUiQZgTQNI/AAAAAAAAAGM/hkfWFhhiTxo/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Adding Logic to the Test Script&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;In this exercise you will program decision-making logic into the test script using&lt;br /&gt;an if/else statement. This enables the test to:&lt;br /&gt;• check that the total is equal to the number of tickets ordered multiplied by the&lt;br /&gt;price per ticket&lt;br /&gt;• report whether the total is correct or incorrect&lt;br /&gt;&lt;strong&gt;1 Place the cursor below the last edit_get_text statement in the lesson7&lt;br /&gt;script.&lt;br /&gt;2 Add the following statements to the test script exactly as they appear&lt;br /&gt;below. Note that the tabs or spaces at the beginning of the second and&lt;br /&gt;fourth lines are optional.&lt;br /&gt;&lt;/strong&gt;if (tickets*price == total)&lt;br /&gt;tl_step ("total", 0, "Total is correct.");&lt;br /&gt;else&lt;br /&gt;tl_step ("total", 1, "Total is incorrect.");&lt;br /&gt;In plain English these statements mean: "If tickets multiplied by price equals&lt;br /&gt;total, report that the total is correct, otherwise (else) report that the total is&lt;br /&gt;incorrect."&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040973023030755538" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUiQZgTQNI/AAAAAAAAAGM/hkfWFhhiTxo/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;3 Add a comment to describe what this section of the script will do.&lt;br /&gt;&lt;/strong&gt;Place the cursor above the if statement you added in the previous step. Choose&lt;br /&gt;Edit &gt; Comment. After the # sign, type: check that the total ticket price is&lt;br /&gt;calculated correctly.&lt;br /&gt;&lt;strong&gt;4 Save the test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Save or click the Save button.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-6670344169266836725?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6670344169266836725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6670344169266836725'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adding-logic-to-test-script.html' title='Adding Logic to the Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUiQZgTQNI/AAAAAAAAAGM/hkfWFhhiTxo/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2378536184828560968</id><published>2007-03-12T02:42:00.000-07:00</published><updated>2007-03-12T02:47:18.136-07:00</updated><title type='text'>Using the Function Generator to Insert Functions</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUhSZgTQMI/AAAAAAAAAGE/dOLVs7Fe6m8/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Using the Function Generator to Insert Functions&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;You are now ready to add functions to the test script which query the # Tickets,&lt;br /&gt;Ticket Price, and Total fields in the Fax Order dialog box.&lt;br /&gt;&lt;strong&gt;1 Insert a blank line above the&lt;/strong&gt; button_press ("Cancel"); &lt;strong&gt;statement and place&lt;br /&gt;the cursor at the beginning of this line&lt;/strong&gt;.&lt;br /&gt;&lt;strong&gt;2 Open the Fax Order dialog box.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Fax Order in the Flight Reservation application.&lt;br /&gt;&lt;strong&gt;3 Query the # Tickets field.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Insert Function &gt; For Object/Window or click the&lt;br /&gt;Insert Function for Object/Window button on the User toolbar. Use the&lt;br /&gt;pointer to click the # Tickets field.&lt;br /&gt;The Function Generator opens and suggests the edit_get_text function.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040971957878866114" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUhSZgTQMI/AAAAAAAAAGE/dOLVs7Fe6m8/s320/1.gif" border="0" /&gt; &lt;div&gt;This function reads the text in the # Tickets field and assigns it to a variable. The&lt;br /&gt;default variable name is text. Change the variable name, text, to tickets by typing&lt;br /&gt;in the field:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;edit_get_text("# Tickets:",tickets);&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Click Paste to add the function to the test script.&lt;br /&gt;&lt;strong&gt;4 Query the Ticket Price field.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Insert Function &gt; For Object/Window or click the&lt;br /&gt;Insert Function for Object/Window button on the User toolbar. Use the&lt;br /&gt;pointer to click the Ticket Price field.&lt;br /&gt;The Function Generator opens and suggests the edit_get_text function.&lt;br /&gt;Change the name of the text variable to price:&lt;br /&gt;edit_get_text("Ticket Price:",price);&lt;br /&gt;Click Paste to add the function to the test script.&lt;br /&gt;&lt;strong&gt;5 Query the Total field.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Insert Function &gt; For Object/Window or click the&lt;br /&gt;Insert Function For Object/Window button on the User toolbar. Use the&lt;br /&gt;pointer to click the Total field.&lt;br /&gt;The Function Generator opens and suggests the edit_get_text function.&lt;br /&gt;Change the name of the text variable to total:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;edit_get_text("Total:",total);&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Click Paste to add the function to the test script.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;6 Close the Fax Order dialog box.&lt;br /&gt;&lt;/strong&gt;Click Cancel to close the dialog box in the Flight Reservation application.&lt;br /&gt;&lt;strong&gt;7 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button.&lt;br /&gt;&lt;strong&gt;8 If you are working in the Global GUI Map File mode, save the new objects&lt;br /&gt;to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt;&lt;br /&gt;Save. Click Yes to add the new object or new window to your GUI map. A&lt;br /&gt;WinRunner message box opens. Click OK. Choose File &gt; Exit to close the GUI&lt;br /&gt;Map Editor.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2378536184828560968?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2378536184828560968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2378536184828560968'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/using-function-generator-to-insert.html' title='Using the Function Generator to Insert Functions'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUhSZgTQMI/AAAAAAAAAGE/dOLVs7Fe6m8/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4002825589694816279</id><published>2007-03-12T02:40:00.000-07:00</published><updated>2007-03-12T02:42:09.954-07:00</updated><title type='text'>Recording a Basic Test Script</title><content type='html'>&lt;strong&gt;Recording a Basic Test Script&lt;/strong&gt;&lt;br /&gt;Start by recording the process of opening an order in the Flight Reservation&lt;br /&gt;application and opening the Fax Order dialog box.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the New&lt;br /&gt;Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Start the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;3 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Record—Context Sensitive or click the Record button on the&lt;br /&gt;toolbar.&lt;br /&gt;&lt;strong&gt;4 Open order #4.&lt;br /&gt;&lt;/strong&gt;In the Flight Reservation application, choose File &gt; Open Order. In the&lt;br /&gt;Open Order dialog box, select the Order No. check box and type "4" in the&lt;br /&gt;adjacent box. Click OK to open the order.&lt;br /&gt;&lt;strong&gt;5 Open the Fax Order dialog box.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Fax Order.&lt;br /&gt;&lt;strong&gt;6 Click Cancel to close the dialog box.&lt;br /&gt;7 Stop recording.&lt;/strong&gt;&lt;br /&gt;Choose Create &gt; Stop Recording or click the Stop button.&lt;br /&gt;&lt;strong&gt;8 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button. Save the test as lesson7 in a&lt;br /&gt;convenient location on your hard drive. Click Save to close the Save Test dialog&lt;br /&gt;box.&lt;br /&gt;&lt;strong&gt;9 If you are working in the Global GUI Map File mode, save the new objects&lt;br /&gt;to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt;&lt;br /&gt;Save. Click Yes or OK to add the new object or new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4002825589694816279?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4002825589694816279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4002825589694816279'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/recording-basic-test-script.html' title='Recording a Basic Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2645207447523370236</id><published>2007-03-12T02:39:00.000-07:00</published><updated>2007-03-12T02:40:21.216-07:00</updated><title type='text'>How Do You Program Tests with TSL?</title><content type='html'>&lt;strong&gt;How Do You Program Tests with TSL?&lt;/strong&gt;&lt;br /&gt;When you record a test, WinRunner generates TSL statements in a test script&lt;br /&gt;each time you click a GUI object or type on the keyboard. In addition to the&lt;br /&gt;recorded TSL functions, TSL includes many other built-in functions which can&lt;br /&gt;increase the power and flexibility of your tests. You can quickly add these&lt;br /&gt;functions to a test script using WinRunner’s visual programming tool, the Function&lt;br /&gt;Generator. All functions located in the Function Generator are explained in the&lt;br /&gt;TSL Online Reference and the TSL Reference Guide.&lt;br /&gt;The Function Generator enables you to add TSL functions in two ways:&lt;br /&gt;• You can point to a GUI object and let WinRunner "suggest" an appropriate&lt;br /&gt;function. You can then insert this function into the test script.&lt;br /&gt;• You can select a function from a list. Functions appear by category and&lt;br /&gt;alphabetically.&lt;br /&gt;You can further enhance your test scripts by adding logic. Simply type&lt;br /&gt;programming elements such as conditional statements, loops, and arithmetic&lt;br /&gt;operators directly into the test window.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2645207447523370236?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2645207447523370236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2645207447523370236'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-do-you-program-tests-with-tsl.html' title='How Do You Program Tests with TSL?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5874980605656993674</id><published>2007-03-12T02:38:00.000-07:00</published><updated>2007-03-12T02:39:10.932-07:00</updated><title type='text'>Programming Tests with TSL</title><content type='html'>&lt;strong&gt;Programming Tests with TSL&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• shows you how to use visual programming to add functions to your recorded test&lt;br /&gt;scripts&lt;br /&gt;• shows you how to add decision-making logic to a test script&lt;br /&gt;• helps you debug a test script&lt;br /&gt;• lets you run a test on a new version of an application and analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5874980605656993674?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5874980605656993674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5874980605656993674'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/programming-tests-with-tsl.html' title='Programming Tests with TSL'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-629439901531382391</id><published>2007-03-12T02:34:00.000-07:00</published><updated>2007-03-12T02:38:19.574-07:00</updated><title type='text'>Bitmap Checkpoint Tips</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUfOZgTQLI/AAAAAAAAAF8/jLsJMYGEvPc/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Bitmap Checkpoint Tips&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;• To capture an area, choose Create &gt; Bitmap Checkpoint &gt; For Screen Area or&lt;br /&gt;click the Bitmap Checkpoint for Screen Area button on the User toolbar. (To&lt;br /&gt;see this menu command, a test must be open. Otherwise it is inactive.) Use the&lt;br /&gt;crosshairs pointer to mark the area that you want WinRunner to capture.&lt;br /&gt;WinRunner inserts a win_check_bitmap statement into your test script. This&lt;br /&gt;statement includes additional parameters that define the position (x- and ycoordinates)&lt;br /&gt;and size (width and height) of the area.&lt;/div&gt;&lt;div&gt;• For overnight test runs, you can instruct WinRunner not to display a message&lt;br /&gt;when a bitmap mismatch is detected. Choose Settings &gt; General Options. In&lt;br /&gt;the General Options dialog box, click the Run tab and clear the Break when&lt;br /&gt;verification fails check box. This enables the test to run unattended.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040969690136133810" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUfOZgTQLI/AAAAAAAAAF8/jLsJMYGEvPc/s320/1.gif" border="0" /&gt; &lt;div&gt;• When running a test that includes bitmap checkpoints, make sure that the screen&lt;br /&gt;display settings are the same as when the test script was created. If the screen&lt;br /&gt;settings are different, WinRunner will report a bitmap mismatch.&lt;/div&gt;&lt;div&gt;• If you want to create new expected results for a bitmap checkpoint, run the test&lt;br /&gt;in Update mode. WinRunner overwrites the existing expected bitmaps with new&lt;br /&gt;expected bitmaps captured during the Update run.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-629439901531382391?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/629439901531382391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/629439901531382391'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/bitmap-checkpoint-tips.html' title='Bitmap Checkpoint Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUfOZgTQLI/AAAAAAAAAF8/jLsJMYGEvPc/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4945127962807783036</id><published>2007-03-12T02:31:00.000-07:00</published><updated>2007-03-12T02:34:49.722-07:00</updated><title type='text'>Running the Test on a New Version</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUeeJgTQKI/AAAAAAAAAF0/UORpj2SINYo/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Running the Test on a New Version&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;You can now run the test on a new version of the Flight Reservation application.&lt;br /&gt;&lt;strong&gt;1 Close Flight Reservation 1A.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;2 Start Flight Reservation 1B.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1B on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;3 Make sure that lesson6 is the active test.&lt;br /&gt;&lt;/strong&gt;Click in the lesson6 test window.&lt;br /&gt;&lt;strong&gt;4 Check that Verify mode is selected in the Standard toolbar.&lt;br /&gt;5 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default test run name "res1." Make sure that the&lt;br /&gt;Display test results at end of run check box is selected.&lt;br /&gt;&lt;strong&gt;6 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK. The test run begins.&lt;/div&gt;&lt;div&gt;If a mismatch is detected at a bitmap checkpoint, click Continue in the message&lt;br /&gt;window.&lt;br /&gt;&lt;strong&gt;7 Review the results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test Results window.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040968861207445666" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUeeJgTQKI/AAAAAAAAAF0/UORpj2SINYo/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;8 Close the Test Results window.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit to close the Test Results window.&lt;br /&gt;&lt;strong&gt;9 Close the lesson6 test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Close.&lt;br /&gt;&lt;strong&gt;10 Close version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4945127962807783036?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4945127962807783036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4945127962807783036'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test-on-new-version_12.html' title='Running the Test on a New Version'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUeeJgTQKI/AAAAAAAAAF0/UORpj2SINYo/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7513094934220873548</id><published>2007-03-12T02:26:00.000-07:00</published><updated>2007-03-12T02:31:04.029-07:00</updated><title type='text'>Viewing Expected Results</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUdlpgTQJI/AAAAAAAAAFs/sfnQtduQhoI/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;strong&gt;Viewing Expected Results&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;You can now view the expected results of the lesson6 test.&lt;br /&gt;&lt;strong&gt;1 Open the WinRunner Test Results window.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; Test Results or click the Test Results button. The Test Results&lt;br /&gt;window opens.&lt;br /&gt;&lt;strong&gt;2 View the captured bitmaps.&lt;/strong&gt;&lt;br /&gt;In the test log section, double-click the first "capture bitmap" event, or select it&lt;br /&gt;and click the Display button.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040967529767583874" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUdQpgTQII/AAAAAAAAAFk/bIEp1lRxNOM/s320/1.gif" border="0" /&gt; &lt;div&gt;Next, double-click the second "capture bitmap" event, or select it and click the&lt;br /&gt;Display button.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040967890544836754" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUdlpgTQJI/AAAAAAAAAFs/sfnQtduQhoI/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;3 Close the Test Results window.&lt;br /&gt;&lt;/strong&gt;Close the bitmaps and choose File &gt; Exit to close the Test Results window.&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/5401578554988570599-7513094934220873548?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7513094934220873548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7513094934220873548'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/viewing-expected-results.html' title='Viewing Expected Results'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUdQpgTQII/AAAAAAAAAFk/bIEp1lRxNOM/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3029508713819479204</id><published>2007-03-12T02:20:00.000-07:00</published><updated>2007-03-12T02:26:22.492-07:00</updated><title type='text'>Adding Bitmap Checkpoints to a Test Script</title><content type='html'>&lt;p&gt;&lt;strong&gt;Adding Bitmap Checkpoints to a Test Script&lt;br /&gt;&lt;/strong&gt;In this exercise you will test the Agent Signature box in the Fax Order dialog box.&lt;br /&gt;You will use a bitmap checkpoint to check that you can sign your name in the box.&lt;br /&gt;Then you will use another bitmap checkpoint to check that the box clears when&lt;br /&gt;you click the Clear Signature button.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the New&lt;br /&gt;Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Start the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;3 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Record—Context Sensitive or click the Record button on the&lt;br /&gt;toolbar.&lt;br /&gt;&lt;strong&gt;4 Open order #6.&lt;br /&gt;&lt;/strong&gt;In the Flight Reservation application, choose File &gt; Open Order. In the Open&lt;br /&gt;Order dialog box, select the Order No. check box and type "6" in the adjacent&lt;br /&gt;box. Click OK to open the order.&lt;br /&gt;&lt;strong&gt;5 Open the Fax Order dialog box.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Fax Order.&lt;br /&gt;&lt;strong&gt;6 Enter a 10-digit fax number in the Fax Number box.&lt;br /&gt;&lt;/strong&gt;You do not need to type in parentheses or dashes.&lt;br /&gt;&lt;strong&gt;7 Move the Fax Order dialog box.&lt;/strong&gt;&lt;br /&gt;Position the dialog box so that it least obscures the Flight Reservation window.&lt;br /&gt;&lt;strong&gt;8 Switch to Analog mode.&lt;br /&gt;&lt;/strong&gt;Press F2 on your keyboard or click the Record button to switch to Analog mode.&lt;br /&gt;9 Sign your name in the Agent Signature box.&lt;br /&gt;&lt;strong&gt;10 Switch back to Context Sensitive mode.&lt;/strong&gt;&lt;br /&gt;Press F2 on your keyboard or click the Record button to switch back to Context&lt;br /&gt;Sensitive mode.&lt;br /&gt;&lt;strong&gt;11 Insert a bitmap checkpoint that checks your signature.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Bitmap Checkpoint &gt; For Object/Window or click the&lt;br /&gt;Bitmap Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to click the Agent Signature box. WinRunner captures the&lt;br /&gt;bitmap and inserts an obj_check_bitmap statement into the test script.&lt;br /&gt;&lt;strong&gt;12 Click the Clear Signature button.&lt;/strong&gt;&lt;br /&gt;The signature is cleared from the Agent Signature box.&lt;br /&gt;&lt;strong&gt;13 Insert another bitmap checkpoint that checks the Agent Signature box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Bitmap Checkpoint &gt; For Object/Window or click the&lt;br /&gt;Bitmap Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to click the Agent Signature box. WinRunner captures a&lt;br /&gt;bitmap and inserts an obj_check_bitmap statement into the test script.&lt;br /&gt;&lt;strong&gt;14 Click the Cancel button on the Fax Order dialog box.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;15 Stop recording.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Stop Recording or click the Stop button.&lt;br /&gt;&lt;strong&gt;16 Save the test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Save or click the Save button. Save the test as lesson6 in a&lt;br /&gt;convenient location on your hard drive. Click Save to close the Save Test dialog&lt;br /&gt;box.&lt;br /&gt;&lt;strong&gt;17 If you are working in the Global GUI Map File mode, save the new objects&lt;br /&gt;to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt;&lt;br /&gt;Save. Click Yes or OK to add the new object or new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3029508713819479204?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3029508713819479204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3029508713819479204'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adding-bitmap-checkpoints-to-test.html' title='Adding Bitmap Checkpoints to a Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-8539151919439685145</id><published>2007-03-12T02:16:00.000-07:00</published><updated>2007-03-12T02:20:23.930-07:00</updated><title type='text'>How Do You Check a Bitmap?</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUa_pgTQHI/AAAAAAAAAFc/UpNlcIbGLuU/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;How Do You Check a Bitmap?&lt;br /&gt;&lt;/strong&gt;If your application contains bitmap areas, such as drawings or graphs, you can&lt;br /&gt;check these areas using a bitmap checkpoint. A bitmap checkpoint compares&lt;br /&gt;captured bitmap images pixel by pixel.&lt;br /&gt;To create a bitmap checkpoint, you indicate an area, window, or object that you&lt;br /&gt;want to check. For example: &lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5040965038686552178" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUa_pgTQHI/AAAAAAAAAFc/UpNlcIbGLuU/s320/1.gif" border="0" /&gt; &lt;p&gt;WinRunner captures a bitmap image and saves it as expected results. It then&lt;br /&gt;inserts an obj_check_bitmap statement into the test script if it captures an&lt;br /&gt;object, or a win_check_bitmap statement if it captures an area or window.&lt;br /&gt;When you run the test on a new version of the application, WinRunner compares&lt;br /&gt;the expected bitmap with the actual bitmap in the application. If any differences&lt;br /&gt;are detected, you can view a picture of the differences from the Test Results&lt;br /&gt;window.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-8539151919439685145?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8539151919439685145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8539151919439685145'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-do-you-check-bitmap.html' title='How Do You Check a Bitmap?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUa_pgTQHI/AAAAAAAAAFc/UpNlcIbGLuU/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2804558847125721900</id><published>2007-03-12T02:15:00.000-07:00</published><updated>2007-03-12T02:16:44.920-07:00</updated><title type='text'>Checking Bitmaps</title><content type='html'>&lt;strong&gt;Checking Bitmaps&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• explains how to check bitmap images in your application&lt;br /&gt;• shows you how to create a test that checks bitmaps&lt;br /&gt;• shows you how to run the test in order to compare bitmaps in different versions&lt;br /&gt;of an application&lt;br /&gt;• helps you analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2804558847125721900?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2804558847125721900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2804558847125721900'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/checking-bitmaps.html' title='Checking Bitmaps'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-629083034819324938</id><published>2007-03-12T01:23:00.000-07:00</published><updated>2007-03-12T01:56:53.971-07:00</updated><title type='text'>GUI Checkpoint Tips</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUVWpgTQGI/AAAAAAAAAFU/V1v4d4Od36o/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;GUI Checkpoint Tips&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;• You can create a single GUI checkpoint in your test that checks several or all&lt;br /&gt;objects in a window. Choose Create &gt; GUI Checkpoint &gt; For Multiple Objects.&lt;br /&gt;The Create GUI Checkpoint dialog box opens, which enables you to add objects&lt;br /&gt;to the GUI checkpoint and to specify the checks you want to perform on those&lt;br /&gt;objects. When you finish creating the checkpoint, WinRunner inserts a&lt;br /&gt;win_check_gui statement into the test script, which includes a checklist for the&lt;br /&gt;selected objects.&lt;br /&gt;• For overnight test runs, you can instruct WinRunner not to display a message&lt;br /&gt;when a GUI mismatch is detected. Choose Settings &gt; General Options. In the&lt;br /&gt;General Options dialog box, click the Run tab, and clear the Break when&lt;br /&gt;verification fails check box. This enables the test to run without interruption.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;For more information on setting test run options, refer to the "Setting Global&lt;br /&gt;Testing Options" and "Setting Testing Options from a Test Script" chapters in the&lt;br /&gt;WinRunner User’s Guide.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040958836753776738" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUVWpgTQGI/AAAAAAAAAFU/V1v4d4Od36o/s320/1.gif" border="0" /&gt; &lt;div&gt;• If you want to create new expected results for a GUI checkpoint, run the test in&lt;br /&gt;Update mode. WinRunner overwrites the existing expected GUI data with new&lt;br /&gt;data captured during the Update run. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-629083034819324938?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/629083034819324938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/629083034819324938'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/gui-checkpoint-tips.html' title='GUI Checkpoint Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUVWpgTQGI/AAAAAAAAAFU/V1v4d4Od36o/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7481329062128745071</id><published>2007-03-12T01:05:00.000-07:00</published><updated>2007-03-12T01:23:09.479-07:00</updated><title type='text'>Running the Test on a New Version</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUNr5gTQFI/AAAAAAAAAFM/_B3QER2GSOg/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Running the Test on a New Version&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this exercise you will run the lesson5 test on a new version of the Flight&lt;br /&gt;Reservation application in order to check the behavior of its GUI objects.&lt;br /&gt;&lt;strong&gt;1 Open version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1B on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Position the Flight Reservation application and WinRunner so that&lt;br /&gt;they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;2 Make sure that lesson5 is the active test.&lt;/strong&gt;&lt;br /&gt;Click in the lesson5 test window in WinRunner.&lt;br /&gt;&lt;strong&gt;3 Check that Verify mode is selected in the toolbar.&lt;br /&gt;4 Choose Run from Top.&lt;/strong&gt;&lt;br /&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default test run name "res2." Make sure that the&lt;br /&gt;Display Test Results at End of Run check box is selected.&lt;br /&gt;&lt;strong&gt;5 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK. The test run begins. This process might take a while.&lt;br /&gt;If a mismatch is detected at a GUI checkpoint, click Continue in the message&lt;br /&gt;window.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;6 Review the results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test&lt;br /&gt;Results window. In the test log section, one "end GUI checkpoint" statement&lt;br /&gt;appears in red and its Result field lists "mismatch." This indicates that one or&lt;br /&gt;more of the checks performed on the object failed.&lt;br /&gt;Double-click the red "end GUI checkpoint" event to view detailed results of the&lt;br /&gt;failed check. The GUI Checkpoint Results dialog box opens. Select Customer&lt;br /&gt;Name to display the dialog box as follows:&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040950405732974674" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUNr5gTQFI/AAAAAAAAAFM/_B3QER2GSOg/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;7 Close the Test Results window.&lt;br /&gt;&lt;/strong&gt;Click OK in the GUI Checkpoint Results dialog box and then choose File &gt; Exit&lt;br /&gt;to close the Test Results window.&lt;br /&gt;&lt;strong&gt;8 Close the lesson5 test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Close.&lt;br /&gt;&lt;strong&gt;9 Close version 1B of the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7481329062128745071?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7481329062128745071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7481329062128745071'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test-on-new-version.html' title='Running the Test on a New Version'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUNr5gTQFI/AAAAAAAAAFM/_B3QER2GSOg/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5938894499265903199</id><published>2007-03-12T01:00:00.000-07:00</published><updated>2007-03-12T01:04:54.515-07:00</updated><title type='text'>Running the Test</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUJZJgTQEI/AAAAAAAAAFE/4Xe3Y1TMklM/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Running the Test&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You will now run the lesson5 test in order to verify that the test runs smoothly.&lt;br /&gt;&lt;strong&gt;1 Make sure that the Flight Reservation application is open on your desktop.&lt;br /&gt;2 In WinRunner, check that Verify mode is selected in the Standard toolbar.&lt;br /&gt;3 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top, or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default test run name "res1." Make sure that the&lt;br /&gt;Display test results at end of run check box is selected.&lt;br /&gt;&lt;strong&gt;4 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK in the Run Test dialog box.&lt;br /&gt;&lt;strong&gt;5 Review the results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test&lt;br /&gt;Results window. In the test log section all "end GUI checkpoint" events should&lt;br /&gt;appear in green (indicating success).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Double-click an end GUI checkpoint event to view detailed results of that GUI&lt;br /&gt;checkpoint. The GUI Checkpoint Results dialog box opens. Select Customer&lt;br /&gt;Name to display the dialog box as follows:&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040945685563916354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUJZJgTQEI/AAAAAAAAAFE/4Xe3Y1TMklM/s320/1.gif" border="0" /&gt; &lt;div&gt;&lt;strong&gt;6 Close the test results.&lt;br /&gt;&lt;/strong&gt;Click OK to close the GUI Checkpoint Results dialog box. Then choose File &gt;&lt;br /&gt;Exit to close the Test Results window.&lt;br /&gt;7 Close the Flight Reservation application.&lt;br /&gt;Choose File &gt; Exit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5938894499265903199?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5938894499265903199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5938894499265903199'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test_12.html' title='Running the Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfUJZJgTQEI/AAAAAAAAAFE/4Xe3Y1TMklM/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4413115725183589894</id><published>2007-03-12T00:52:00.001-07:00</published><updated>2007-03-12T00:58:44.043-07:00</updated><title type='text'>Adding GUI Checkpoints to a Test Script</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Adding GUI Checkpoints to a Test Script&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this exercise you will check that objects in the Flight Reservation Open Order&lt;br /&gt;dialog box function properly when you open an existing order.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the New&lt;br /&gt;Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Start the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;3 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Record—Context Sensitive or click the Record button on the&lt;br /&gt;toolbar.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;4 Open the Open Order dialog box.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Open Order in the Flight Reservation application. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040944032001507378" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s320/1.gif" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;5 Create a GUI checkpoint for the Order No. check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window, or click the GUI&lt;br /&gt;Checkpoint for Object/Window button on the User toolbar.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Use the pointer to double-click the Order No. check box. The Check GUI&lt;br /&gt;dialog box opens and displays the available checks. Note that this dialog box&lt;br /&gt;does not open if you only single-clicked the Order No. check box. Accept the&lt;br /&gt;default check, "State." This check captures the current state (off) of the check&lt;br /&gt;box and stores it as expected results.&lt;br /&gt;Click OK in the Check GUI dialog box to insert the checkpoint into the test script.&lt;br /&gt;The checkpoint appears as an obj_check_gui statement.&lt;br /&gt;&lt;strong&gt;6 Enter "4" as the Order No.&lt;br /&gt;&lt;/strong&gt;Select the Order No. check box and type in 4 in the Order No. text box.&lt;br /&gt;&lt;strong&gt;7 Create another GUI checkpoint for the Order No. check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window or click the&lt;br /&gt;GUI Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to single-click the Order No. check box. WinRunner&lt;br /&gt;immediately inserts a checkpoint into the test script (an obj_check_gui&lt;br /&gt;statement) that checks the default check "State." (Use this shortcut when you&lt;br /&gt;want to use only the default check for an object.) This check captures the current&lt;br /&gt;state (on) of the check box and stores it as expected results.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;8 Create a GUI checkpoint for the Customer Name check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window or click the&lt;br /&gt;GUI Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to double-click the Customer Name check box. The Check&lt;br /&gt;GUI dialog box opens and displays the available checks. Accept the default&lt;br /&gt;check "State" and select "Enabled" as an additional check. The State check&lt;br /&gt;captures the current state (off) of the check box; the Enabled check captures the&lt;br /&gt;current condition (off) of the check box.&lt;br /&gt;Click OK in the Check GUI dialog box to insert the checkpoint into the test script.&lt;br /&gt;The checkpoint appears as an obj_check_gui statement.&lt;br /&gt;&lt;strong&gt;9 Click OK in the Open Order dialog box to open the order.&lt;br /&gt;10 Stop recording.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Stop Recording or click the Stop button.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;11 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button. Save the test as lesson5 in a&lt;br /&gt;convenient location on your hard drive. Click Save to close the Save Test dialog&lt;br /&gt;box.&lt;br /&gt;&lt;strong&gt;12 If you are working in the Global GUI Map File mode, save the new objects&lt;br /&gt;to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt;&lt;br /&gt;Save. Click Yes or OK to add the new object or new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4413115725183589894?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4413115725183589894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4413115725183589894'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adding-gui-checkpoints-to-test-script_12.html' title='Adding GUI Checkpoints to a Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4713685809696232414</id><published>2007-03-12T00:52:00.000-07:00</published><updated>2007-03-12T00:58:43.369-07:00</updated><title type='text'>Adding GUI Checkpoints to a Test Script</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Adding GUI Checkpoints to a Test Script&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this exercise you will check that objects in the Flight Reservation Open Order&lt;br /&gt;dialog box function properly when you open an existing order.&lt;br /&gt;&lt;strong&gt;1 Start WinRunner and open a new test.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt;&lt;br /&gt;WinRunner on the Start menu. If the Welcome window is open, click the New&lt;br /&gt;Test button. Otherwise, choose File &gt; New. A new test window opens.&lt;br /&gt;&lt;strong&gt;2 Start the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the&lt;br /&gt;Start menu. In the Login window, type your name and the password mercury,&lt;br /&gt;and click OK. Reposition the Flight Reservation application and WinRunner so&lt;br /&gt;that they are both clearly visible on your desktop.&lt;br /&gt;&lt;strong&gt;3 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Record—Context Sensitive or click the Record button on the&lt;br /&gt;toolbar.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;4 Open the Open Order dialog box.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Open Order in the Flight Reservation application. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5040944032001507378" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s320/1.gif" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;5 Create a GUI checkpoint for the Order No. check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window, or click the GUI&lt;br /&gt;Checkpoint for Object/Window button on the User toolbar.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Use the pointer to double-click the Order No. check box. The Check GUI&lt;br /&gt;dialog box opens and displays the available checks. Note that this dialog box&lt;br /&gt;does not open if you only single-clicked the Order No. check box. Accept the&lt;br /&gt;default check, "State." This check captures the current state (off) of the check&lt;br /&gt;box and stores it as expected results.&lt;br /&gt;Click OK in the Check GUI dialog box to insert the checkpoint into the test script.&lt;br /&gt;The checkpoint appears as an obj_check_gui statement.&lt;br /&gt;&lt;strong&gt;6 Enter "4" as the Order No.&lt;br /&gt;&lt;/strong&gt;Select the Order No. check box and type in 4 in the Order No. text box.&lt;br /&gt;&lt;strong&gt;7 Create another GUI checkpoint for the Order No. check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window or click the&lt;br /&gt;GUI Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to single-click the Order No. check box. WinRunner&lt;br /&gt;immediately inserts a checkpoint into the test script (an obj_check_gui&lt;br /&gt;statement) that checks the default check "State." (Use this shortcut when you&lt;br /&gt;want to use only the default check for an object.) This check captures the current&lt;br /&gt;state (on) of the check box and stores it as expected results.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;8 Create a GUI checkpoint for the Customer Name check box.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; GUI Checkpoint &gt; For Object/Window or click the&lt;br /&gt;GUI Checkpoint for Object/Window button on the User toolbar.&lt;br /&gt;Use the pointer to double-click the Customer Name check box. The Check&lt;br /&gt;GUI dialog box opens and displays the available checks. Accept the default&lt;br /&gt;check "State" and select "Enabled" as an additional check. The State check&lt;br /&gt;captures the current state (off) of the check box; the Enabled check captures the&lt;br /&gt;current condition (off) of the check box.&lt;br /&gt;Click OK in the Check GUI dialog box to insert the checkpoint into the test script.&lt;br /&gt;The checkpoint appears as an obj_check_gui statement.&lt;br /&gt;&lt;strong&gt;9 Click OK in the Open Order dialog box to open the order.&lt;br /&gt;10 Stop recording.&lt;br /&gt;&lt;/strong&gt;Choose Create &gt; Stop Recording or click the Stop button.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;11 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button. Save the test as lesson5 in a&lt;br /&gt;convenient location on your hard drive. Click Save to close the Save Test dialog&lt;br /&gt;box.&lt;br /&gt;&lt;strong&gt;12 If you are working in the Global GUI Map File mode, save the new objects&lt;br /&gt;to the GUI map.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Choose File &gt;&lt;br /&gt;Save. Click Yes or OK to add the new object or new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4713685809696232414?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4713685809696232414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4713685809696232414'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/adding-gui-checkpoints-to-test-script.html' title='Adding GUI Checkpoints to a Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUH45gTQDI/AAAAAAAAAE8/eueXquF7qjc/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2815884169942997178</id><published>2007-03-12T00:47:00.000-07:00</published><updated>2007-03-12T00:52:36.643-07:00</updated><title type='text'>How Do You Check GUI Objects?</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUGbpgTQCI/AAAAAAAAAE0/pUF57T5qMVY/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;strong&gt;How Do You Check GUI Objects? &lt;/strong&gt;&lt;br /&gt;When working with an application, you can determine whether it is functioning&lt;br /&gt;properly according to the behavior of its GUI objects. If a GUI object does not&lt;br /&gt;respond to input as expected, a defect probably exists somewhere in the&lt;br /&gt;application’s code.&lt;br /&gt;You check GUI objects by creating GUI checkpoints. A GUI checkpoint examines&lt;br /&gt;the behavior of an object’s properties. For example, you can check:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5040942193755504658" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUGN5gTQBI/AAAAAAAAAEs/Phvij4aAKw4/s320/1.gif" border="0" /&gt;To create a GUI checkpoint for a single object, you first point to it in your&lt;br /&gt;application. If you single-click the object, a checklist with the default checks for&lt;br /&gt;the object you selected is inserted into your test script. A checklist contains&lt;br /&gt;information about the GUI object and the selected properties to check. If you&lt;br /&gt;double-click the object, the Check GUI dialog box opens and displays the object&lt;br /&gt;you selected. Select the properties you want to check, and click OK to insert a&lt;br /&gt;checklist for the object into your test script. &lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5040942429978705954" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfUGbpgTQCI/AAAAAAAAAE0/pUF57T5qMVY/s320/1.gif" border="0" /&gt;&lt;br /&gt;Whether you choose to check an object’s default properties or you specify the&lt;br /&gt;properties of an object you want to check, WinRunner captures the current&lt;br /&gt;values of those properties and saves this information as expected results. It then&lt;br /&gt;inserts an obj_check_gui statement into the test script if you are checking an&lt;br /&gt;object, or a win_check_gui statement if you are checking a window.&lt;br /&gt;When you run this test on a new version of the application, WinRunner compares&lt;br /&gt;the object’s expected behavior with its actual behavior in the application.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2815884169942997178?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2815884169942997178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2815884169942997178'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-do-you-check-gui-objects.html' title='How Do You Check GUI Objects?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfUGN5gTQBI/AAAAAAAAAEs/Phvij4aAKw4/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4477270801766552342</id><published>2007-03-12T00:46:00.000-07:00</published><updated>2007-03-12T00:47:17.439-07:00</updated><title type='text'>Checking GUI Objects</title><content type='html'>&lt;strong&gt;Checking GUI Objects&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• explains how to check the behavior of GUI objects&lt;br /&gt;• shows you how to create a test that checks GUI objects&lt;br /&gt;• shows you how to run the test on different versions of an application and&lt;br /&gt;examine the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4477270801766552342?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4477270801766552342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4477270801766552342'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/checking-gui-objects.html' title='Checking GUI Objects'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4991143347329432723</id><published>2007-03-12T00:33:00.000-07:00</published><updated>2007-03-12T00:38:16.359-07:00</updated><title type='text'>Running the Synchronized Test</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUDLZgTQAI/AAAAAAAAAEk/CJ53HJQdpfA/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Running the Synchronized Test&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this exercise you will run the synchronized test script and examine the test&lt;br /&gt;results.&lt;br /&gt;&lt;strong&gt;1 Confirm that the lesson4 test window is active in WinRunner.&lt;br /&gt;&lt;/strong&gt;Click the title bar of the lesson4 test window.&lt;br /&gt;&lt;strong&gt;2 Confirm that Verify mode is selected in the Standard toolbar.&lt;br /&gt;&lt;/strong&gt;Verify mode will stay in effect until you choose a different mode.&lt;br /&gt;&lt;strong&gt;3 Choose Run from Top.&lt;br /&gt;&lt;/strong&gt;Choose Run &gt; Run from Top or click the Run from Top button. The Run Test&lt;br /&gt;dialog box opens. Accept the default name "res2." Make sure that the Display&lt;br /&gt;test results at end of run check box is selected.&lt;br /&gt;&lt;strong&gt;4 Run the test.&lt;br /&gt;&lt;/strong&gt;Click OK in the Run Test dialog box. WinRunner starts running the test from the&lt;br /&gt;first line in the script.&lt;br /&gt;Watch how WinRunner waits for the "Insert Done" message to appear in the&lt;br /&gt;status bar.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;5 Review the results.&lt;br /&gt;&lt;/strong&gt;When the test run is completed, the test results appear in the WinRunner Test&lt;br /&gt;Results window. Note that a "wait for bitmap" event appears in green in the test&lt;br /&gt;log section. This indicates that synchronization was performed successfully. You&lt;br /&gt;can double-click this event to see a bitmap image of the status bar displaying the&lt;br /&gt;"Insert Done" message.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5040938852270948354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUDLZgTQAI/AAAAAAAAAEk/CJ53HJQdpfA/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;6 Close the Test Results window.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;7 Close the lesson4 test.&lt;/strong&gt;&lt;br /&gt;Choose File &gt; Close in WinRunner.&lt;br /&gt;&lt;strong&gt;8 Close the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Exit.&lt;br /&gt;&lt;strong&gt;9 Change the timeout value back to 10000 milliseconds (10 seconds).&lt;br /&gt;&lt;/strong&gt;Choose Settings &gt; General Options to open the General Options dialog box.&lt;br /&gt;Click the Run tab. In the Timeout for Checkpoints and CS statements box,&lt;br /&gt;change the current value to "10000". Click OK to close the dialog box.&lt;br /&gt;To learn about additional synchronization methods, read the "Synchronizing the&lt;br /&gt;Test Run" chapter in your WinRunner User’s Guide.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4991143347329432723?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4991143347329432723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4991143347329432723'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-synchronized-test.html' title='Running the Synchronized Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfUDLZgTQAI/AAAAAAAAAEk/CJ53HJQdpfA/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-1535828157602702857</id><published>2007-03-08T23:07:00.000-08:00</published><updated>2007-03-08T23:11:13.508-08:00</updated><title type='text'>Synchronizing the Test</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEIbJgTP_I/AAAAAAAAAEc/li-Sb-mZ6Y4/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Synchronizing the Test&lt;/strong&gt;&lt;br /&gt;In this exercise you will insert a synchronization point into the lesson4 test script. The synchronization point will capture a bitmap image of the "Insert Done" message in the status bar. Later on when you run the test, WinRunner will wait for the "Insert Done" message to appear before it attempts to click the Delete Order button.&lt;br /&gt;1 Make sure that the lesson4 test window is active in WinRunner. Click the title bar of the lesson4 test window.&lt;br /&gt;2 Place the cursor at the point where you want to synchronize the test. Add a blank line below the button_press ("Insert Order"); statement. Place the cursor at the beginning of the blank line.&lt;br /&gt;3 Synchronize the test so that it waits for the "Insert Done" message to appear in the status bar. Choose Create &gt; Synchronization Point &gt; For Object/Window Bitmap or click the Synchronization Point for Object/Window Bitmap button on the User toolbar.&lt;br /&gt;Use the pointer to click the message "Insert Done" in the Flight Reservation window. WinRunner automatically inserts an obj_wait_bitmap synchronization point into the test script. This statement instructs WinRunner to wait 1 second for the "Insert Done" message to appear in the status bar.&lt;br /&gt;4 Manually change the 1 second wait in the script to a 10 second wait. The one-second wait that was inserted in the previous step isn’t long enough, so find the statement:&lt;br /&gt;obj_wait_bitmap("Insert Done...", "Img1", 1);&lt;br /&gt;and change the 1 at the end of the statement to a 10, to indicate a 10 second wait.&lt;br /&gt;5 Save the test. Choose File &gt; Save or click the Save button.&lt;br /&gt;6 If you are working in the Global GUI Map File mode, save the new objects to the GUI map.&lt;br /&gt;During this test you recorded an object in the Flight Reservation window (the Insert Done bitmap). You should save this object in your GUI map.&lt;br /&gt;To save a new object from a window that already exists in your GUI map, choose&lt;br /&gt;Tools &gt; GUI Map Editor.&lt;br /&gt;Choose View &gt; GUI Files.&lt;br /&gt;Note that the new object is displayed in the L0 GUI map file. Choose File &gt; Save. The New Windows dialog prompts you to save the new window to the existing map file or to a new one. Click OK to add the new window to your GUI map.&lt;br /&gt;Choose File &gt; Exit to close the GUI Map Editor.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039818720505184242" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEIbJgTP_I/AAAAAAAAAEc/li-Sb-mZ6Y4/s320/1.gif" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-1535828157602702857?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1535828157602702857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1535828157602702857'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/synchronizing-test.html' title='Synchronizing the Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEIbJgTP_I/AAAAAAAAAEc/li-Sb-mZ6Y4/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-1253381818758253989</id><published>2007-03-08T23:05:00.000-08:00</published><updated>2007-03-08T23:07:11.590-08:00</updated><title type='text'>Identifying a Synchronization Problem</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHepgTP-I/AAAAAAAAAEU/eNlzA3XUrA0/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Identifying a Synchronization Problem&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;You are now ready to run the lesson4 test. As the test runs, look for a synchronization problem. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 Make sure that the lesson4 test window is active in WinRunner. Click the title bar of the lesson4 test window. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2 Choose Run from Top. Choose Run &gt; Run from Top or click the Run from Top button. The Run Test dialog box opens. Accept the default test run name "res1." Make sure that the Display test results at end of run check box is selected. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3 Run the test. Click OK in the Run Test dialog box. WinRunner starts running the test. Watch what happens when WinRunner attempts to click the Delete button. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;4 Click Pause in the WinRunner message window. WinRunner fails to click the Delete Order button because the button is still disabled. This error occurred because WinRunner did not wait until the Insert Order operation was completed. Note that the execution arrow has paused opposite the command to click the Delete Order button.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039817681123098594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHepgTP-I/AAAAAAAAAEU/eNlzA3XUrA0/s320/1.gif" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-1253381818758253989?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1253381818758253989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1253381818758253989'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/identifying-synchronization-problem.html' title='Identifying a Synchronization Problem'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHepgTP-I/AAAAAAAAAEU/eNlzA3XUrA0/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5966703353802712489</id><published>2007-03-08T23:03:00.000-08:00</published><updated>2007-03-08T23:05:11.849-08:00</updated><title type='text'>Changing the Synchronization Setting</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHCpgTP9I/AAAAAAAAAEM/CijECgjVaRE/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Changing the Synchronization Setting&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;The default interval that WinRunner waits for an application to respond to input is 10 seconds. In the next exercise you will identify a synchronization problem and add a synchronization point to solve it. To run the test you have just recorded with a synchronization problem, you need to change the default synchronization setting. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 Open the General Options dialog box. Choose Settings &gt; General Options. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2 Click the Run tab. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3 Change the value to 1000 milliseconds (1 second). In the Timeout for Checkpoints and CS statements box, change the value to "1000". &lt;/div&gt;&lt;br /&gt;&lt;div&gt;4 Click OK to close the dialog box.&lt;img id="BLOGGER_PHOTO_ID_5039817200086761426" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHCpgTP9I/AAAAAAAAAEM/CijECgjVaRE/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5966703353802712489?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5966703353802712489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5966703353802712489'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/changing-synchronization-setting.html' title='Changing the Synchronization Setting'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/RfEHCpgTP9I/AAAAAAAAAEM/CijECgjVaRE/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7624367488861179331</id><published>2007-03-08T23:01:00.000-08:00</published><updated>2007-03-08T23:03:24.754-08:00</updated><title type='text'>Creating a Test</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEGgJgTP8I/AAAAAAAAAEE/tESMmM_ajbs/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Creating a Test&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this first exercise you will create a test that opens a new order in the Flight Reservation application and inserts the order into a database. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 Start WinRunner and open a new test. If WinRunner is not already open, choose Programs &gt; WinRunner &gt; WinRunner on the Start menu. If the Welcome window is open, click the New Test button. Otherwise, choose File &gt; New. A new test window opens. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2 Start the Flight Reservation application and log in. Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the Start menu. In the Login window, type your name and the password mercury, and click OK. Reposition the Flight Reservation application and WinRunner so that they are both clearly visible on your desktop. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3 Start recording in Context Sensitive mode. Choose Create &gt; Record—Context Sensitive or click the Record button on the toolbar. WinRunner will start recording the test. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;4 Create a new order. Choose File &gt; New Order in the Flight Reservation application.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039816607381274562" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEGgJgTP8I/AAAAAAAAAEE/tESMmM_ajbs/s320/1.gif" border="0" /&gt; 6 Insert the order into the database. Click the Insert Order button. When the insertion is complete, the "Insert Done" message appears in the status bar.&lt;br /&gt;&lt;br /&gt;7 Delete the order. Click the Delete Order button and click Yes in the message window to confirm the deletion.&lt;br /&gt;&lt;br /&gt;8 Stop recording. Choose Create &gt; Stop Recording or click the Stop button.&lt;br /&gt;&lt;br /&gt;9 Save the test. Choose File &gt; Save. Save the test as lesson4 in a convenient location on your hard drive. Click Save to close the Save Test dialog box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7624367488861179331?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7624367488861179331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7624367488861179331'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/creating-test.html' title='Creating a Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-ti5lmkcQ1I/RfEGgJgTP8I/AAAAAAAAAEE/tESMmM_ajbs/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2622349470930149161</id><published>2007-03-08T22:59:00.000-08:00</published><updated>2007-03-08T23:01:04.940-08:00</updated><title type='text'>When Should You Synchronize?</title><content type='html'>&lt;strong&gt;When Should You Synchronize?&lt;/strong&gt;&lt;br /&gt;When you run tests, your application may not always respond to input with the same speed. For example, it might take a few seconds:&lt;br /&gt;&lt;br /&gt;• to retrieve information from a database&lt;br /&gt;&lt;br /&gt;• for a window to pop up&lt;br /&gt;&lt;br /&gt;• for a progress bar to reach 100%&lt;br /&gt;&lt;br /&gt;• for a status message to appear&lt;br /&gt;&lt;br /&gt;WinRunner waits a set time interval for an application to respond to input. The default wait interval is up to 10 seconds. If the application responds slowly during a test run, WinRunner’s default wait time may not be sufficient, and the test run may unexpectedly fail.&lt;br /&gt;If you discover a synchronization problem between the test and your application, you can either:&lt;br /&gt;&lt;br /&gt;• Increase the default time that WinRunner waits. To do so, you change the value of the Timeout for Checkpoints and CS Statements option in the Run tab of the General Options dialog box (Settings &gt; General Options). This method affects all your tests and slows down many other Context Sensitive operations.&lt;br /&gt;&lt;br /&gt;• Insert a synchronization point into the test script at the exact point where the problem occurs. A synchronization point tells WinRunner to pause the test run in order to wait for a specified response in the application. This is the recommended method for synchronizing a test with your application.&lt;br /&gt;&lt;br /&gt;In the following exercises you will:&lt;br /&gt;. create a test that opens a new order in the Flight Reservation application and inserts the order into the database&lt;br /&gt;. change the synchronization settings&lt;br /&gt;. identify a synchronization problem&lt;br /&gt;. synchronize the test&lt;br /&gt;. run the synchronized test&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2622349470930149161?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2622349470930149161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2622349470930149161'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/when-should-you-synchronize.html' title='When Should You Synchronize?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-928770009838648739</id><published>2007-03-08T22:58:00.000-08:00</published><updated>2007-03-08T22:59:05.305-08:00</updated><title type='text'>Synchronizing Tests</title><content type='html'>&lt;strong&gt;Synchronizing Tests&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• describes when you should synchronize a test&lt;br /&gt;• shows you how to synchronize a test&lt;br /&gt;• shows you how to run the test and analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-928770009838648739?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/928770009838648739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/928770009838648739'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/synchronizing-tests.html' title='Synchronizing Tests'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-630182179678502887</id><published>2007-03-08T22:56:00.000-08:00</published><updated>2007-03-08T22:58:18.170-08:00</updated><title type='text'>Recording Tips</title><content type='html'>&lt;strong&gt;Recording Tips&lt;/strong&gt;&lt;br /&gt;• Before starting to record, you should close applications that are not required for the test.&lt;br /&gt;&lt;br /&gt;• Create the test so that it ends where it started. For example, if the test opens an application, make sure that it also closes the application at the end of the test run. This ensures that WinRunner is prepared to run repeated executions of the same test.&lt;br /&gt;&lt;br /&gt;• When recording in Analog mode, avoid holding down the mouse button if this results in a repeated action. For example, do not hold down the mouse button to scroll a window. Instead, scroll by clicking the scrollbar arrow repeatedly. This enables WinRunner to accurately run the test.&lt;br /&gt;&lt;br /&gt;• Before switching from Context Sensitive mode to Analog mode during a recording session, always move the current window to a new position on the desktop. This ensures that when you run the test, the mouse pointer will reach the correct areas of the window during the Analog portion of the test.&lt;br /&gt;&lt;br /&gt;• When recording, if you click a non-standard GUI object, WinRunner generates a generic obj_mouse_click statement in the test script. For example, if you click a graph object, it records: obj_mouse_click (GS_Drawing, 8, 53, LEFT); If your application contains a non-standard GUI object that behaves like a standard GUI object, you can map this object to a standard object class so that WinRunner will record more intuitive statements in the test script. For more information refer to the "Configuring the GUI Map" chapter in your WinRunner User’s Guide.&lt;br /&gt;&lt;br /&gt;• If you are working in the Global GUI Map File mode, then if you click an object whose description was not previously learned, WinRunner learns a description of the object and adds it to a temporary GUI map file. For more information, refer to the "Working in the Global GUI Map File Mode" chapter in your WinRunner User’s Guide.&lt;br /&gt;&lt;br /&gt;• To easily switch between Context Sensitive and Analog modes, press F2.&lt;br /&gt;&lt;br /&gt;• If you are working in Global GUI Map File mode, always check whether new windows or objects have been added to the temporary GUI map before you close WinRunner. If new objects have been added, save them to the appropriate GUI map file for your test.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-630182179678502887?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/630182179678502887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/630182179678502887'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/recording-tips.html' title='Recording Tips'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-916140469946352809</id><published>2007-03-08T22:51:00.000-08:00</published><updated>2007-03-08T22:56:47.127-08:00</updated><title type='text'>Analyzing Test Results</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEETZgTP7I/AAAAAAAAAD8/iZ-1rN6AknM/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Analyzing Test Results&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Once a test run is completed, you can immediately review the test results in the WinRunner Test Results window. WinRunner color-codes results (green indicates passed and red indicates failed) so that you can quickly draw conclusions about the success or failure of the test. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 Make sure that the WinRunner Test Results window is open and displays the test results. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;If the WinRunner Test Results window is not currently open, first click the test window to activate it, and then choose Tools &gt; Test Results or click the Test Results button.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039814189314686898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEETZgTP7I/AAAAAAAAAD8/iZ-1rN6AknM/s320/1.gif" border="0" /&gt;&lt;span style="font-size:85%;"&gt;1 Displays the name of the current test. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;2 Shows the current results directory name. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;3 Shows whether a test run passed or failed. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;4 Includes general information about the test run such as date, operator name, and total run time. To view these details, double click the Information icon. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;5 The test log section lists the major events that occurred during the test run. It also lists the test script line at which each event occurred.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2 Review the results.&lt;br /&gt;3 Close the Test Results window. Choose File &gt; Exit in the WinRunner Test Results window.&lt;br /&gt;4 Close the test. Choose File &gt; Close.&lt;br /&gt;5 Close the Flight Reservation application. Choose File &gt; Exit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-916140469946352809?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/916140469946352809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/916140469946352809'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/analyzing-test-results.html' title='Analyzing Test Results'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEETZgTP7I/AAAAAAAAAD8/iZ-1rN6AknM/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4425834251501988531</id><published>2007-03-08T22:48:00.000-08:00</published><updated>2007-03-08T22:51:32.033-08:00</updated><title type='text'>Running the Test</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEDsZgTP6I/AAAAAAAAAD0/W5r44EvX3Zo/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Running the Test&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;You are now ready to run your recorded test script and to analyze the test results. WinRunner provides three modes for running tests. You select a mode from the toolbar. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;• Use Verify mode when running a test to check the behavior of your application, and when you want to save the test results. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;• Use Debug mode when you want to check that the test script runs smoothly without errors in syntax. See Lesson 7 for more information. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;• Use Update mode when you want to create new expected results for a GUI checkpoint or bitmap checkpoint. See Lessons 5 and 6 for more information. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;To run the test: &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 Check that WinRunner and the main window of the Flight Reservation application are open on your desktop. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2 Make sure that the lesson3 test window is active in WinRunner. Click the title bar of the lesson3 test window. If the test is not already open, choose File &gt; Open and select the test. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3 Make sure the main window of the Flight Reservation application is active. If any dialog boxes are open, close them. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;4 Make sure that Verify mode is selected in the toolbar. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;5 Choose Run from Top. Choose Run &gt; Run from Top or click the Run from Top button. The Run Test dialog box opens.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039813519299788706" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEDsZgTP6I/AAAAAAAAAD0/W5r44EvX3Zo/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;6 Choose a Test Run name. Define the name of the folder in which WinRunner will store the results of the test. Accept the default folder name "res1." The results folder will be stored within the test’s folder. Note the Display Test Results at end of run check box at the bottom of the dialog box. When this check box is selected, WinRunner automatically displays the test results when the test run is completed. Make sure that this check box is selected. &lt;/p&gt;&lt;p&gt;7 Run the test. Click OK in the Run Test dialog box. WinRunner immediately begins running the test. Watch how WinRunner opens each window in the Flight Reservation application. &lt;/p&gt;&lt;p&gt;8 Review the test results. When the test run is completed, the test results automatically appear in the WinRunner Test Results window. See the next section to learn how to analyze the test results.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4425834251501988531?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4425834251501988531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4425834251501988531'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/running-test.html' title='Running the Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfEDsZgTP6I/AAAAAAAAAD0/W5r44EvX3Zo/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-8799304583591141678</id><published>2007-03-08T22:42:00.000-08:00</published><updated>2007-03-08T22:48:34.422-08:00</updated><title type='text'>Recording in Analog Mode</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfECUZgTP5I/AAAAAAAAADs/WCAH6_GrrV8/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Recording in Analog Mode&lt;/strong&gt;&lt;br /&gt;In this exercise you will test the process of sending a fax. You will start recording in Context Sensitive mode, switch to Analog mode in order to add a signature to the fax, and then switch back to Context Sensitive mode. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1 In the lesson3 test, place the cursor below the last line of the script. You will add the new test segment to the lesson3 test. If the test is not already open, choose File &gt; Open and select the test. In the lesson3 test window, place the cursor below the last line of the test. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2 Start Recording in Context Sensitive mode. Choose Create &gt; Record—Context Sensitive or click the Record button on the toolbar. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;edit_set ("Edit", "3"); &lt;/div&gt;&lt;br /&gt;&lt;div&gt;For more information about the different ways in which WinRunner records keyboard input, choose Help &gt; TSL Online Reference. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3 Open the Fax Order form and fill in a fax number. In the Flight Reservation application, choose File &gt; Fax Order. In the Fax Number box, type "4155551234".&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039812007471300498" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfECUZgTP5I/AAAAAAAAADs/WCAH6_GrrV8/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;4 Select the Send Signature with Order check box. &lt;/p&gt;&lt;p&gt;5 Sign the fax in Context Sensitive mode. Use the mouse to sign your name in the Agent Signature box.&lt;br /&gt;Watch how WinRunner records your signature. &lt;/p&gt;&lt;p&gt;6 Clear the signature. Click the Clear Signature button. &lt;/p&gt;&lt;p&gt;7 Move the Fax Order window to a different position on your desktop. Before switching to Analog mode, reposition the window in which you are working. &lt;/p&gt;&lt;p&gt;8 Sign the fax again in Analog mode. Press F2 on your keyboard or click the Record button again to switch to Analog mode. Sign your name in the Agent Signature box. Watch how WinRunner records your signature. &lt;/p&gt;&lt;p&gt;9 Switch back to Context Sensitive mode and send the fax. Press F2 or click the Record button to switch back to Context Sensitive mode. Click Send. The application will simulate the process of sending the fax. &lt;/p&gt;&lt;p&gt;10 Stop Recording. Choose Create &gt; Stop Recording or click the Stop button. &lt;/p&gt;&lt;p&gt;11 Save the test. Choose File &gt; Save or click the Save button. &lt;/p&gt;&lt;p&gt;12 If you are working in the Global GUI Map File mode, save the new objects to the GUI map. When you ran the RapidTest Script wizard in the previous lesson, it learned all the windows and objects it was able to access. The fax order dialog box, however, can be open only when an order has already been opened, as you did in step 5 of Recording a Context Sensitive Test on page 38. Therefore, when you opened the fax order dialog box in step 3 above, WinRunner added the new window, and the objects you recorded within that window, to the temporary GUI map. The temporary GUI map is discarded whenever you close WinRunner, so it is important to save new windows and objects to the GUI map file that your test uses. &lt;/p&gt;&lt;p&gt;Choose Tools &gt; GUI Map Editor. Choose View &gt; GUI Files. Note that the Fax Order No. 3 window is displayed in the L0 GUI map file. Choose File &gt; Save. The New Windows dialog box opens. Confirm that the flight1a.GUI file is displayed in the Loaded GUI Files box. Click OK. The Fax Order No. 3 window and all objects under that window are moved from the temporary GUI map to the flight1a.GUI map file. Choose File &gt; Exit to close the GUI Map Editor.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-8799304583591141678?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8799304583591141678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/8799304583591141678'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/recording-in-analog-mode.html' title='Recording in Analog Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfECUZgTP5I/AAAAAAAAADs/WCAH6_GrrV8/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2138334461816221843</id><published>2007-03-08T22:40:00.000-08:00</published><updated>2007-03-08T22:42:34.643-08:00</updated><title type='text'>Understanding the Test Script</title><content type='html'>&lt;strong&gt;Understanding the Test Script&lt;/strong&gt;&lt;br /&gt;In the previous exercise, you recorded the process of opening a flight order in the Flight Reservation application. As you worked, WinRunner generated a test script similiar to the following:&lt;br /&gt;# Flight Reservation set_window ("Flight Reservation", 3);&lt;br /&gt;menu_select_item ("File;Open Order...");&lt;br /&gt;# Open Order set_window ("Open Order", 1);&lt;br /&gt;button_set ("Order No.", ON);&lt;br /&gt;edit_set ("Edit_1", "3");&lt;br /&gt;button_press ("OK");&lt;br /&gt;As you can see, the recorded TSL statements describe the objects you selected and the actions you performed.&lt;br /&gt;For example, when you selected a menu item, WinRunner generated a menu_select_item statement.&lt;br /&gt;The following points will help you understand your test script:&lt;br /&gt;• When you click an object, WinRunner assigns the object a logical name, which is usually the object’s text label. The logical name makes it easy for you to read the test script. For example, when you selected the Order No. check box, WinRunner recorded the following statement: button_set ("Order No.", ON); "Order No." is the object’s logical name.&lt;br /&gt;• By default, WinRunner automatically adds a comment line each time you begin working in a new window so that your script is easier to read. For example, when you clicked on the Flight Reservation window, WinRunner generated the following comment line: # Flight Reservation&lt;br /&gt;• WinRunner generates a set_window statement each time you begin working in a new window. The statements following a set_window statement perform operations on objects within that window. For example, when you opened the Open Order dialog box, WinRunner generated the following statement: set_window ("Open Order", 10);&lt;br /&gt;• When you enter keyboard input, WinRunner generates a type, an obj_type, or an edit_set statement in the test script. For example, when you typed 3 in the Order Number box, WinRunner generated the following statement:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2138334461816221843?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2138334461816221843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2138334461816221843'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/understanding-test-script.html' title='Understanding the Test Script'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4708282927185356705</id><published>2007-03-08T22:31:00.000-08:00</published><updated>2007-03-08T22:39:55.304-08:00</updated><title type='text'>Recording a Context Sensitive Test</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfEAc5gTP4I/AAAAAAAAADk/PLNpZxClyrs/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Recording a Context Sensitive Test&lt;/strong&gt;&lt;br /&gt;In this exercise you will create a script that tests the process of opening an order in the Flight Reservation application. You will create the script by recording in Context Sensitive mode. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;1 Start WinRunner.&lt;br /&gt;&lt;/strong&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt; WinRunner on the Start menu. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;2 Open a new test.&lt;br /&gt;&lt;/strong&gt;If the Welcome window is open, click the New Test button. Otherwise, choose File &gt; New. A new test window opens in WinRunner. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;3 Start the Flight Reservation application and log in.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the Start menu. In the Login window, type your name and the password mercury, and click OK. The name you type must be at least four characters long. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Position the Flight Reservation application and WinRunner so that they are both clearly visible on your desktop.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039809954476932994" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfEAc5gTP4I/AAAAAAAAADk/PLNpZxClyrs/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;4 Start recording in Context Sensitive mode.&lt;br /&gt;&lt;/strong&gt;In WinRunner, choose Create &gt; Record—Context Sensitive or click the Record button on the toolbar. From this point on, WinRunner records all mouse clicks and keyboard input. Note that the text, "Rec" appears in blue above the recording button. This indicates that you are recording in Context Sensitive mode. The status bar also informs you of your current recording mode. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;5 Open order #3.&lt;br /&gt;&lt;/strong&gt;In the Flight Reservation application, choose File &gt; Open Order. In the Open Order dialog box, select the Order No. check box. Type 3 in the adjacent box, and click OK. Watch how WinRunner generates a test script in the test window as you work. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;6 Stop recording.&lt;br /&gt;&lt;/strong&gt;In WinRunner, choose Create &gt; Stop Recording or click the Stop button on the toolbar. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;7 Save the test.&lt;br /&gt;&lt;/strong&gt;Choose File &gt; Save or click the Save button on the toolbar. Save the test as lesson3 in a convenient location on your hard drive. Click Save to close the Save Test dialog box. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4708282927185356705?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4708282927185356705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4708282927185356705'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/recording-context-sensitive-test.html' title='Recording a Context Sensitive Test'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfEAc5gTP4I/AAAAAAAAADk/PLNpZxClyrs/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2356932150734815231</id><published>2007-03-08T04:53:00.000-08:00</published><updated>2007-03-08T05:56:06.652-08:00</updated><title type='text'>Analog</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfAHsmhpXrI/AAAAAAAAADc/dGu4Pc0ZZC8/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Analog&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In Analog mode, WinRunner records the exact coordinates traveled by the mouse, as well as mouse clicks and keyboard input. For example, if you click the OK button in the Login window, WinRunner records statements that look like this:&lt;br /&gt;When this statement is recorded... .......... it really means:&lt;br /&gt;move_locator_track (1);&lt;br /&gt;mouse track mtype ("-");&lt;br /&gt;left mouse button press mtype ("+");&lt;br /&gt;left mouse button release&lt;br /&gt;When you run the test, WinRunner retraces the recorded movements using absolute screen coordinates. If your application is located in a different position on the desktop, or the user interface has changed, WinRunner is not able to execute the test correctly.&lt;br /&gt;When choosing a record mode, consider the following points:&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039536445864894130" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfAHsmhpXrI/AAAAAAAAADc/dGu4Pc0ZZC8/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;If you are testing an application that contains both GUI objects and bitmap areas, you can switch between modes as you record. This will be discussed later in the lesson.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2356932150734815231?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2356932150734815231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2356932150734815231'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/analog.html' title='Analog'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/RfAHsmhpXrI/AAAAAAAAADc/dGu4Pc0ZZC8/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3920203479236456555</id><published>2007-03-08T04:50:00.000-08:00</published><updated>2007-03-08T05:55:50.725-08:00</updated><title type='text'>Choosing a Record Mode</title><content type='html'>&lt;strong&gt;Choosing a Record Mode&lt;/strong&gt;&lt;br /&gt;By recording, you can quickly create automated test scripts. You work with your application as usual, clicking objects with the mouse and entering keyboard input. WinRunner records your operations and generates statements in TSL, Mercury Interactive’s Test Script Language. These statements appear as a script in a WinRunner test window.&lt;br /&gt;Before you begin recording a test, you should plan the main stages of the test and select the appropriate record mode. Two record modes are available: Context Sensitive and Analog.&lt;br /&gt;&lt;strong&gt;Context Sensitive&lt;br /&gt;&lt;/strong&gt;Context Sensitive mode records your operations in terms of the GUI objects in your application. WinRunner identifies each object you click (such as a window, menu, list, or button), and the type of operation you perform (such as press, enable, move, or select).&lt;br /&gt;For example, if you record a mouse click on the OK button in the Flight Reservation Login window, WinRunner records the following TSL statement in your test script:&lt;br /&gt;button_press ("OK");&lt;br /&gt;When you run the script, WinRunner reads the command, looks for the OK button, and presses it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3920203479236456555?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3920203479236456555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3920203479236456555'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/choosing-record-mode.html' title='Choosing a Record Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-7314322115171723666</id><published>2007-03-08T04:49:00.000-08:00</published><updated>2007-03-08T05:55:25.722-08:00</updated><title type='text'>Recording Tests</title><content type='html'>&lt;strong&gt;Recording Tests&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• describes Context Sensitive and Analog record modes&lt;br /&gt;• shows you how to record a test script&lt;br /&gt;• helps you read the test script&lt;br /&gt;• shows you how to run the recorded test and analyze the results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-7314322115171723666?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7314322115171723666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/7314322115171723666'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/recording-tests.html' title='Recording Tests'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-1707102758228658903</id><published>2007-03-08T04:34:00.000-08:00</published><updated>2007-03-08T05:55:12.687-08:00</updated><title type='text'>Using the RapidTest Script Wizard</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfAE4GhpXqI/AAAAAAAAADU/iksZUnRPWHA/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;strong&gt;Using the RapidTest Script Wizard&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;If you choose the Global GUI Map File mode, the RapidTest Script wizard is usually the easiest and quickest way to start the testing process. The RapidTest Script wizard systematically opens the windows in your application and learns the description of every GUI object. The wizard stores this information in a GUI map file. To observe WinRunner’s learning process, use the RapidTest Script wizard on the Flight Reservation application.&lt;br /&gt;&lt;strong&gt;1 Log in to the Flight Reservation application.&lt;br /&gt;&lt;/strong&gt;If the Login window is open, type your name in the Agent Name field, and mercury in the Password field and click OK. The name you type must be at least four characters long.&lt;br /&gt;If the Login window is not already open on your desktop, choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the Start menu and then log in, as described in the previous paragraph.&lt;br /&gt;&lt;strong&gt;2 Start WinRunner.&lt;/strong&gt;&lt;br /&gt;If WinRunner is not already open, choose Programs &gt; WinRunner &gt; WinRunner on the Start menu.&lt;br /&gt;&lt;strong&gt;3 Open a new test.&lt;/strong&gt;&lt;br /&gt;If the Welcome window is open, click the New Test button. Otherwise, choose File &gt; New. A new test window opens in WinRunner.&lt;br /&gt;&lt;strong&gt;4 Start the RapidTest Script wizard.&lt;/strong&gt;&lt;br /&gt;Choose Create &gt; RapidTest Script Wizard. Click Next in the wizard’s Welcome screen to advance to the next screen.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039533344898506402" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfAE4GhpXqI/AAAAAAAAADU/iksZUnRPWHA/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;5 Point to the application you want to test.&lt;br /&gt;&lt;/strong&gt;Click the button and then click anywhere in the Flight Reservation application. The application’s window name appears in the wizard’s Window Name box. Click Next.&lt;br /&gt;&lt;strong&gt;6 Make sure that all the check boxes are cleared.&lt;/strong&gt;&lt;br /&gt;For the purposes of this exercise, confirm that all the check boxes are cleared. You will use the wizard only to learn the GUI of the Flight Reservation application. Click Next.&lt;br /&gt;&lt;strong&gt;7 Accept the default navigation controls.&lt;/strong&gt;&lt;br /&gt;Navigation controls tell WinRunner which GUI objects are used to open windows. The Flight Reservation application uses the default navigation controls (... and &gt; &gt;) so you do not need to define additional controls. Click Next.&lt;br /&gt;&lt;strong&gt;8 Set the learning flow to "Express."&lt;/strong&gt;&lt;br /&gt;The learning flow determines how WinRunner walks through your application. Two modes are available: Express and Comprehensive. Comprehensive mode lets you customize how the wizard learns GUI object descriptions. First-time WinRunner users should use Express mode. Click the Learn button. The wizard begins walking through the application, pulling down menus, opening windows, and learning object descriptions. This process takes a few minutes. If a pop-up message notifies you that an interface element is disabled, click the Continue button in the message box. If the wizard cannot close a window, it will ask you to show it how to close the window. Follow the directions on the screen.&lt;br /&gt;&lt;strong&gt;9 Accept "No" in the Start Application screen.&lt;/strong&gt;&lt;br /&gt;You can choose to have WinRunner automatically open the Flight Reservation application each time you start WinRunner. Accept the default "No." Click Next.&lt;br /&gt;&lt;strong&gt;10 Save the GUI information and a startup script.&lt;/strong&gt;&lt;br /&gt;The wizard saves the GUI information in a GUI map file. The wizard also creates a startup script. This script runs automatically each time you start WinRunner. It contains a command which loads the GUI map file so that WinRunner will be ready to test your application. Accept the default paths and file names or define different ones. Make sure that you have write permission for the selected folders. Click Next.&lt;br /&gt;&lt;strong&gt;11 Click OK in the Congratulations screen.&lt;/strong&gt;&lt;br /&gt;The information WinRunner learned about the application is stored in a GUI map file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-1707102758228658903?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1707102758228658903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1707102758228658903'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/using-rapidtest-script-wizard.html' title='Using the RapidTest Script Wizard'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_-ti5lmkcQ1I/RfAE4GhpXqI/AAAAAAAAADU/iksZUnRPWHA/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3283291151798751385</id><published>2007-03-08T04:31:00.000-08:00</published><updated>2007-03-08T05:54:47.885-08:00</updated><title type='text'>Getting Started</title><content type='html'>&lt;strong&gt;Getting Started &lt;/strong&gt;&lt;br /&gt;The remaining sections in this lesson can be performed only in the Global GUI Map File mode. If you choose to work in the GUI Map File per Test mode, change the mode setting as described above and proceed to lesson 3. If you choose to work in the Global GUI Map File mode, proceed to the section below on Using the RapidTest Script Wizard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3283291151798751385?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3283291151798751385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3283291151798751385'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/getting-started.html' title='Getting Started'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-6396636773749424237</id><published>2007-03-08T04:30:00.001-08:00</published><updated>2007-03-08T05:54:22.192-08:00</updated><title type='text'>Setting Your Preferred GUI Map File Mode</title><content type='html'>&lt;strong&gt;Setting Your Preferred GUI Map File Mode&lt;/strong&gt;&lt;br /&gt;By default, WinRunner is set to the Global GUI Map File mode. To change the mode to the GUI Map File per Test mode choose Settings &gt; General Options, click the Environment tab, and select GUI Map File per Test. Click OK to close the dialog box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-6396636773749424237?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6396636773749424237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/6396636773749424237'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/setting-your-preferred-gui-map-file.html' title='Setting Your Preferred GUI Map File Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4601509123760843747</id><published>2007-03-08T04:29:00.000-08:00</published><updated>2007-03-08T05:53:54.822-08:00</updated><title type='text'>The Global GUI Map File Mode</title><content type='html'>&lt;strong&gt;The Global GUI Map File Mode&lt;/strong&gt;&lt;br /&gt;In the Global GUI Map File mode, you can use a single GUI map for a group of tests. When you work in the Global GUI Map File mode, you need to save the information that WinRunner learns about the properties into a GUI map file. When you run a test, you must load the appropriate GUI map file. If you are familiar with WinRunner or with testing, it is probably most efficient to work in the Global GUI Map File mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4601509123760843747?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4601509123760843747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4601509123760843747'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/global-gui-map-file-mode.html' title='The Global GUI Map File Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2355814481949717405</id><published>2007-03-08T04:28:00.000-08:00</published><updated>2007-03-08T05:53:34.793-08:00</updated><title type='text'>The GUI Map File per Test Mode</title><content type='html'>&lt;strong&gt;The GUI Map File per Test Mode &lt;/strong&gt;&lt;br /&gt;In the GUI Map File per Test mode, WinRunner automatically creates a new GUI map file for every new test you create. WinRunner automatically saves and opens the GUI map file that corresponds to your test. If you are new to WinRunner or to testing, you may want to consider working in the GUI Map File per Test mode. In this mode, a GUI map file is created automatically every time you create a new test. The GUI map file that corresponds to your test is automatically saved whenever you save your test and automatically loaded whenever you open your test. This is the simplest mode for inexperienced testers and for ensuring that updated GUI Map files are saved and loaded.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2355814481949717405?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2355814481949717405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2355814481949717405'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/gui-map-file-per-test-mode.html' title='The GUI Map File per Test Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-2275392602461187927</id><published>2007-03-08T04:26:00.000-08:00</published><updated>2007-03-08T05:53:12.838-08:00</updated><title type='text'>Choosing a GUI Map Mode</title><content type='html'>&lt;strong&gt;Choosing a GUI Map Mode&lt;/strong&gt;&lt;br /&gt;Before you start teaching WinRunner the GUI of an application, you should consider whether you want to organize your GUI map files in the GUI Map File per Test mode or the Global GUI Map File mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-2275392602461187927?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2275392602461187927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/2275392602461187927'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/choosing-gui-map-mode.html' title='Choosing a GUI Map Mode'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-5743438643862963066</id><published>2007-03-08T04:05:00.000-08:00</published><updated>2007-03-08T05:52:42.759-08:00</updated><title type='text'>Spying on GUI Objects</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_-ti5lmkcQ1I/Re__7WhpXpI/AAAAAAAAADM/xF5JLsuzhz4/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;strong&gt;Spying on GUI Objects&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;To help you understand how WinRunner identifies GUI objects, examine the objects in the sample Flight Reservation application.&lt;br /&gt;&lt;strong&gt;1 Start the Flight Reservation application.&lt;/strong&gt; &lt;/div&gt;&lt;div&gt;Choose Programs &gt; WinRunner &gt; Sample Applications &gt; Flight 1A on the Start menu. The Login window opens.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039524974007246450" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_-ti5lmkcQ1I/Re_9Q2hpXnI/AAAAAAAAAC8/oiybGSvNhgM/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;strong&gt;2 Start WinRunner.&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; WinRunner on the Start menu. In the Welcome window, click the New Test button. If the Welcome window does not open, choose File &gt; New.&lt;br /&gt;&lt;strong&gt;3 Open the GUI Spy. This tool lets you "spy" on the properties of GUI objects.&lt;br /&gt;&lt;/strong&gt;Choose Tools &gt; GUI Spy. The GUI Spy opens. Position the GUI Spy on the desktop so that both the Login window and the GUI Spy are clearly visible.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039526438591094402" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/Re_-mGhpXoI/AAAAAAAAADE/fkjvVB9QxtY/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;strong&gt;4 View the properties that provide a unique description of the OK button.&lt;br /&gt;&lt;/strong&gt;In the GUI Spy, click the Spy button. Move the pointer over objects in the Login window. Notice that each object flashes as you move the pointer over it, and the GUI Spy displays its properties. Place the pointer over the OK button and press Left Ctrl + F3. This freezes the OK button’s description in the GUI Spy.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039527903174942354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/Re__7WhpXpI/AAAAAAAAADM/xF5JLsuzhz4/s320/1.gif" border="0" /&gt;&lt;br /&gt;&lt;strong&gt;5 Examine the properties of the OK button.&lt;/strong&gt;&lt;br /&gt;At the top of the dialog box, the GUI Spy displays the name of the window in which the object is located and the object’s logical name. In the Recorded tab, the property names and values that would be recorded are listed. For example, "label OK" indicates that the button has the text label "OK", and "class push_button" indicates that the button belongs to the push button object class. As you can see, WinRunner needs only a few properties to uniquely identify the object.&lt;br /&gt;&lt;strong&gt;6 Take a few minutes to view the properties of other GUI objects in the Login window.&lt;/strong&gt;&lt;br /&gt;Click the Spy button and move the pointer over other GUI objects in the Login window. If you would like to view an expanded list of properties for each object, press Left Ctrl + F3 to stop the current Spy, and then click the All Standard tab.&lt;br /&gt;&lt;strong&gt;7 Exit the GUI Spy.&lt;/strong&gt;&lt;br /&gt;Click Close.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-5743438643862963066?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5743438643862963066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/5743438643862963066'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/spying-on-gui-objects.html' title='Spying on GUI Objects'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-ti5lmkcQ1I/Re_9Q2hpXnI/AAAAAAAAAC8/oiybGSvNhgM/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-291919686785070351</id><published>2007-03-08T04:00:00.000-08:00</published><updated>2007-03-08T05:52:23.471-08:00</updated><title type='text'>How Does WinRunner Identify GUI Objects?</title><content type='html'>&lt;strong&gt;How Does WinRunner Identify GUI Objects?&lt;/strong&gt;&lt;br /&gt;GUI applications are made up of GUI objects such as windows, buttons, lists, and menus. When WinRunner learns the description of a GUI object, it looks at the object’s physical properties. Each GUI object has many physical properties such as "class," "label," "width," "height", "handle," and "enabled" to name a few. WinRunner, however, only learns the properties that uniquely distinguish an object from all other objects in the application. For more information regarding properties, refer to the "Configuring the GUI Map" chapter in the WinRunner User’s Guide. For example, when WinRunner looks at an OK button, it might recognize that the button is located in an Open window, belongs to the pushbutton object class, and has the text label "OK."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-291919686785070351?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/291919686785070351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/291919686785070351'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/how-does-winrunner-identify-gui-objects.html' title='How Does WinRunner Identify GUI Objects?'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-4136433540786040805</id><published>2007-03-08T03:58:00.000-08:00</published><updated>2007-03-08T05:50:44.841-08:00</updated><title type='text'>Setting Up the GUI Map</title><content type='html'>&lt;strong&gt;Setting Up the GUI Map&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;This lesson:&lt;br /&gt;• describes how WinRunner identifies GUI objects in an application&lt;br /&gt;• shows how to use the GUI Spy to view object properties&lt;br /&gt;• describes the two GUI map modes&lt;br /&gt;• explains how to use the RapidTest Script wizard to learn descriptions of GUI objects and to generate tests&lt;br /&gt;• shows you how to run a test&lt;br /&gt;• helps you analyze the test results&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-4136433540786040805?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4136433540786040805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/4136433540786040805'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/setting-up-gui-map.html' title='Setting Up the GUI Map'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-3789023519606986264</id><published>2007-03-08T03:28:00.000-08:00</published><updated>2007-03-08T05:50:18.307-08:00</updated><title type='text'>Exploring the WinRunner Window</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_-ti5lmkcQ1I/Re_5fGhpXmI/AAAAAAAAAC0/N-px-sTGgfg/s1600-h/1.gif"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;strong&gt;Exploring the WinRunner Window&lt;/strong&gt;&lt;br /&gt;Before you begin creating tests, you should familiarize yourself with the&lt;br /&gt;WinRunner main window.&lt;br /&gt;&lt;strong&gt;To start WinRunner:&lt;br /&gt;&lt;/strong&gt;Choose Programs &gt; WinRunner &gt; WinRunner on the Start menu.&lt;br /&gt;&lt;br /&gt;The first time you start WinRunner, the Welcome to WinRunner window opens.&lt;br /&gt;From the welcome window you can create a new test, open an existing test, or&lt;br /&gt;view an overview of WinRunner in your default browser.&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039516122079649330" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_-ti5lmkcQ1I/Re_1NmhpXjI/AAAAAAAAACc/f62CfowUDZs/s320/1.gif" border="0" /&gt; The first time you select one of these options, the WinRunner main screen opens&lt;br /&gt;with the "What’s New in WinRunner" section of the help file on top. If you do not&lt;br /&gt;want the welcome window to appear the next time you start WinRunner, clear&lt;br /&gt;the Show on startup check box.&lt;br /&gt;Each test you create or run is displayed by WinRunner in a test window. You can&lt;br /&gt;open many tests at one time.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5039518935283228226" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/Re_3xWhpXkI/AAAAAAAAACk/oZv4N8YLBeI/s320/1.gif" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;1 The WinRunner window displays all open tests.&lt;br /&gt;2 Each test appears in its own test window. You use this window to record, program, and edit test scripts.&lt;br /&gt;3 Buttons on the Standard toolbar help you quickly open, run, and save tests.&lt;br /&gt;4 The User toolbar provides easy access to test creation tools.&lt;br /&gt;5 The status bar displays information about selected commands and the current test run. &lt;/p&gt;&lt;p&gt;The Standard toolbar provides easy access to frequently performed tasks, such as opening, executing, and saving tests, and viewing test results. &lt;img id="BLOGGER_PHOTO_ID_5039519914535771730" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_-ti5lmkcQ1I/Re_4qWhpXlI/AAAAAAAAACs/f6dQcHpl3Oo/s320/1.gif" border="0" /&gt; The User toolbar displays the tools you frequently use to create test scripts. By&lt;br /&gt;default, the User toolbar is hidden.&lt;br /&gt;To display the User toolbar choose Window &gt; User Toolbar. When you create tests, you can minimize the WinRunner window and work exclusively from the toolbar.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5039520820773871202" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_-ti5lmkcQ1I/Re_5fGhpXmI/AAAAAAAAAC0/N-px-sTGgfg/s320/1.gif" border="0" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;The User toolbar is customizable. You choose to add or remove buttons using the Settings &gt; Customize User Toolbar menu option. When you re-open WinRunner, the User toolbar appears as it was when you last closed it. The commands on the Standard toolbar and the User toolbar are described in detail in subsequent lessons. Note that you can also execute many commands using softkeys. Softkeys are keyboard shortcuts for carrying out menu commands. You can configure the softkey combinations for your keyboard using the Softkey Configuration utility in your WinRunner program group. For more information, see the "WinRunner at a Glance" chapter in your WinRunner User’s Guide. Now that you are familiar with the main WinRunner window, take a few minutes to explore these window components before proceeding to the next lesson.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-3789023519606986264?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3789023519606986264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/3789023519606986264'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/exploring-winrunner-window.html' title='Exploring the WinRunner Window'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-ti5lmkcQ1I/Re_1NmhpXjI/AAAAAAAAACc/f62CfowUDZs/s72-c/1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5401578554988570599.post-1861308221867019495</id><published>2007-03-07T23:23:00.000-08:00</published><updated>2007-03-08T05:03:36.244-08:00</updated><title type='text'>Understanding the Testing Process</title><content type='html'>&lt;strong&gt;Understanding the Testing Process&lt;/strong&gt;&lt;br /&gt;The WinRunner testing process consists of 6 main phases:&lt;br /&gt;1 Teaching WinRunner the objects in your application WinRunner must learn to recognize the objects in your application in order to run tests. The preferred way to teach WinRunner your objects depends on the GUI map mode you select. The two GUI map modes are described in detail in subsequent lessons.&lt;br /&gt;2 Creating additional test scripts that test your application’s functionality WinRunner writes scripts automatically when you record actions on your application, or you can program directly in Mercury Interactive’s Test Script Language (TSL).&lt;br /&gt;3 Debugging the tests You debug the tests to check that they operate smoothly and without interruption.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5401578554988570599-1861308221867019495?l=test-techtools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1861308221867019495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5401578554988570599/posts/default/1861308221867019495'/><link rel='alternate' type='text/html' href='http://test-techtools.blogspot.com/2007/03/understanding-testing-process.html' title='Understanding the Testing Process'/><author><name>Jack Rial</name><uri>http://www.blogger.com/profile/10335163916901068680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
