public class AutoTest
extends java.lang.Object
Constructor and Description |
---|
AutoTest() |
Modifier and Type | Method and Description |
---|---|
static QualityIndicatedLocator |
getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement)
Returns the
QualityIndicatedLocator associated with some DOM element in a Smart GWT
application page. |
static QualityIndicatedLocator |
getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement,
boolean checkForNativeHandling) |
static QualityIndicatedLocator |
getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement,
boolean checkForNativeHandling,
java.lang.String[] coords)
Returns the
QualityIndicatedLocator associated with some DOM element in a Smart GWT
application page. |
static java.lang.String |
getMinimalLocator(com.google.gwt.dom.client.Element DOMElement)
Returns a locator that's optimized to have minimal length while still trying to robustly represent that targeted canvas.
|
static java.lang.String |
getMinimalLocator(com.google.gwt.dom.client.Element DOMElement,
boolean checkForNativeHandling) |
static java.lang.String |
getMinimalLocator(com.google.gwt.dom.client.Element DOMElement,
boolean checkForNativeHandling,
java.lang.String[] coords)
Returns a locator that's optimized to have minimal length while still trying to robustly represent that targeted canvas.
|
static Canvas |
getTestRoot()
Gets the implicit root canvas available in scLocators starting "//testRoot[]".
|
static void |
installLocatorShortcut()
This method allows developers to retrieve locators for elements on the page via a key-combo plus mouseDown on the
element in question.
It may be invoked from a bookmarklet stored in the browser, giving developers a one-click way to retrieve locators for any Smart GWT application |
static java.lang.Boolean |
isCanvasDone(Canvas canvas)
Returns whether the canvas is in a consistent state with no pending operations.
|
static java.lang.Boolean |
isElementClickable(Canvas canvas)
Returns whether the instance is ready to be clicked on by a Selenium test.
|
static java.lang.Boolean |
isElementClickable(FormItem item)
Returns whether the instance is ready to be clicked on by a Selenium test.
|
static java.lang.Boolean |
isElementReadyForKeyPresses(Canvas canvas)
Given a DOM element, returns whether the associated Smart GWT Canvas or FormItem is ready to receive keyPress events
from a Selenium test.
|
static java.lang.Boolean |
isElementReadyForKeyPresses(FormItem item)
Given a DOM element, returns whether the associated Smart GWT Canvas or FormItem is ready to receive keyPress events
from a Selenium test.
|
static java.lang.Boolean |
isFormDone(Canvas canvas)
Returns whether the DynamicForm is in a consistent state with no pending operations.
|
static java.lang.Boolean |
isGridDone(Canvas canvas)
Returns whether the ListGrid supplied or containing the supplied canvas is in a consistent state with no pending
operations.
|
static java.lang.Boolean |
isItemDone(FormItem item)
Returns whether the FormItem is in a consistent state with no pending operations.
|
static boolean |
isSystemDone()
Returns a boolean to indicate whether the current application is fully loaded with no pending operations, and is ready
for user interaction.
|
static boolean |
isSystemDone(boolean includeRedraws)
Deprecated.
As of Smart GWT version 13,0, deprecated in favor of the signature taking a
SystemDoneConfig |
static boolean |
isSystemDone(boolean includeRedraws,
boolean includeEdits)
Deprecated.
As of Smart GWT version 13,0, deprecated in favor of the signature taking a
SystemDoneConfig and a Boolean . |
static boolean |
isSystemDone(SystemDoneConfig options) |
static boolean |
isSystemDone(SystemDoneConfig options,
java.lang.Boolean includeEdits)
Returns a boolean to indicate whether the current application is fully loaded with no pending operations, and is ready
for user interaction.
|
static java.lang.Boolean |
isTileGridDone(Canvas canvas)
Returns whether the TileGrid is in a consistent state with no pending operations.
|
static java.lang.Boolean |
isTileLayoutDone(Canvas canvas)
Returns whether the TileLayout is in a consistent state with no pending operations.
|
static Canvas |
locateCanvasFromDOMElement(com.google.gwt.dom.client.Element element)
Given an element in the DOM, returns the canvas containing this element, or null if the element is not contained in any
canvas handle.
|
static void |
setTestRoot(Canvas canvas)
Sets the implicit root canvas available in scLocators starting "//testRoot[]".
|
static void |
uninstallLocatorShortcut()
Uninstalls the locator shortcut installed by
installLocatorShortcut() |
static void |
waitForElement(java.lang.String locator,
java.lang.String callback)
Waits for any in-progress actions to complete and then returns the element for the specified locator.
|
static void |
waitForElement(java.lang.String locator,
java.lang.String callback,
ElementWaitConfig options)
Waits for any in-progress actions to complete and then returns the element for the specified locator.
|
static void |
waitForSystemDone(java.lang.String callback)
Fires the provided callback when
isSystemDone() returns true. |
static void |
waitForSystemDone(java.lang.String callback,
SystemWaitConfig options)
Fires the provided callback when
isSystemDone() returns true. |
public static QualityIndicatedLocator getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement)
QualityIndicatedLocator
associated with some DOM element in a Smart GWT
application page. If coords, representing the page position, is passed in, the locator may be generated with a specific
trailing "target area" identifer that will map back to the appropriate, potentially different, physical coordinates,
even if the widget is moved. The coords argument will only have an effect in cases where the mouse position over the
target could potentially change behavior.DOMElement
- DOM element within in the page. If null the locator for the last mouse event target will be generatedpublic static QualityIndicatedLocator getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement, boolean checkForNativeHandling)
public static QualityIndicatedLocator getLocatorWithIndicators(com.google.gwt.dom.client.Element DOMElement, boolean checkForNativeHandling, java.lang.String[] coords)
QualityIndicatedLocator
associated with some DOM element in a Smart GWT
application page. If coords, representing the page position, is passed in, the locator may be generated with a specific
trailing "target area" identifer that will map back to the appropriate, potentially different, physical coordinates,
even if the widget is moved. The coords argument will only have an effect in cases where the mouse position over the
target could potentially change behavior.DOMElement
- DOM element within in the page. If null the locator for the last mouse event target will be generatedcheckForNativeHandling
- If this parameter is passed in, check whether the target element responds to native browser events directly rather than
going through the Smart GWT widget/event handling model. If we detect this case, return null rather than a live
locator. This allows us to differentiate between (for example) an event on a Canvas handle, and an event occurring
directly on a simple <a href=...>
tag written inside a Canvas handle.coords
- X, Y page positionpublic static java.lang.String getMinimalLocator(com.google.gwt.dom.client.Element DOMElement)
//:
that will search for a widget with the specified ID or defining property (e.g. "title"). A minimal
locator may also contain a second, interior search denoted by //
that searches the hierarchy below the
preceding part of the locator. A minimal locator should be passed to getObject()
, getElement()
, etc., to retrieve the original target.
Note that when searching by defining property, a breadth-first search of the widget hierarchy will be run looking for the first widget of the appropriate framework class with the specified defining property.
DOMElement
- DOM element within in the page. If null the locator for the last mouse event target will be generatedAutoTestLocator
public static java.lang.String getMinimalLocator(com.google.gwt.dom.client.Element DOMElement, boolean checkForNativeHandling)
public static java.lang.String getMinimalLocator(com.google.gwt.dom.client.Element DOMElement, boolean checkForNativeHandling, java.lang.String[] coords)
//:
that will search for a widget with the specified ID or defining property (e.g. "title"). A minimal
locator may also contain a second, interior search denoted by //
that searches the hierarchy below the
preceding part of the locator. A minimal locator should be passed to getObject()
, getElement()
, etc., to retrieve the original target.
Note that when searching by defining property, a breadth-first search of the widget hierarchy will be run looking for the first widget of the appropriate framework class with the specified defining property.
DOMElement
- DOM element within in the page. If null the locator for the last mouse event target will be generatedcheckForNativeHandling
- If this parameter is passed in, check whether the target element responds to native browser events directly rather than
going through the Smart GWT widget/event handling model. If we detect this case, return null rather than a live
locator. This allows us to differentiate between (for example) an event on a Canvas handle, and an event occurring
directly on a simple <a href=...>
tag written inside a Canvas handle.coords
- X, Y page positionAutoTestLocator
public static void installLocatorShortcut()
When installLocatorShortcut() is invoked, it will register a
Page-level mouseDown
handler which, if the Shift+Ctrl or Shift+Meta key-combo are being held down will
display the locator for the element under the mouse in a text-box and also copy it to clipboard.
As with the isc.showConsole()
method, developers may wish to create a bookmark in their browser
to quickly enable this functionality on any Smart GWT application, without any changes to the application code:
To uninstall the locator
shortcut, call uninstallLocatorShortcut()
public static java.lang.Boolean isCanvasDone(Canvas canvas)
canvas
- canvas to testpublic static java.lang.Boolean isElementClickable(Canvas canvas)
implicitNetworkWait
) isCanvasDone()
isTileGridDone()
isTileLayoutDone()
isGridDone()
isFormDone()
canvas
- instance to testpublic static java.lang.Boolean isElementClickable(FormItem item)
implicitNetworkWait
) isCanvasDone()
isTileGridDone()
isTileLayoutDone()
isGridDone()
isFormDone()
item
- instance to testpublic static java.lang.Boolean isElementReadyForKeyPresses(Canvas canvas)
TextItem
, FileItem
, or TextAreaItem
,
it has native focus, isElementClickable()
canvas
- DOM element to test (element obtained from canvas, form item, or Smart GWT locator if provided)public static java.lang.Boolean isElementReadyForKeyPresses(FormItem item)
TextItem
, FileItem
, or TextAreaItem
,
it has native focus, isElementClickable()
item
- DOM element to test (element obtained from canvas, form item, or Smart GWT locator if provided)public static java.lang.Boolean isFormDone(Canvas canvas)
DynamicForm
. Otherwise, returns true or false
according as the conditions below are all satisfied: isItemDone()
canvas
- canvas to testpublic static java.lang.Boolean isGridDone(Canvas canvas)
canvas
- canvas to testpublic static java.lang.Boolean isItemDone(FormItem item)
FormItem
. Otherwise, returns true or false according as
the conditions below are all satisfied: isCanvasDone()
(or isGridDone()
, etc., as appropriate) SelectItem
or
ComboBoxItem
) cannot have any pending row fetches FormItem
s must satisfy isItemDone()
themselves
Canvas
must satisfy isCanvasDone()
(or isGridDone()
, etc., as appropriate) item
- canvas to testpublic static boolean isSystemDone()
isGridDone()
isTileGridDone()
isTileLayoutDone()
isFormDone()
isCanvasDone()
options
parameter allows developers to check additional criteria as documented under
SystemDoneConfig
. Note: waitForSystemDone()
will poll this method repeatedly to check for all pending actions being complete. The SystemWaitConfig
parameter of that method allow the user to speciofy which actions to wait
for. By default waitForSystemDone()
will wait for all
actions to complete, including queued redraws, timers, network requests, as well as page load and comopnent level
isComponentDone
checks.
Depending on your application configuration, it is possible that this method will not be able to determine whether it is truly in a busy state. Some examples include:
SystemDoneConfig.includeTimers
is true and the application
has a constantly running background timer to perform some ongoing polling action or similar, this method may
return false
even though the application is ready for interaction SystemDoneConfig.includeRedraws
is true, and the
application is using messaging, or some other mechanism to periodically refresh component(s) such that they
are repeatedly marked as dirty, this method may return false
even though the application is ready for
interaction true
even when the application is waiting on a response from this third-party
tool. public static boolean isSystemDone(SystemDoneConfig options)
isSystemDone()
public static boolean isSystemDone(SystemDoneConfig options, java.lang.Boolean includeEdits)
isGridDone()
isTileGridDone()
isTileLayoutDone()
isFormDone()
isCanvasDone()
options
parameter allows developers to check additional criteria as documented under
SystemDoneConfig
. Note: waitForSystemDone()
will poll this method repeatedly to check for all pending actions being complete. The SystemWaitConfig
parameter of that method allow the user to speciofy which actions to wait
for. By default waitForSystemDone()
will wait for all
actions to complete, including queued redraws, timers, network requests, as well as page load and comopnent level
isComponentDone
checks.
Depending on your application configuration, it is possible that this method will not be able to determine whether it is truly in a busy state. Some examples include:
SystemDoneConfig.includeTimers
is true and the application
has a constantly running background timer to perform some ongoing polling action or similar, this method may
return false
even though the application is ready for interaction SystemDoneConfig.includeRedraws
is true, and the
application is using messaging, or some other mechanism to periodically refresh component(s) such that they
are repeatedly marked as dirty, this method may return false
even though the application is ready for
interaction true
even when the application is waiting on a response from this third-party
tool. options
- This parameter determines what specific outstanding actions are required to be completed before the system is
considered "done" with current processing. If passed as a boolean rather than a SystemDoneConfig object, this
determines whether the system should wait for pending redraws
.includeEdits
- whether to check for unsaved edits for ListGrids. Note the includeEdits parameter is deprecated and may be removed
in the future.public static java.lang.Boolean isTileGridDone(Canvas canvas)
isTileLayoutDone()
canvas
- TileGrid to testpublic static java.lang.Boolean isTileLayoutDone(Canvas canvas)
isCanvasDone()
canvas
- TileLayout to testpublic static Canvas locateCanvasFromDOMElement(com.google.gwt.dom.client.Element element)
element
- DOM element within in the pagepublic static void setTestRoot(Canvas canvas)
canvas
- the implicit rootpublic static void uninstallLocatorShortcut()
installLocatorShortcut()
public static void waitForElement(java.lang.String locator, java.lang.String callback)
By default
this method will wait for the system to be done
before calling
getElement()
with the specified locator. The waitStyle
attribute of the options parameter may be used to
instead wait for the locator to resolve to a clickable
element
.
locator
- locator for the element to retrieve.
See AutoTestLocator
callback
- callback to fire when the element has been retrieved - takes two parameters: Callback
public static void waitForElement(java.lang.String locator, java.lang.String callback, ElementWaitConfig options)
By default
this method will wait for the system to be done
before calling
getElement()
with the specified locator. The waitStyle
attribute of the options parameter may be used to
instead wait for the locator to resolve to a clickable
element
.
locator
- locator for the element to retrieve.
See AutoTestLocator
callback
- callback to fire when the element has been retrieved - takes two parameters: Callback
options
- Options to configure the waitpublic static void waitForSystemDone(java.lang.String callback)
isSystemDone()
returns true. By default this will wait for the following system actions to complete:
RPC and DataSource requests
queued redraws
isSystemDone()
The options
parameter gives developers
finer grained control over what to wait for.
public static void waitForSystemDone(java.lang.String callback, SystemWaitConfig options)
isSystemDone()
returns true. By default this will wait for the following system actions to complete:
RPC and DataSource requests
queued redraws
isSystemDone()
The options
parameter gives developers
finer grained control over what to wait for.
callback
- Action to fire. This will take a single parameter "done" which will be set to false if the method timed out waiting for
isSystemDone() to return true;.
See Callback
options
- options to configure the waitpublic static Canvas getTestRoot()
public static boolean isSystemDone(boolean includeRedraws)
SystemDoneConfig
alternate signature
with includeRedraws
passed as the member
com.isomorphic.smartgwt.client.utils.SystemDoneConfig#setIncludeRedraws(java.lang.Boolean)
.public static boolean isSystemDone(boolean includeRedraws, boolean includeEdits)
SystemDoneConfig
and a Boolean
.alternate signature
with includeRedraws
passed as the member
com.isomorphic.smartgwt.client.utils.SystemDoneConfig#setIncludeRedraws(Boolean)
.