1) How Winrunner executes test using context sensitive testing?

Context Sensitive testing enables you to test your application as the user sees it— in terms of GUI objects—such as windows, menus, buttons, and lists. Each object has a defined set of properties that determines its behavior and appearance. WinRunner learns these properties and uses them to identify and locate GUI objects during a test run. WinRunner does not need to know the physical location of a GUI object to identify it. Before you can begin Context Sensitive testing, WinRunner must learn the properties of each GUI object in your application. Use the RapidTest Script wizard to guide you through the learning process. It systematically opens each window in your application and learns the properties of the GUI objects it contains. WinRunner also provides additional methods for learning the properties of individual objects. As the user interface of your application changes, you can continue to use tests you already developed. You simply add, delete, or edit object descriptions in the GUI map so WinRunner can continue to find the objects in your modified application. 2) How a Test Identifies GUI Objects? WinRunner uses a logical name to identify an object: for example “Print” for a Print dialog box, or “OK” for an OK button. This short name connects WinRunner to the object’s longer physical description. This detailed description (the logical name and the physical description) ensures that each GUI object has its own unique identification. The physical description contains a list of the object’s physical properties: the Print dialog box, for example, is identified as a window with the label “Print”. Logical Name: set_window ("Readme.doc - WordPad", 10); menu_select_item ("File;Print... Ctrl+P"); set_window ("Print", 12); button_press ("OK"); Physical Description: Readme.doc window: {class: window, label: "Readme.doc - WordPad"} File menu: {class:menu_item, label:File, parent:None} Print command: {class: menu_item, label: "Print... Ctrl+P", parent: File} Print window: {class:window, label:Print} OK button: {class:push_button, label:OK} GUI Map editor process: Learning the GUI with the RapidTest Script Wizard The RapidTest Script wizard enables WinRunner to learn all windows and objects in your application being tested at once. It systematically opens every window in the application and learns the GUI objects it contains. WinRunner then instructs

you to save the information in a GUI map file. A GUI_load command that loads this file is added to a startup test. Note: The RapidTest Script wizard is not available for when working with the Terminal Emulator or WebTest add-ins. Therefore, if you are using these add-ins, do not complete this section or the following sections of this lesson. Instead, after you create and run tests in the other tutorial lessons, you must save your temporary GUI map file whenever you close WinRunner or close a test script you want to save. A temporary GUI map file contains the information that WinRunner learns about GUI objects in your application. Learning the GUI by Recording Learning the GUI Using the GUI Map Editor Saving the GUI Map Loading the GUI Map File WinRunner uses GUI map files to locate objects in the application being tested. You must load the appropriate GUI map files before you run tests on your application being tested. You can load GUI map files in one of two ways: using the GUI_load function from the GUI Map Editor You can view a loaded GUI map file in the GUI Map Editor. A loaded file is indicated by the letter “L” and a number preceding the file name.

Winrunner Commands:

set window Specifies the window to receive input, according to the window's logical name. set window Specifies a window to receive input, according to the window's physical description. win activate Activates a window. win check bitmap Compares a current window bitmap to an expected bitmap. win check gui Compares current GUI data to expected GUI data. win check info win click help win click on text Checks the requested window property. Clicks the help button in a window title bar. Clicks on text in a window.

win win win win win win win win win win win win win win win win win win

close drag drop exists

Closes a window. Drags an object from a source window. Drops an object on a target window. Checks whether a window is displayed.

find text Returns the location of a string in a window. get desc Returns the physical description of a window. get info Returns the value of a window property. get text Reads text from a window. highlight Highlights a window. max Maximizes a window. min Minimizes a window to an icon. mouse click Clicks in a window. mouse dbl click Double-clicks in a window. mouse drag Drags the mouse in a window. mouse move Moves the mouse in a window. move Moves a window to a new absolute location. move locator text Moves the mouse to a string in a window. open Opens a window.

win resize Resizes a window. win restore Restores a window from a minimized or maximized state to its previous size. win type Sends keyboard input to a window. win wait bitmap Waits for a window bitmap. win wait info Waits for the value of a window property. =============================================================== activates a window. win_activate ( window ); window The logical name of the window.

The win_activate function makes the specified window the active window by bringing it into focus and raising it to the top of the display (equivalent to clicking on the window banner). All subsequent input is submitted to this window. activates a window. =============================================================== _set_window ( desc, time );

