![]() ![]() ![]() ![]() |
|
|
|
| ![]() | ![]() ![]() ![]() |
| ![]() ![]() ![]() |
|
| ![]() ![]() ![]() |
An infrastructure such as STAF provides services
that standardizes across many applications and utilities:
| ![]() ![]() ![]() |
|
Other Record Types:
In Step tables, "Login" and "Error" in the second column refer to screen names which are defined in WinRunner GUI maps. Other testing tools have their own Application mapping schemes Keywords such as "SetTextValue" in the example SAFS describes in this page with HTML frames and also this "Old-Style" outline format are processed by SAFS Component functions.
For complete details, reference:
| ![]() ![]() ![]() |
The
architecture of Carl Nagle's data keyword "Core Data Driven Engine" framework
is modular and flexible because it uses a hierarchy of 3 levels of drivers:
Cycles, Suites, and Steps.
|
Level | Description | folder | File Suffix |
---|---|---|---|
High | Each run starts by opening a Cycle table containing a list of suites to execute. | Cycle | .CDD |
Intermediate |
| Suite | .STD |
Low |
| Step | .SDD |
Action keywords such as "SetTextValue" within the StepX.SDD file are associated with functions (generic WinRunner scripts) pre-defined by the WRSAFS framework, with arguments (such as ^user.name) treated by the framework as inputs to framework functions.
| ![]() Click here to pop this graphic up in a new window.
Reference: | ![]() ![]() ![]() |
|
Var | Value |
---|---|
CLASSPATH | ;C:\STAF\bin\JSTAF.jar; C:\SAFS\lib\jakarta-regexp-1.3.jar; C:\SAFS\lib\safscust.jar; C:\SAFS\lib\safsrational.jar; C:\SAFS\lib\safs.jar; C:\SAFS\lib\safsjrex.jar; C:\SAFS\lib\JRex.jar |
CLASSPATH_SAFSBAK | same as above |
SAFSDIR | C:\SAFS |
STAFDIR | C:\STAF |
|
Documentation is in
a prior (2004.8.31) package of WRAFS not included in the current installer package:
![]() ![]() ![]() ![]() ![]() ![]()
|
Download and install SAFS (described in the prior section above).
Download the most current (2005.7.11) version of WRAF (WinRunner Automation Framework) (also named WRSAFS in installed folders) for WinRunner
was added by
John Crunk and others since 2002.
Run the executable (.exe) InstallShield installer. It does the following:
%M_ROOT%\lib\wrafsinit - reloads lib\win32api and 11 libraries in C:\WRSAFS within %M_ROOT%\lib (marked "L" below) that were installed by wrsafs.vbs, listed below in call-chain order:
To avoid the message shown at the right, in Windows Explorer, right click on this folder, select "Properties",
and un-select "read-only" to each of these folders:
Here's the code to do it in batch mode after changing the directory to each folder above:
When a script calls for another function, WinRunner searches for scripts
top down in the sequence order which the multiple paths appear above.
Search paths allow you to avoid errors such as:
This references the C:\Datapool folder containing a sample set of driver specification files to test Mercury's flight sample application:
By default, the names of these folders are defined by the WRSAFS installer in these keys under
Windows Registry path
HKEY_LOCAL_MACHINE/Software/WRAFS
Key | Default Value | Notes |
---|---|---|
EnginePath | C:\WRSAFS | |
CyclePath | Cycle | Sub folder name under EnginePath |
StepPath | Step | Sub folder name under EnginePath |
SuitePath | Suite | Sub folder name under EnginePath |
| ![]() ![]() ![]() |
|
![]() | ![]() ![]() ![]() |
|
![]() Note: ".SBH" files are header names carried over from the predecessor IBM Rational SQARobot product. They are included in functions making use of that library.
| ![]() ![]() ![]() |
|
WRSAFS Script | WRSAFS Functions | Note |
---|---|---|
ApplicationUtilities
ApplicationUtilities_X.SBH | [Commonly Used] | |
BufferUtilities_X.SBH | [Rarely Used] [only .SBH?] | |
DDEngine.SBH | [WR script not in reference] | |
DDGUIUtilities
DDGUIUtilities_X.SBH | [Commonly Used] | |
DDUtilities
DDUtilities_X.SBH | [Commonly Used] | |
DDVariableStore
DDVariableStore_X.SBH | [Commonly Used] | |
ExcelUtilities | [Commonly Used] [not a WR script file] | |
FileUtilities & FileUtilities_X.SBH | [Rarely Used] | |
FileTestUtilities
FileInfoFIFO | [Rarely Used] [Not a WR script file] | |
LogUtilities LogUtilities_X.SBH | [Commonly Used] | |
MenuOps | [WR script not in reference] | |
MenuUtilities
MenuUtilities_X.SBH | MUGetMenuItemStrings, MUGetMenuItemIndexID, MUGetMenuItemTextIndex, MUGetMenuItemIndexText, MUGetMenuItemIndexState, MUGetMenuItemTextState MUGetMatchedMenuItemTextState, MUGetMatchedMenuItemTextIndex, MUGetMenuItemTextSubMenuHandle, MUGetMenuItemIndexSubMenuHandle, IsMenuItemEnabled, IsMenuItemGrayed, IsMenuItemChecked, IsMenuItemHiLited, IsMenuItemABitmap, IsMenuItemDefault, IsMenuItemAMenu, IsMenuItemAMenuBarBreak, IsMenuItemAMenuBreak, IsMenuItemAMenuSeparator, MUGetMenuItemStateString MUVerifyTestStateString, GetHierarchyInfo, MUGetMenuInfoFromHierarchy, MUGetMenuHandleInfoFromHierarchy, MUGetMenuHandleInfoFromMenuID,MUGetMenuInfoFromMenuID, ProcessMenuForID, MUOutputMenuHandleStructure, MUOutputMenuStructure, MUGetActivePopupMenu | [Commonly Used] |
ProcessContainer | [not a WR script file - for Robot only] | [Commonly Used] |
NTCommandUtilities & NTCommandUtilities_X.SBH | WaitForNTCommandCompletion , RunWshShellProgram , ExecWshShellProgram , Run_NTCMPTRE_EXE , Run_SED_EXE , Run_GREP_EXE , Run_NTFileComp_EXE , Run_GNUDiff_EXE , NTFileCompResult , GNUDiffCompResult , Run_RRAFSTextDiff_EXE , Run_RRAFSBinaryDiff_EXE | [Lesser Used] |
StackDriverInfo | Declares arrarys StepDriverState,SuiteDriverState, CycleDriverState | [WR script not in reference] |
SAFSUtilities & SAFSUtilities_X.SBH |
SAFSisToolAvailable,
SAFSWaitForTool,
SAFSAutoLaunchSAFSTools,
SAFSisSAFSAvailable, SAFSisSAFSMAPSAvailable, SAFSisSAFSVARSAvailable, SAFSsetSAFSVariable, SAFSsubmitServiceRequest, SAFSisSAFSLOGSAvailable, SAFSisDriverCommandsAvailable, SAFSLaunchDriverCommands, SAFSAutoLaunchDriverCommands makeQuotedString, makeQuotedPath, SAFSWaitForDriverCommands, SAFSShutdownDriverCommands, SAFSShutdownHookProcess, SAFSisSTAFAvailable, SAFSWaitForSTAF, STAFLaunchSAFS, STAFLaunchSAFSMAPS, STAFLaunchSAFSLOGS, STAFLaunchSAFSVARS, SAFSSTAFpulseEvent, SAFSShutdownSTAF | [WR script not in reference] |
STAFUtilities
STAFUtilities_X.SBH |
STAFInitLogFacility, STAFLogMessage, STAFRegisterWR, lentagSTAFValue, STAFSubmit, STAFSubmit2, STAFFree, STAFCloseLogFacility, STAFUnRegister,
IsToolAvailable, ProcessStringCommand, STAFIsSAFSLOGSAvailable, STAFIsSAFSVARSAvailable, STAFIsSAFSMAPSAvailable, STAFGetSAFSVariable, STAFSetSAFSVariable, STAFGetGUIID, STAFAddHeaderFooter, STAFLaunchSAFSLOGS, STAFLaunchSAFSVARS, STAFLaunchSAFSMAPS, STAFOpenAppMap, CurrentAppMapPath, STAFCloseAppMap, STAFLaunchSAFS, STAFVariableCount, STAFClearSAFSVariable, STAFAppMap, SAFSDriverCommands, STAFFileCopy, processToolRequest, getQueueMessage, sendQueueMessage, STAFresetEvent, STAFresetClassicEvents, STAFpulseEvent, STAFpostEvent, STAFwaitEvent, STAFwaitMutex, STAFreleaseMutex, STAFreleaseMutex, callSAFSHook, testvarsub, testvars, prepTestRecordData | [Commonly Used] |
StringUtilities | LTrimWhiteSpace , RTrimWhiteSpace , TrimWhiteSpace , LastInStr , GetTrimmedField , GetFixedWidthField , GetTrimmedFixedWidthField , FindAndReplace , GetNextNonBlankFieldIndex , GetNextFieldIndex , GetNextDelimiterIndex , GetFieldIndex , GetFieldCount , GetFieldArray , GetLiteralQuotedField , GetLiteralQuotedRecordField , GetNonBlankField , GetQuotedString , GetTrimmedQuotedString , GetQuotedField , GetTrimmedQuotedField , GetMultiDelimitedFieldCount , GetMultiDelimitedField , ProcessExpression , ProcessFieldExpressions , ConvertHTMLEntities , InitializeRegExp , ConvertHex2Long , RegExpExecute , RegExpTest , RegExpReplace | [Commonly Used] |
WIN32.SBH & WIN32_X.SBH | Export header file for advapi32.dll, kernele32.dll, user32.dll, comdlg32.dll, shell32.dll, mpr.dll, winmm.dll, gdi.dll, Shlwapi.dll, occache.dll | [Lesser Used] |
WinRegistryUtilities | Misc routines using the WIN32 API -- ConvertTwipsToPixels. | [Lesser Used] |
Win32Utilities | [not a WR script file] | [Lesser Used] |
ProcessMapFile | Converts WinRunner GUI maps to Framework maps. | |
Publish | [not a WR script file] Parse SQARobot source and header files that have been properly formatted for publication. | [Commonly Used] |
CWPHooker
DatabaseUtilities ImageUtilities XMLUtilities | [not a WR script file] | [Lesser Used] |
Function | Keywords for WinRunner | Note |
---|---|---|
Custom Driver Commands | ||
Custom Log Utilities | ||
Custom Record Types | ||
CustomTestCommands
CustomUtilities CustomStatusUtilities | [not script file] Robot Custom Extensions |
WRSAFS Function | Keywords for WinRunner | WinRunner Function |
---|---|---|
Window |
Click, CloseWindow, CompareStoredProperties, DoubleClick, GetWinInfo, InputCharacters, InputKeys, Maximize, Minimize, Restore, RightClick, SelectMenuID, SelectMenuItem, SelectMenuItemContains, SetPosition, VerifyImage, VerifyMainMenu, VerifyMenuID, VerifyMenuItem, VerifyMenuItemContains, VerifyOCRValue |
desktop_capture_bitmap - Captures a bitmap of the entire desktop or of the specified area of the desktop. 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_capture_bitmap_- Captures a window or a specified area of a window as a bitmap. 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 - Checks the requested window property. win_check_text_- Checks the text of a window or area of a window compared to the specified expected text. win_click_help - Clicks the help button in a window title bar. win_click_on_text - Clicks on text in a window. win_close - Closes a window. win_drag - Drags an object from a source window. win_drop - Drops an object on a target window. win_exists - Checks whether a window is displayed. win_find_text - Returns the location of a string in a window. win_get_desc - Returns the physical description of a window. win_get_info - Returns the value of a window property. win_get_text - Reads text from a window. win_highlight - Highlights a window. win_max - Maximizes a window. win_min - Minimizes a window to an icon. win_mouse_click - Clicks in a window. win_mouse_dbl_click - Double-clicks in a window. win_mouse_drag - Drags the mouse in a window. win_mouse_move - Moves the mouse in a window. win_move - Moves a window to a new absolute location. win_move_locator_text - Moves the mouse to a string in a window. win_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. |
WRSAFS Function | Keywords for WinRunner | WinRunner Function |
---|---|---|
CheckBox |
Check, Click, UnCheck | |
ComboBox |
Click, Select, SelectIndex, SelectPartialMatch, SelectUnverified, SetTextValue | |
Database | [not a WR script file] | |
EditBox |
SetTextCharacters, SetTextValue, SetUnverifiedTextCharacters, SetUnverifiedTextValue |
edit_activate - Double-clicks an object in an Oracle, Java, or Oracle Developer 2000 application.
edit_check_info - Checks the value of an edit object property. edit_check_selection - Checks that a string is selected. edit_check_text - Checks the contents of an edit object. edit_delete - Deletes the contents of an edit object. edit_delete_block - Deletes a text block from an edit object. edit_get_block - Returns a block of text from an edit object. edit_get_info - Returns the value of an edit object property. edit_get_row_length - Returns the length of a row in an edit object. edit_get_rows_count - Returns the number of rows written in an edit object. edit_get_selection - Returns the selected string in an edit object. edit_get_selection_pos - Returns the position at which the selected block starts and ends. edit_get_text - Returns the text in an edit object. edit_insert - Inserts text in an edit object. edit_insert_block - Inserts text in a multi-line edit object. edit_replace - Replaces part of the contents of an edit object. edit_replace_block - Replaces a block of text in a multi-line edit object. edit_set - Replaces the entire contents of an edit object. edit_set_focus- Focuses on an object in an Oracle, Java, or Oracle Developer 2000 application. edit_set_insert_pos - Places the cursor at the specified point in an edit object. edit_set_selection - Selects text in an edit object. edit_type - Types a string in an edit object. edit_wait_info - Waits for the value of an edit object property. |
ComboEditBox |
Click, Select, SelectIndex, SelectPartialMatch, SetTextValue | |
GenericFunctions |
cvt, GetArgList(table), AddToGUI(), GetObjectType, Space(in count, in thestring), UBound(Array1[]) | |
GenericMasterFunctions
with _X.SBH |
AssignPropertyVariable, GUIDoesExist, GUIDoesNotExist, InputCharacters, InputKeys, VerifyArrayPropertyToFile, VerifyClipboardToFile, VerifyClipboardVP, VerifyProperty, VerifyPropertyContains, VerifyPropertyToFile, VerifyTabOrder, VerifyValueContains, VerifyValues, VerifyValuesIgnoreCase | |
GenericObject |
Click, CompareStoredProperties, CtrlClick, DoubleClick, JavaMenuSelect, LeftDrag, RightClick, RightDrag, ShiftClick |
obj_check_bitmap - Compares a current object bitmap to an expected bitmap. obj_check_gui - Compares current GUI data to expected GUI data. obj_check_info - Checks the value of an object property. obj_check_text_- Checks the text of an object or area compared to the specified expected text. obj_click_on_text - Clicks on text in an object. obj_drag - Begins dragging an object. obj_drop - Ends dragging an object. obj_exists - Checks if an object is displayed. obj_find_text - Returns the location of a string within an object. obj_get_desc - Returns an object's physical description. obj_get_info - Returns the value of an object property. obj_get_text - Reads text from an object. obj_highlight - Highlights an object. obj_mouse_click - Clicks on an object. obj_mouse_dbl_click - Double-clicks on an object. obj_mouse_drag - Drags the mouse within an object. obj_mouse_move - Moves the mouse within an object. obj_move_locator_text - Moves the mouse to a string in an object. obj_type - Sends keyboard input to an object. obj_wait_bitmap - Waits for an object bitmap. obj_wait_info - Waits for the value of an object property. |
GraphicControl |
Click, ClickButton |
button_check_info - Checks the value of a button property. button_check_state - Checks the state of a radio or check button. button_get_info - Returns the value of a button property. button_get_state - Returns the state of a radio or check button. button_press - Clicks a push button. button_set - Sets the state of a radio or check button. button_wait_info - Waits for the value of a button property. |
PushButton |
Click, ClickButton | |
RadioButton | Click | |
HTMLImage |
Click, CompareStoredData, CompareStoredProperties | |
ScrollBar |
OneDown, OneLeft, OneRight, OneUp, PageDown, PageLeft, PageRight, PageUp |
scroll_check_info - Checks the value of a scroll property. scroll_check_pos - Checks the current position of a scroll. scroll_drag - Drags a scroll to the specified location. scroll_drag_from_min - Scrolls the specified distance from the minimum position. scroll_get_info - Returns the value of a scroll property. scroll_get_max - Returns the value of a scroll at its maximum (end) position. scroll_get_min - Returns the value of the scroll at its minimum (start) position. scroll_get_selected - Returns the minimum and maximum values of the selected range on a slider. scroll_get_pos - Returns the current scroll position. scroll_line - Scrolls the specified number of lines. scroll_max - Sets a scroll to the maximum (end) position. scroll_min - Sets a scroll to the minimum (start) position. scroll_page - Moves a scroll the specified number of pages. scroll_wait_info - Waits for the value of a scroll property. |
HTMLFunctions
HTMLDocument | [Not WR functions] | |
HTMLLink |
Click, CompareStoredData, CompareStoredProperties | |
JavaMenuFunctions
JavaTableFunctions JavaTree | [Not WR functions] | |
Label | Click |
static_check_info - Checks the value of a static text object property. static_check_text - Checks the contents of a static text object. static_get_info - Returns the value of a static text property. static_get_text - Returns the contents of a static text object. static_wait_info - Waits for the value of a static text property. |
ListBox |
ActivatePartialMatch, ActivateTextItem, SelectPartialMatch, SelectTextItem, VerifyItemUnselected, VerifyListContains, VerifyListDoesNotContain, VerifySelectedItem, VerifySelectedPartialMatch |
list_activate_item - Activates an item. list_check_info - Checks the value of a list property. list_check_item - Checks the content of an item in a list. list_check_selected - Checks that the specified item is selected. list_collapse_item - Hides items in a tree view object. list_deselect_item - Deselects an item. list_deselect_range - Deselects all items between two specified items. list_drag_item - Drags an item from a source list. list_drop_on_item - Drops an object onto a target list item. list_expand_item - Displays hidden items in a tree view object. list_extend_item - Adds an item to the items already selected. list_extend_multi_items - Adds multiple items to the items already selected. list_extend_range - Selects a range of items and adds them to the items currently selected. list_get_checked_items - Returns the value of items marked as checked. list_get_column_header - Returns the value of a ListView column header. list_get_info - Returns the value of a list property. list_get_item - Returns the contents of an item. list_get_item_coord - Returns the dimensions and coordinates of the list item. list_get_item_info - Returns the state of a list item. list_get_item_num - Returns the position of an item. list_get_items_count - Returns the number of items in the list. list_get_selected - Returns the currently selected item. list_get_subitem - Returns the value of the ListView subitem. list_rename_item - Activates an item's edit mode in order to rename it. list_select_item - Selects an item in a list. list_select_multi_items - Selects items in a multiple-selection container object. list_select_range - Selects all items between two specified items. list_set_item_state - Sets the state of an icon of the specified ListView or TreeView. list_wait_info - Waits for the value of a list property. |
ComboListBox |
Select, SelectIndex | |
ListView |
ActivateTextItem, SelectIndexItem, SelectRandomItems, SelectTextItem, VerifyItemUnselected, VerifySelectedItem | |
TreeView |
CollapseTextNode, ExpandTextNode, SelectTextNode, VerifyNodeUnselected, VerifySelectedNode | |
PopupMenu | SelectPopupMenuItem, SelectPopupMenuID | |
TabControl |
Click, ClickTab, MakeSelection, SelectTab, UnverifiedClick |
tab_get_info - Returns the value of a tab property.
tab_get_item - Returns the name of a tab item. tab_get_selected - Returns the name of the selected tab item. tab_select_item - Selects a tab item. tab_wait_info - Waits for the value of a tab property. |
TableView |
ActivateTableRow, GetCellValue, GetRowCount, SetSelectedColumn, SetSelectedRow, SetTableCellData, VerifyCellValue |
tbl_activate_cell - Double-clicks the specified cell in a table. tbl_activate_col - Double-clicks the specified column. tbl_activate_header - Double-clicks the specified column header in a table. tbl_activate_row - Double-clicks the specified row. tbl_deselect_col - Deselects the specified column. tbl_deselect_cols_range - Deselects the specified range of columns. tbl_deselect_row - Deselects the specified row. tbl_deselect_rows_range - Deselects the specified range of rows. tbl_extend_col - Adds a column to the currently selected columns. tbl_extend_cols_range - Adds columns to the currently selected columns. tbl_extend_row - Adds a row to the currently selected rows. tbl_extend_rows_range - Adds rows to the currently selected rows. tbl_get_cell_data - Retrieves the contents of the specified cell from a table. tbl_get_cols_count - Retrieves the number of columns in a table. tbl_get_column_name - Retrieves the column header name of the specified column in a table. tbl_get_column_names - Returns the names and number of columns in a table for PowerBuilder applications. tbl_get_rows_count - Retrieves the number of rows in the specified table. tbl_get_selected_cell - Returns the cell currently in focus in a table. tbl_get_selected_row - Returns the row currently selected in a table. tbl_select_cells_range - Selects the specified range of cells. tbl_select_col_header - Selects the specified column header of a table. tbl_select_cols_range - Selects the specified range of columns. tbl_select_rows_range - Selects the specified range of rows tbl_set_cell_data - Sets the contents of a cell to the specified text in a table. tbl_set_cell focus - Sets the focus to the specified cell in a table. tbl_set_selected_cell - Selects the specified cell in a table. tbl_set_selected_col - Selects the specified column in a table. tbl_set_selected_row - Selects the specified row in a table. |
HTMLTable |
Click, ClickCell, CompareStoredData, CompareStoredProperties, VerifyCellValue | |
VSFlexGrid | [Not a WR script folder] | |
ToolBar | [WR functions defined, but for Robot Classic only?] |
toolbar_button_press - Clicks on a toolbar button. toolbar_get_button - Returns the name of a toolbar button. toolbar_get_button_info - Returns the value of a toolbar button property. toolbar_get_button_num - Returns the position of a toolbar button. toolbar_get_buttons_count - Returns the number of buttons on a toolbar. toolbar_select_item - Selects an item from a menu-like toolbar, as in IE 4. 0 or the Start menu in Windows 98. |
SSTree |
CollapseNode, ExpandNode, SelectNode, VerifyExpandedState, VerifySelectedText | [Sheridan Class=SSTree] |
The installer creates these folders and files:
codepage / alias.txt, ibm-437.bin, ibm-1252.bin data / docs / .htm and .pdf files include / .h header files lib / STAF.lib used by Java programs samples / c, cpp, demo, genwl, java, misc, rexx External services need to be downloaded into folder manually created:
At the STAF root folder, file STAFReg.inf can be deleted unless you are on IBM's internal network and thus need to register with IBM. Also at the STAF root folder, file C:\STAF3\STAFEnv.bat sets up an instance of the STAFproc.exe daemon service on every machine involved in the peer-to-peer STAF environment. It establishes the PATH to executables needed to invoke these commands to start and stop STAF: To shutdown in Windows, open another command window: ![]() This uses STAF.exe with the general syntax of:
Alternately, STAF can be installed as a Windows service. Once done, STAFProc.exe is only used for startup debugging.
| ![]() ![]() ![]() ![]() ![]()
| ![]() ![]() ![]() |
| ![]() ![]() ![]() |
| |||||
Roles: | Tester:
| WinRunner:
| Other:
| ![]() ![]() ![]() |
![]()
| Your first name: Your family name: Your location (city, country): Your Email address: |
Top of Page![]() Thank you! |