org.safs.rational
Class CFDotNetMenuBar

java.lang.Object
  extended by org.safs.Processor
      extended by org.safs.ComponentFunction
          extended by org.safs.rational.CFComponent
              extended by org.safs.rational.CFMenuBar
                  extended by org.safs.rational.CFDotNetMenuBar
Direct Known Subclasses:
CFDotNetPopupMenu

public class CFDotNetMenuBar
extends CFMenuBar


Purpose: Process DotNetMenuBar component.

Since:
JUL 24, 2008
JUL 24, 2008 (LeiWang) Original Release
DEC 10, 2008 (LeiWang) Add constant CLASS_TOOLSTRIPDROPDOWNMENU_NAME Modify method isMenuBar(), isPopupMenu(): return true when class is 'System.Windows.Forms.ToolStripDropDownMenu'

Field Summary
static java.lang.String CLASS_CONTEXTMENU_NAME
           
static java.lang.String CLASS_CONTEXTMENUSTRIP_NAME
           
static java.lang.String CLASS_MAINMENU_NAME
           
static java.lang.String CLASS_MENUITEM_NAME
           
static java.lang.String CLASS_MENUSTRIP_NAME
           
static java.lang.String CLASS_TOOLSTRIPDROPDOWNMENU_NAME
           
static java.lang.String CLASS_TOOLSTRIPMENUITEM_NAME
           
static java.lang.String CLASS_TOOLSTRIPSEPARATOR_NAME
           
static java.lang.String METHOD_GET_ITEM
           
static java.lang.String PROPERTY_COUNT
           
static java.lang.String PROPERTY_MENU_ITEMS
           
static java.lang.String PROPERTY_TEXT
           
static java.lang.String PROPERTY_TOOLSTRIP_ITEMS
           
static java.lang.String PROPERTY_TOOLSTRIPDROPDOWN_ITEMS
           
 
Fields inherited from class org.safs.rational.CFMenuBar
ITEMCOUNT_PROPERTY, MENUCOUNT_PROPERTY, PATH_PREFIX, SELECTMENUITEM, SELECTMENUITEMCONTAINS, SELECTPOPUPMENUITEM, SELECTUNVERIFIEDMENUITEM, SELECTUNVERIFIEDPOPUPMENUITEM, TEXT_PROPERTY, UITYPE_MENUBAR, UITYPE_POPUPMENU, UITYPE_PROPERTY, VERIFYMENUITEM, VERIFYMENUITEMCONTAINS, VERIFYPOPUPMENU, VERIFYPOPUPMENUCONTAINS, VERIFYPOPUPMENUITEM, VERIFYPOPUPMENUPARTIALMATCH
 
Fields inherited from class org.safs.rational.CFComponent
ALTLEFTDRAG, ASSIGNPROPERTYVARIABLE, CAPTUREOBJECTDATATOFILE, CAPTUREPROPERTIESTOFILE, CAPTUREPROPERTYTOFILE, CLEARAPPMAPCACHE, CLICK, CLOSEWINDOW, COMPONENTCLICK, CTRLALTLEFTDRAG, CTRLCLICK, CTRLLEFTDRAG, CTRLRIGHTCLICK, CTRLSHIFTLEFTDRAG, DOUBLECLICK, GETGUIIMAGE, GUIDOESEXIST, GUIDOESNOTEXIST, HOVERMOUSE, HSCROLLTO, INPUTCHARACTERS, INPUTKEYS, LEFTDRAG, MAXIMIZE, MINIMIZE, obj1, RESTORE, RIGHTCLICK, RIGHTDRAG, script, SETPOSITION, SETPROPERTYVALUE, SHIFTCLICK, SHIFTLEFTDRAG, VERIFYARRAYPROPERTYTOFILE, VERIFYBINARYFILETOFILE, VERIFYCLIPBOARDTOFILE, VERIFYFILETOFILE, VERIFYGUIIMAGETOFILE, VERIFYOBJECTDATATOFILE, VERIFYPROPERTY, VERIFYPROPERTYCONTAINS, VERIFYPROPERTYTOFILE, VERIFYTEXTFILETOFILE, VERIFYVALUECONTAINS, VERIFYVALUEEQUALS, VERIFYVALUES, VERIFYVALUESIGNORECASE, VSCROLLTO, WAITFORGUI, WIN_MAXIMIZED, WIN_MINIMIZED, WIN_NORMAL
 