desc The physical description of the window. time The time is added to the timeout test option to give the maximum interval, in seconds, before the next statement is executed. (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) The _set_window function performs the application part of the set_window function, by setting the active window in the application under test. (The GUI part is performed by GUI_set_window.) Note that while set_window receives the window's logical name, _set_window receives its physical description. =============================================================== compares a window bitmap to an expected bitmap. win_check_bitmap ( window, bitmap, time [, x, y, width, height ] ); window The logical name of the window. bitmap A string expression that identifies the captured bitmap. time The interval marking the maximum delay between the previous input event and the capture of the current bitmap, in seconds. This interval is added to the timeout test option (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) before the next statement is executed. x, y For an area bitmap: the coordinates or the upper left corner, relative to the window in which the selected area is located. width, height For an area bitmap: the size of the selected area, in pixels. The win_check_bitmap function captures and compares bitmaps of a window or window area. During test creation, the specified window or area is captured and stored. During a test run, the current bitmap is compared to the one stored in the database. If they are different, the actual bitmap is captured. This function is generated during the recording of a test. Since the test is waiting for a result, the test should be run in update mode. For more information regarding the update mode, refer to the "Running Tests" chapter in your User's Guide. When an area of the window is captured, the additional parameters x, y, width and height define the area's location and dimensions. The analog version of win_check_bitmap is check window. ===============================================================

compares a window bitmap to an expected bitmap. win_check_bitmap ( window, bitmap, time [, x, y, width, height ] ); window The logical name of the window. bitmap A string expression that identifies the captured bitmap. time The interval marking the maximum delay between the previous input event and the capture of the current bitmap, in seconds. This interval is added to the timeout test option (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) before the next statement is executed. x, y For an area bitmap: the coordinates or the upper left corner, relative to the window in which the selected area is located. width, height For an area bitmap: the size of the selected area, in pixels. The win_check_bitmap function captures and compares bitmaps of a window or window area. During test creation, the specified window or area is captured and stored. During a test run, the current bitmap is compared to the one stored in the database. If they are different, the actual bitmap is captured. This function is generated during the recording of a test. Since the test is waiting for a result, the test should be run in update mode. For more information regarding the update mode, refer to the "Running Tests" chapter in your User's Guide. When an area of the window is captured, the additional parameters x, y, width and height define the area's location and dimensions. The analog version of win_check_bitmap is check window. =============================================================== compares current GUI data to expected GUI data for a window. win_check_gui ( window, checklist, expected_results_file, time ); window The logical name of the window. checklist The name of the checklist specifying the checks to perform. expected_results_file The name of the file storing the expected GUI data. time The time is added to the timeout test option to give the maximum interval between the previous input even and the screen capture. (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) The win_check_gui function captures and compares GUI data for a window. During test creation, the specified GUI data is captured and stored. When you run a test, the current GUI data is compared to the data stored in expected_results_file

, according to a checklist specifying the information to be checked. A file containing the actual results is also generated. For more details on using win_check_gui, refer to the “Checking GUI Objects” chapter in your User's Guide. =============================================================== compares current GUI data to expected GUI data for a window. win_check_gui ( window, checklist, expected_results_file, time ); window The logical name of the window. checklist The name of the checklist specifying the checks to perform. expected_results_file The name of the file storing the expected GUI data. time The time is added to the timeout test option to give the maximum interval between the previous input even and the screen capture. (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) The win_check_gui function captures and compares GUI data for a window. During test creation, the specified GUI data is captured and stored. When you run a test, the current GUI data is compared to the data stored in expected_results_file , according to a checklist specifying the information to be checked. A file containing the actual results is also generated. For more details on using win_check_gui, refer to the “Checking GUI Objects” chapter in your User's Guide. =============================================================== checks the requested window property. win_check_info ( window, property, property_value ); window The logical name of the window. property The property to check. property_value The expected value of the property. The win_check_info function checks that the current value of the specified property matches the property_value. =============================================================== clicks the help button in a window title bar. win_click_help ( window ); window The logical name of the window.

