|
IBM Rational Functional Tester Version 8.1.1000 IBM Rational Functional Tester Proxy SDK Reference Project Version 2.3 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.rational.test.ft.sys.RegisteredObject
com.rational.test.ft.domain.ProxyTestObject
com.rational.test.ft.domain.java.JavaProxy
com.rational.test.ft.domain.java.JavaGuiProxy
com.rational.test.ft.domain.java.PseudoTopLevelProxy
public class PseudoTopLevelProxy
This class does not represent a true top level proxy, it exists solely to block recording against children that can not properly respond when a popup window is displaying. There are issues with message pumps in the core JVM that cause deadly embrace situations when popup windows (menus and combolistbox popups) are being displayed. The only real work around is to not allow access to nested controls and limit top level control interaction when these popup windows are displayed.
This class will never get recorded, it will always cause the recording to pass to the associated real proxy object. The only action that can be recorded is a clickDisabled command that is smart enough to not trip over the JVM deadly embrace.
The deadly embrace occurs on any action that requires the JVM to sync with the UI thread while a popup window is being displayed.
Actions such as getLocationOnScreen must be avoided while in this situation, unles they are performed against the heavvyweight wincow and not against the Java control that
represents that window.
| Field Summary | |
|---|---|
protected static com.rational.test.ft.util.FtDebug |
debug
|
protected ProxyTestObject |
topLevelProxy
|
protected java.awt.Rectangle |
topLevelRect
|
protected com.rational.test.ft.sys.graphical.Window |
topLevelWindow
|
| Fields inherited from class com.rational.test.ft.domain.java.JavaGuiProxy |
|---|
LEFT, preDownState, processMouseEventHandler, ROLEINDEX, ROLEINDEXWEIGHT, TESTDATA_SPECIALFRAMESTATE, TESTDATA_SPECIALFRAMESTATE_DESCRIPTION |
| Fields inherited from class com.rational.test.ft.domain.java.JavaProxy |
|---|
uniqueId |
| Fields inherited from class com.rational.test.ft.sys.RegisteredObject |
|---|
theTestObject |
| Fields inherited from interface com.rational.test.ft.domain.IDataDriven |
|---|
INCLUDE_ALL, INCLUDE_JUSTOBJECT, INCLUDE_SIBLINGS |
| Constructor Summary | |
|---|---|
PseudoTopLevelProxy(ProxyTestObject topLevelProxy, com.rational.test.ft.sys.graphical.Window topLevelWindow, java.awt.Rectangle topLevelRect)
This sole constructor for all proxy objects sets the SUT object as a member variable for the proxy. |
|
| Method Summary | |
|---|---|
protected void |
activateTopWindow()
Overload the inherited implementation to never attempt to activate the ComboListBox popup window. |
protected java.awt.Rectangle |
getActionRect()
Gets the screen relative rectangle and throws an invalid action exception if the rectangle is not valid. |
java.lang.Object |
getChildAtPoint(java.awt.Point pt)
Finds the child object that is at the specified point. |
java.util.Enumeration |
getChildrenEnumeration()
Return an enumeration of mappable proxies for the children of this object. |
java.awt.Rectangle |
getClippedScreenRectangle()
Returns the clipped-screen rectangle for the associated TestObject |
java.lang.String |
getDescriptiveName()
Returns a name that can be used to describe the associated UI object in a script. |
java.util.Enumeration |
getImmediateChildren()
Return an enumeration of proxies for the immediate children of this object. |
ProxyTestObject |
getMappableParent()
Returns a proxy object for the parent of this object. |
com.rational.test.ft.sys.MethodSpecification |
getMethodSpecForPoint(java.awt.Point pt)
Return a MethodSpecification for a method that returns a java.awt.Point for the specified coordinates. |
ProxyTestObject |
getParent()
Returns a proxy object for the parent of this object. |
java.lang.Object |
getParentObject()
Returns an object for the parent of this object. |
java.lang.String |
getRole()
Returns TestObjectRole#ROLE_COMBO_LIST_BOX. |
java.awt.Point |
getScreenPoint(java.awt.Point pt)
Returns the screen relative point, given an object relative point. |
java.awt.Rectangle |
getScreenRectangle()
Returns the rectangle that contains the component being evaluated relative to the top left corner of the screen. |
com.rational.test.ft.script.ScriptCommandFlags |
getScriptCommandFlags()
This method returns an active state value that reflects the state of the test object at the time of the call. |
java.lang.String |
getTestObjectClassName()
Set to null when the JPopupMenu is not interesting. |
ProxyTestObject |
getTopLevelProxy()
|
com.rational.test.ft.object.interfaces.ITopWindow |
getTopMappableWindow()
All Gui Components must be inside a top-level object. |
com.rational.test.ft.object.interfaces.ITopWindow |
getTopWindow()
All Gui Components must be inside a top-level object. |
java.awt.Rectangle |
getVisualClippedRectangle()
The optimized way to obtain the ClippedRectangle. |
boolean |
hasFocus()
Check the component under evaluation to determine if it has keyboard focus. |
boolean |
isEnabled()
Check the component under evaluation to determine if it is enabled or disabled. |
boolean |
isOpaque()
Check the component under evaluation to determine if it is opaque or transparent. |
boolean |
isPointInObject(java.awt.Point pt)
Determines if the specified screen relative point is contained in the component under evaluation. |
boolean |
isShowing()
Check the component under evaluation to determine if it is showing (as opposed to hidden). |
void |
processSingleMouseEvent(IMouseActionInfo action)
Return a MethodSpecification for the specified mouse event. |
boolean |
shouldBeMapped()
Returns true; by default, all test objects are mapped. |
| Methods inherited from class com.rational.test.ft.domain.java.JavaGuiProxy |
|---|
click, click, click, click, doubleClick, doubleClick, doubleClick, doubleClick, drag, drag, drag, drag, dragToScreenPoint, dragToScreenPoint, dragToScreenPoint, dumpAction, ensureObjectIsVisible, getCachedRectX, getCachedRectY, getClippedRect, getProcessMouseEventHandler, getRegisteredTopLevelWindow, getScreenPoint, hover, hover, hover, hover, isDrag, isPointInObject, modifiersChanged, mouseMove, mouseMove, nClick, nClickDrag, nClickDragToScreenPoint, processHoverMouseEvent, processMouseEvent, scrollRectToVisible, setProcessMouseEventHandler, setTopLevelWindow |
| Methods inherited from class com.rational.test.ft.sys.RegisteredObject |
|---|
addProxyReference, dereference, getObject, getRegisteredId, getTransactionId, isReferenced, isReleaseRequired, register, registerTransiently, release, toString, unregister |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.rational.test.ft.object.interfaces.IGraphical |
|---|
click, click, click, click, doubleClick, doubleClick, doubleClick, doubleClick, drag, drag, drag, drag, dragToScreenPoint, dragToScreenPoint, dragToScreenPoint, getScreenPoint, hover, hover, hover, hover, mouseMove, mouseMove, nClick, nClickDrag, nClickDragToScreenPoint |
| Field Detail |
|---|
protected static com.rational.test.ft.util.FtDebug debug
protected ProxyTestObject topLevelProxy
protected com.rational.test.ft.sys.graphical.Window topLevelWindow
protected java.awt.Rectangle topLevelRect
| Constructor Detail |
|---|
public PseudoTopLevelProxy(ProxyTestObject topLevelProxy, com.rational.test.ft.sys.graphical.Window topLevelWindow, java.awt.Rectangle topLevelRect)
| Method Detail |
|---|
public ProxyTestObject getTopLevelProxy()
public java.lang.String getTestObjectClassName()
getTestObjectClassName in interface IProxyBasegetTestObjectClassName in class JavaGuiProxypublic ProxyTestObject getParent()
getParent in class JavaGuiProxypublic java.lang.Object getParentObject()
null if this
object has no parent.
getParentObject in class JavaGuiProxypublic ProxyTestObject getMappableParent()
getMappableParent in class JavaGuiProxypublic java.lang.String getDescriptiveName()
getDescriptiveName in class JavaGuiProxypublic java.lang.String getRole()
TestObjectRole#ROLE_COMBO_LIST_BOX.
getRole in class JavaProxypublic boolean shouldBeMapped()
shouldBeMapped in class JavaGuiProxypublic com.rational.test.ft.object.interfaces.ITopWindow getTopWindow()
getTopWindow in class JavaGuiProxypublic com.rational.test.ft.object.interfaces.ITopWindow getTopMappableWindow()
getTopMappableWindow in class JavaGuiProxypublic java.util.Enumeration getChildrenEnumeration()
getChildrenEnumeration in class JavaGuiProxypublic java.util.Enumeration getImmediateChildren()
getImmediateChildren in class JavaGuiProxypublic void processSingleMouseEvent(IMouseActionInfo action)
processSingleMouseEvent in class JavaGuiProxyaction - The event cache and other mouse state information
for this mouse action.MethodSpecificationpublic com.rational.test.ft.sys.MethodSpecification getMethodSpecForPoint(java.awt.Point pt)
IGraphical.getScreenPoint is returned. However, if a proxy can find
getMethodSpecForPoint in class JavaGuiProxyx - The screen relative x coordinate.y - The screen relative y coordinate.MethodSpecificationpublic boolean isShowing()
isShowing in interface com.rational.test.ft.object.interfaces.IGraphicalisShowing in class JavaGuiProxypublic boolean isEnabled()
isEnabled in interface com.rational.test.ft.object.interfaces.IGraphicalisEnabled in class JavaGuiProxypublic com.rational.test.ft.script.ScriptCommandFlags getScriptCommandFlags()
getScriptCommandFlags in class JavaGuiProxypublic boolean isOpaque()
isOpaque in interface com.rational.test.ft.object.interfaces.IGraphicalisOpaque in class JavaGuiProxypublic boolean hasFocus()
hasFocus in interface com.rational.test.ft.object.interfaces.IGraphicalhasFocus in class JavaGuiProxypublic boolean isPointInObject(java.awt.Point pt)
This functionality is performed by the proxy due to potentially
unusual aspects associated with functionality. While typically the getScreenRectangle is used to resolve this query, there are situations for which this
is not accurate. For instance if the clickable region on a
button is not rectangular, just checking whether the point is in
the rectangle is not valid.
isPointInObject in interface com.rational.test.ft.object.interfaces.IGraphicalisPointInObject in class JavaGuiProxypt - Screen relative point to check.
getScreenRectangle()public java.lang.Object getChildAtPoint(java.awt.Point pt)
If this object has no children, it should return null.
getChildAtPoint in interface com.rational.test.ft.object.interfaces.IGraphicalgetChildAtPoint in class JavaGuiProxypt - Screen relative point to check.
getScreenRectangle()public java.awt.Rectangle getScreenRectangle()
getScreenRectangle in interface com.rational.test.ft.object.interfaces.IGraphicalgetScreenRectangle in class JavaGuiProxyIGraphical.isPointInObject(java.awt.Point),
IGraphical.getClippedScreenRectangle()public java.awt.Rectangle getClippedScreenRectangle()
com.rational.test.ft.object.interfaces.IGraphicalTestObject
getClippedScreenRectangle in interface com.rational.test.ft.object.interfaces.IGraphicalgetClippedScreenRectangle in class JavaGuiProxynull if the object cannot be seen
in any window on the screen.IGraphical.getScreenRectangle()public java.awt.Rectangle getVisualClippedRectangle()
getVisualClippedRectangle in class ProxyTestObjectpublic java.awt.Point getScreenPoint(java.awt.Point pt)
getScreenPoint in interface com.rational.test.ft.object.interfaces.IGraphicalgetScreenPoint in class JavaGuiProxypt - The Object relative point.
protected java.awt.Rectangle getActionRect()
getActionRect in class JavaGuiProxyprotected void activateTopWindow()
activateTopWindow in class JavaGuiProxy
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||