Fields inherited from class org.safs.ComponentFunction
action, compName, mapname, utils, windowName
 
Fields inherited from class org.safs.Processor
breakpointsOn, CASE_INSENSITIVE_FLAG, CASEINSENSITIVE_FLAG, clearProxiesAlways, commandLineBreakpoint, customStr, customText, DEBUG_MESSAGE, debugStr, debugText, DEFAULT_CUSTOM_PROCESSOR_PACKAGE, DEFAULT_CUSTOM_PROCESSOR_SUBPACKAGE, DEFAULT_PROCESSOR_PACKAGE, FAILED_MESSAGE, FAILED_OK_MESSAGE, failedStr, failedText, FAILURE_DETAIL, GENERIC_MESSAGE, genericStr, genericText, LINE_FAILURE_4, log, myBreakpointsOn, otherStr, otherText, PARAM_SIZE_1, PARAM_SIZE_2, PARAM_SIZE_3, PARAM_SIZE_4, params, PASSED_MESSAGE, passedStr, passedText, PRE_TXT_SUCCESS_4, PRE_TXT_SUCCESS_5, processorConfigSet, processorMap, recordProcessed, RECTYPE_DRIVER_COMMAND, RECTYPE_DRIVER_COMMAND_F, RECTYPE_DRIVER_COMMAND_W, RECTYPE_TEST_STEP, RECTYPE_TEST_STEP_F, RECTYPE_TEST_STEP_W, SAFS_CLEARPROXIESALWAYS_ITEM, SAFS_COMMANDLINEBREAKPOINT_ITEM, SAFS_COMMANDLINEBREAKPOINT_VARIABLE, SAFS_PARAMS_FILE, SAFS_RESBUN_NAME, SAFS_SECSWAITFORCOMPONENT_ITEM, SAFS_SECSWAITFORCOMPONENT_VARIABLE, SAFS_SECSWAITFORWINDOW_ITEM, SAFS_SECSWAITFORWINDOW_VARIABLE, SAFS_TESTDOMAINS_ITEM, SAFS_TESTDOMAINS_VARIABLE, secsWaitForComponent, secsWaitForWindow, SENT_MSG_3, testDomains, testRecordData, TXT_FAILURE_1, TXT_FAILURE_2, TXT_FAILURE_3, TXT_FAILURE_4, TXT_FAILURE_5, TXT_SUCCESS_1, TXT_SUCCESS_2, TXT_SUCCESS_2a, TXT_SUCCESS_3, TXT_SUCCESS_4, TXT_SUCCESS_5, WARNING_MESSAGE, WARNING_OK_MESSAGE, warningStr, warningText
 
Constructor Summary
CFDotNetMenuBar()
           
 
Method Summary
protected  MenuTreeNode getNewTreeNode(java.lang.Object userObject, int siblingCounter, int childrenCounter)
          Note: Needed to be overrided for other application than Swing.
protected  java.lang.String getPropertyText(TestObject testObject)
          Note: Override that of its superclass.
protected  java.lang.String getPropertyTextName()
           
protected  java.lang.Integer getSubMenuItemCount(TestObject aMenuObj)
          Note: This is a static method, used by extractMenuItems()
protected  boolean isMenuBar(TestObject menuObject)
          Note: Needed to be override in subclass.
protected  boolean isMenuItem(TestObject menuObject)
          Note: Needed to be override in subclass.
protected  boolean isPopupMenu(TestObject menuObject)
           
static Tree staticExtractMenuItems(java.lang.Object obj, int level)
          Note: This method is used by the RDDGUIUtilities.java
 