The win_click_help function click's the help button in the specified window's title bar. =============================================================== searches for text in a window. win_click_on_text (window, string [ ,search_area ] [ , string_def [ , mouse_button ] ]); window The logical name of the window. string The text to locate. To specify a literal, case sensitive string, enclose the string in quotation marks. Alternatively, you can specify the name of a string variable. The value of the string variable can include a regular expression (the regular expression need not begin with an exclamation mark). For more information regarding regular expressions, refer to the "Using Regular Expressions" chapter in your User's Guide. search_area The region of the object to search, relative to the window. This area is defined as a pair of coordinates, with x1,y1,x2,y2 specifying any two diagonally opposite corners of the rectangular search region. If this parameter is not defined, then the entire window specified is considered the search area. string_def Defines how the text search is performed. If no string_def is specified, (0 or FALSE, the default parameter), the interpreter searches for a complete word only. If 1, or TRUE, is specified, the search is not restricted to a single, complete word. mouse_button Specifies the mouse button that clicks on the text string. The value can be LEFT, MIDDLE, or RIGHT. If no button is specified, the default is the left button. The win_click_on_text function searches for a specified text string in the indicated window or in an area of the window. It then moves the screen pointer to the center of the text string and clicks on the string. Before using win_click_on_text, make sure the fonts used by your AUT have been learned. This step is always required for XRunner, and may be required for WinRunner. For more information on learning fonts, refer to the “Checking Text” chapter in your User's Guide. Note that when win_click_on_text is used with a learned font, then WinRunner searches for a single, complete word only. This means that any regular expression used in the string parameter must not contain blank spaces, and only the default value of the string_def parameter, FALSE, is in effect. The analog version of this function is click_on_text. ===============================================================

closes a window. win_close ( window ); window The logical name of the window.

The win_close function closes the specified window. drags an object from a source window. win_drag (source_window, x, y [, mouse_button ] ); source_window The logical name of the window. x,y The coordinates of the mouse pointer when clicked on the source window, relative to the upper left corner of the client area of the source window expressed in pixels. mouse_button A constant that specifies the mouse button to hold down while dragging. The value can be LEFT, MIDDLE, or RIGHT. If no button is specified, the default is the button that performs the select function. The win_drag function is used in combination with win_drop, obj_drop, or list_drop_on_item, to move data between GUI objects. A win_drag statement is recorded when the mouse pointer is over the source window, prior to being dragged and after the mouse button is pressed. =============================================================== drops an object onto a target window. win_drop ( target_window, x, y ); target_window The logical name of the window. x,y The coordinates of the mouse pointer when released over the target window, relative to the upper left corner of the client area of the target window, expressed in pixels. The win_drop function is used in combination with win_drag, obj_drag, or list_drag_item, to move data between GUI objects. A win_drop statement is recorded when the mouse pointer is over the target window, prior to release. checks whether a window is displayed on the screen. win_exists ( window [, time ] ); window The logical name of the window.

time The time is added to the timeout test option to give the maximum interval, in seconds, before the next statement is executed. (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) The win_exists function checks whether the specified window appears on the screen. Use the time parameter to control test synchronization. Note that the timeout does not affect the function if no time is specified. returns the location of a string within a window. win_find_text ( window, string, result_array [, search_area] [, string_def ]); window The logical name of the window to search. string The text to locate. To specify a literal, case sensitive string, enclose the string in quotation marks. Alternatively, you can specify the name of a string variable. The value of the string variable can include a regular expression. The regular expression should not include an exclamation mark (!), however, which is treated as a literal character. For more information regarding Regular Expressions, refer to the "Using Regular Expressions" chapter in your User's Guide. result_array The name of the output variable that stores the location of the string as a four-element array. search_area The region of the object to search, relative to the window. This area is defined as a pair of coordinates, with x1,y1,x2,y2 specifying any two diagonally opposite corners of the rectangular search region. If this parameter is not defined, then the entire window is considered the search area. string_def Defines how the text search is performed. If no string_def is specified, (0 or FALSE, the default parameter), the interpreter searches for a complete word only. If 1, or TRUE, is specified, the search is not restricted to a single, complete word. The win_find_text function searches for a specified text string in the specified window or area of the window and stores the location of the string in an output variable. Before using win_find_text, make sure that the fonts used by your AUT have been learned. This step is always required for XRunner, and may be required for WinRunner. For more information on learning fonts, refer to the “Checking Text” chapter in your User's Guide. Note that when win_find_text is used with a learned font, then WinRunner searches for a single, complete word only. This means that any regular expression used in string must not contain blank spaces, and only the default value of string_def, FALSE, is in effect. The Analog version of this function is find_text. ===============================================================

returns the physical description of a window. win_get_desc ( window, obligatory, optional, selector, out_desc ); window obligatory optional selector out_desc The logical name of the window. The list of obligatory properties (separated by spaces). The list of optional properties (separated by spaces). The type of selector used for this object class (location or index). The output variable that stores the description of the window.