Methods inherited from class org.safs.rational.CFMenuBar
convertToMap, extractMenuItems, getAbsoluteFileName, getPath, getStatus, getSubMenuItemFullPath, localProcess, selectMenuBar, selectMenuItem, selectMenuItemContains, selectMenuItemWithoutVerification, selectMenuItemWithVerification, selectUnverifiedMenuItem, selectUnverifiedPopupMenuItem, verifyMenuBar, verifyMenuItem, verifyMenuItemContains, verifyPopupMenu
 
Methods inherited from class org.safs.rational.CFComponent
captureObjectData, captureObjectDataToFile, checkForCoord, checkForCoord, componentClick, convertObjectValueToString, extractTreeItemsSub, findMenuBars, formatObjectData, getAppletsBrowser, getComponentRectangle, getHelpers, getObjectProperty, getObjectPropertyFromProperties, getUserObject, isDotnetDomain, isFlexDomain, isHtmlDomain, isJavaDomain, isSwtDomain, isSWTWidget, isWinDomain, listAllProperties, listAllProperties, listMethods, listNonValueProperties, listProperties, matchedPathOfMenuItem, parseWhereInfo, performClick, preformDrag, process, selectMenuItem, setPosition, tobj, verifyMenuItem
 
Methods inherited from class org.safs.ComponentFunction
action_getGuiImage, action_verifyGuiImageToFile, componentExecutedFailureMessage, componentFailureMessage, componentSuccessMessage, convertCoords, convertNum, getAlternateParams, getHelpersWorker, issueActionFailure, issueActionOnXFailure, issueErrorPerformingAction, issueErrorPerformingActionOnX, issueFileErrorFailure, issueInputRecordFailure, issueParameterCountFailure, issueParameterCountFailure, issueParameterValueFailure, issuePassedSuccess, issuePassedSuccessUsing, issueUnknownErrorFailure, isSupportedRecordType, lookupAppMapCoordReference, lookupAppMapNumReference, lookupAppMapReference, updateFromTestRecordData
 
Methods inherited from class org.safs.Processor
activateBreakpoint, checkBreakpoints, checkMyBreakpoints, delay, distributeConfigInformation, getAppMapItem, getChainedProcessor, getClassInstance, getClearProxiesAlways, getCustomProcClassNames, getCustomProcInstancePath, getLogUtilities, getParams, getProcClassNames, getProcInstance, getProcInstancePath, getRequiredField, getSecsWaitForComponent, getSecsWaitForWindow, getStandardErrorMessage, getTestRecordData, getVariable, hasChainedProcessor, initProcessorAndProcess, instanceProcessorAndProcess, isBreakpointsOn, isComponentFunctionRecord, isDriverCommandRecord, isEngineCommandRecord, isMyBreakpointsOn, isRecordProcessed, paramsFailedMsg, paramsFailedMsg, processCustomProcessor, processSubclassProcessor, setBreakpointsOn, setChainedProcessor, setClearProxiesAlways, setCommandLineBreakpoint, setCustomProcInstancePath, setLogUtilities, setMyBreakpointsOn, setParams, setProcInstance, setProcInstancePath, setRecordProcessed, setSecsWaitForComponent, setSecsWaitForWindow, setTestDomains, setTestRecordData, setVariable, standardFailureMessage, substituteVariable, validateParamSize, validProcessorClassName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_MAINMENU_NAME

public static final java.lang.String CLASS_MAINMENU_NAME
See Also:
Constant Field Values

CLASS_CONTEXTMENU_NAME

public static final java.lang.String CLASS_CONTEXTMENU_NAME
See Also:
Constant Field Values

CLASS_MENUITEM_NAME

public static final java.lang.String CLASS_MENUITEM_NAME
See Also:
Constant Field Values

CLASS_MENUSTRIP_NAME

public static final java.lang.String CLASS_MENUSTRIP_NAME
See Also:
Constant Field Values

CLASS_CONTEXTMENUSTRIP_NAME

public static final java.lang.String CLASS_CONTEXTMENUSTRIP_NAME
See Also:
Constant Field Values

CLASS_TOOLSTRIPMENUITEM_NAME

public static final java.lang.String CLASS_TOOLSTRIPMENUITEM_NAME
See Also:
Constant Field Values