The win_get_desc function returns the physical description of a window. This includes a list of obligatory and optional properties and the type of selector used. This information is stored in out_desc. Note that if obligatory, optional, and selector are null strings, win_get_desc returns the current learning configuration for the object. =============================================================== returns the value of a window property. win_get_info ( window, property, out_value ); window property out_value The logical name of the window. Any of the properties listed in the User's Guide. The variable that stores the value of the specified property.

The win_get_info functions retrieves the value of the specified property and stores it in out_value. =============================================================== reads text from the indicated area of a window. win_get_text ( window, out_text [, x1, y1, x1, y2] ); window The window from which text is read. out_text The output variable that holds the captured text. x1,y1,x2,y2 An optional parameter that defines the location from which to read text relative to the specified window in pixels. The coordinate pairs can designate any two diagonally opposite corners of a rectangle. The interpreter searches for the text in the area defined by the rectangle. The win_get_text function reads text from the specified window, or area of the window.

Before using win_get_text, make sure that the fonts used by your AUT have been learned, if necessary. For more information, refer to the “Checking Text” chapter in your User's Guide. If Learn Fonts has been performed, win_get_text can read only one line of text. If the enclosed area contains more than one line of text, then the line beginning furthest to the left is read. If more than one line begins at the same point on the left, the bottommost line is read. The maximum number of characters that can be captured in one win_get_text statement is 2048. The Analog version of this function is get_text. =============================================================== highlights the specified window. win_highlight ( window [, flashes ] ); window The logical name of the window. flashes The number of times the window flashes on screen. The win_highlight function highlights the specified window. The flashes option sets the number of times the window flashes on the screen. =============================================================== maximizes a window to fill the entire screen. win_max ( window ); window The logical name of the window.

The win_max function maximizes the specified window to fill the entire screen. =============================================================== minimizes a window to an icon. win_min ( window ); window The logical name of the window.

The win_min function minimizes the specified window to an icon. =============================================================== performs a mouse click within a window.

win_mouse_click ( window, x, y [, mouse_button ] [, modifier] ); window The logical name of the window. x, y The position of the mouse click expressed as x and y (pixel) coordinates. Coordinates are relative to the upper left corner of the client area of the window, and not to the screen. mouse_button A constant specifying the mouse button to click. The value can be LEFT, MIDDLE, or RIGHT. If no mouse_button is specified, the default is the button performing the select function. modifier A constant specifying the modifier key used with the mouse button. The value can be CONTROL, SHIFT, or CONTROL_SHIFT. If no modifier is specified, the default is no modifier. (XRunner only) The win_mouse_click function performs a mouse click at the coordinates inside the selected window. The mouse_button option lets you specify which mouse button to click. The modifier option allows the user to add a modifier key. =============================================================== erforms a double-click within a window. win_mouse_dbl_click ( window, x, y [, mouse_button ] [, modifier ] ); window The logical name of the window. x, y The position of the double-click expressed as x and y (pixel) coordinates. Coordinates are relative to the upper left corner of the client area of the window, and not to the screen. mouse_button A constant specifying the mouse button to click. The value can be LEFT, MIDDLE, or RIGHT. If no mouse_button is specified, the default is the button performing the select function. modifier A constant specifying the modifier key used with the mouse button. The value can be CONTROL, SHIFT, or CONTROL_SHIFT. If no modifier is specified, the default is no modifier. (XRunner only) The win_mouse_dbl_click function performs a mouse double-click at the coordinates inside the selected window. The mouse_button option lets you specify which mouse button to click. =============================================================== performs a mouse drag within a window. win_mouse_drag ( window, start_x, start_y, end_x, end_y [, mouse_button ] [,modifier] ); window The logical name of the window.

start_x, start_y The x, y coordinates of the start point of the mouse drag in pixels. Coordinates are relative to the upper left corner of the client area of the window, and not to the screen. end_x, end_y The x, y coordinates of the end point of the mouse drag in pixels. Coordinates are relative to the upper left corner of the client area of the window, and not to the screen. mouse_button A constant specifying the mouse button to click (LEFT, MIDDLE, RIGHT). If no mouse_button is specified, the default is the one performing the selection. modifier A constant specifying the modifier key used with the mouse button. The value can be CONTROL, SHIFT, or CONTROL_SHIFT. If no modifier is specified, the default is no modifier. This parameter is available for XRunner only. The win_mouse_drag function performs a mouse drag inside a window from the start coordinates to the end coordinates. Note that the coordinates are relative to the upper left corner of the window, not the screen. moves the mouse pointer to the designated position within a window. win_mouse_move ( window, x, y ); window The logical name of the window. x, y The position of the mouse pointer, expressed as x and y (pixel) coordinates. The coordinates are relative to the upper left corner of the client area of the window, and not to the screen. The win_mouse_move function moves the mouse pointer to the specified coordinates inside a window. =============================================================== moves a window to a new absolute location. win_move ( window, x, y ); window The logical name of the window. x, y The x and y coordinates are relative to the upper left corner of the screen. The win_move function moves a window to a new absolute location. =============================================================== moves the mouse pointer to a string in a window. win_move_locator_text ( window, string [ ,search_area ] [ ,string_def ] ); window The logical name of the window.