CLASS_TOOLSTRIPSEPARATOR_NAME

public static final java.lang.String CLASS_TOOLSTRIPSEPARATOR_NAME
See Also:
Constant Field Values

CLASS_TOOLSTRIPDROPDOWNMENU_NAME

public static final java.lang.String CLASS_TOOLSTRIPDROPDOWNMENU_NAME
See Also:
Constant Field Values

PROPERTY_COUNT

public static final java.lang.String PROPERTY_COUNT
See Also:
Constant Field Values

METHOD_GET_ITEM

public static final java.lang.String METHOD_GET_ITEM
See Also:
Constant Field Values

PROPERTY_TEXT

public static final java.lang.String PROPERTY_TEXT
See Also:
Constant Field Values

PROPERTY_MENU_ITEMS

public static final java.lang.String PROPERTY_MENU_ITEMS
See Also:
Constant Field Values

PROPERTY_TOOLSTRIP_ITEMS

public static final java.lang.String PROPERTY_TOOLSTRIP_ITEMS
See Also:
Constant Field Values

PROPERTY_TOOLSTRIPDROPDOWN_ITEMS

public static final java.lang.String PROPERTY_TOOLSTRIPDROPDOWN_ITEMS
See Also:
Constant Field Values
Constructor Detail

CFDotNetMenuBar

public CFDotNetMenuBar()
Method Detail

staticExtractMenuItems

public static Tree staticExtractMenuItems(java.lang.Object obj,
                                          int level)
                                   throws SAFSException
Note: This method is used by the RDDGUIUtilities.java

Throws:
SAFSException

getSubMenuItemCount

protected java.lang.Integer getSubMenuItemCount(TestObject aMenuObj)
Note: This is a static method, used by extractMenuItems()

Overrides:
getSubMenuItemCount in class CFMenuBar
Parameters:
aMenuObj - -- Typically a MenuItem proxy. Will be cast to TestObject.
Returns:
Integer -- the number of child Menus or MenuItems or 0.

getPropertyText

protected java.lang.String getPropertyText(TestObject testObject)
Note: Override that of its superclass. In .NET, the text property of menuitem is represented by string "Text".

Overrides:
getPropertyText in class CFMenuBar
Returns:
The value of "text" property of a menuitem.

getPropertyTextName

protected java.lang.String getPropertyTextName()
Overrides:
getPropertyTextName in class CFMenuBar

isMenuBar

protected boolean isMenuBar(TestObject menuObject)
                     throws SAFSException
Description copied from class: CFMenuBar
Note: Needed to be override in subclass. "uIClassID" is a property specific for java swing object, we use this property to test what UI Component it is. This can only work for swing.

Overrides:
isMenuBar in class CFMenuBar
Parameters:
menuObject - A TestObject represents a MenuBar or PopupMenu or Menu or MenuItem
Returns:
True if the TestObject is MenuBar or PopupMenu. False otherwise.
Throws:
SAFSException

isMenuItem

protected boolean isMenuItem(TestObject menuObject)
                      throws SAFSException
Description copied from class: CFMenuBar
Note: Needed to be override in subclass. We just call isMenuBar() to make the test.

Overrides:
isMenuItem in class CFMenuBar
Parameters:
menuObject - A TestObject represents a MenuBar or PopupMenu or Menu or MenuItem
Returns:
True if the TestObject is Menu or MenuItem. False otherwise.
Throws:
SAFSException

isPopupMenu

protected boolean isPopupMenu(TestObject menuObject)
                       throws SAFSException
Overrides:
isPopupMenu in class CFMenuBar
Returns:
True if the menuObject is a popupMenu; False otherwise.
Throws:
SAFSException

getNewTreeNode

protected MenuTreeNode getNewTreeNode(java.lang.Object userObject,
                                      int siblingCounter,
                                      int childrenCounter)
Description copied from class: CFMenuBar
Note: Needed to be overrided for other application than Swing.

Overrides:
getNewTreeNode in class CFMenuBar
Returns:
An apporiate MenuTreeNode. For Example, a JavaMenuTreeNode for java application; a DotNetMenuTreeNode for .NET application.