string The text to locate. To specify a literal, case sensitive string, enclose the string in quotation marks. Alternatively, you can specify the name of a string variable. The value of the string variable can include a regular expression (the regular expression need not begin with an exclamation mark). search_area The region of the object to search, relative to the window. This area is defined as a pair of coordinates, with x1,y1,x2,y2 specifying any two diagonally opposite corners of the rectangular search region. If this parameter is not defined, then the entire window specified is considered the search area. string_def Defines how the text search is performed. If no string_def is specified, (0 or FALSE, the default parameter), the interpreter searches for a complete word only. If 1, or TRUE, is specified, the search is not restricted to a single, complete word. The win_move_locator_text function searches for a specified text string in the indicated window, or in an area of the window. It then moves the screen pointer to the center of the text string. This function is identical to obj_move_locator_text, except that it operates on a window. For an example of how the function can be used, refer to obj_move_locator_text. Before using win_move_locator_text, make sure that the fonts used by your AUT have been learned. This step is always required for XRunner, and may be required for WinRunner. For more information on learning fonts, refer to the “ Checking Text” chapter in your User's Guide. Note that when win_move_locator_text is used with a learned font, then WinRunner searches for a single, complete word only. This means that any regular expression used in the string parameter must not contain blank spaces, and only the default value of the string_def parameter, FALSE, is in effect. The Analog version of this function is move_locator_text. =============================================================== opens an application window. win_open ( window ); window The logical name of the window.

The win_open function opens a window in the application under test (AUT). If necessary, other windows in the application open or close in order to provide access to the specified window. The function works only if the window in the AUT is already in the GUI map. ===============================================================

resizes a window. win_resize ( window, width, height ); window The logical name of the window. width The new width of the window, in pixels. height The new height of the window, in pixels. The win_resize function changes the size of the window. =============================================================== restores a window to its previous size. win_restore ( window ); window The logical name of the window.

The win_restore function restores a window from an iconized or maximized state to its original size. =============================================================== sends keyboard input to a window. win_type ( window, keyboard_input ); window The logical name of the window. keyboard_input A string expression that represents keystrokes. The win_type function specifies the window to which the keyboard_input is sent. =============================================================== waits for a window bitmap. win_wait_bitmap ( window, bitmap, time [, x, y, width, height] ); window The logical name of the window. bitmap A string expression identifying the captured bitmap. time The time is added to the timeout test option to give the maximum interval between the previous input event and the screen capture (WinRunner) or XR_TIMEOUT configuration parameter (XRunner) x, y For an area bitmap: the coordinates of the upper left corner, relative to the window in which the selected region is located in pixels. width, height For an area bitmap: the size of the selected region, in pixels.

The win_wait_bitmap function synchronizes test execution. It ensures that a window comes up on the screen and is completely redrawn before test execution continues. By using win_wait_bitmap, you can make sure that events are not input to a window before it is ready. The win_wait_bitmap function takes three parameters when the bitmap to be waited for is an entire window bitmap. When the bitmap is of a selected area, the additional parameters, x, y, width and height define the location and dimensions of the area. This function is generated during the recording of a test. Since the test is waiting for a result, the test should be run in update mode. For more information regarding the update mode, refer to the "Running Tests" chapter in your User's Guide. For an Analog version of the win_wait_bitmap, see wait window. =============================================================== waits for the value of a window property. win_wait_info ( window, property, value, time ); window The logical name of the window. property Any of the properties listed in the User's Guide. value The property value for which the function waits. time The interval, in seconds, before the next statement is executed. The win_wait_info function waits for a window property to attain the specified value and then continues the test run. If the specified value is not attained, the function waits until the time expires before continuing the test.

Sign up to vote on this title
UsefulNot useful