These commands are generally for interrogating engines about the Windows and Components they can find. These are not normally used during testing. (But they can be used during testing like any other command record.)
For example, these commands are heavily used by STAFProcessContainer during test design time.
Each engine command has different parameters as described in its documentation. For reference, the first fields of ALL Engine Command test records are defined below:
Field #1 -- "E" = ENGINE COMMAND record type specifier.
Field #2 -- The Engine Command keyword.
Example:
E, GetTopLevelWindows
Engine Command parameters must be placed in the test record in the field position specified in the documentation. Some parameters are optional. However, the field associated with that parameter must be honored. If you wish to skip an optional parameter you must still provide an empty field for that parameter.
Example:
E, SomeCommand, Value1, Value2, , , Value5
The above example shows two optional fields after Value2 which are given no value(skipped).
Engine commands that return a value do so in the SAFS/Hook/statusinfo variable of SAFSVARS which is populated via TestRecordData.statusinfo.
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference. ^TCAFS.UID.Count = [Number of UID References created last] ^TCAFS.UID.1 = [First UID Reference created] ^TCAFS.UID.n = [UID Reference number n]
The TestRecordData.statuscode is set to NO_SCRIPT_FAILURE if the engine supports and processes the command. This is true even if the command results in an empty, missing, or null return value.
SCRIPT_NOT_EXECUTED should be returned in TestRecordData.statuscode if the engine does not support the command.
Note that the full availablility of all Engine Commands may be spread across several files. Together, all of these files define all the Engine Commands available to the core framework.
ClearHighlightedDialog |
|
Clean the highlight rectangle. | |
ClearReferenceCache |
|
Clear the Object reference cache used in a remote engine. | |
GetAccessibleName |
|
Get the AccessibleName of the component, if any. | |
GetCaption |
|
Get the Caption of a component, if any. | |
GetChildCount |
|
Get the number of children, if any, for the provided container component. | |
GetChildren |
|
Get references to the children, if any, for the provided container component. | |
GetClassIndex |
|
Get the ClassIndex of the component, if any. | |
GetClassname |
|
Get the Classname of a component. | |
GetCurrentWindow |
|
Return a reference to the top-most active (Window) with focus. | |
GetId |
|
Get the ID of a component, if any. | |
GetMatchingChildKeysAtPoint |
|
According to screen location, find the test object at that point and return all matching keys in cache. | |
GetMatchingChildObjects |
|
Retrieve an array of child objects that match a recognition string. | |
GetMatchingParentObject |
|
Get a reference to the toplevel Window\Parent that matches the recognition string provided. | |
GetName |
|
Get the Name (AccessibleName or Name) of the component, if any. The AccessibleName shall be found first and returned, if any. | |
GetNonAccessibleName |
|
Get the non-AccessibleName (Name except for AccessibleName) of the component, if any. | |
GetProperty |
|
Get the value of a specific property from a component. | |
GetPropertyNames |
|
Get the names of all available properties for a component. | |
GetSuperClassnames |
|
Get the hierarchy of superclasses for the component. | |
GetText |
|
Get the (text) value of a component, if any. | |
GetTopLevelCount |
|
Get the number of visible top-level items (Windows?) for the engine. | |
GetTopLevelWindows |
|
Return references to all known top-level items (Windows). | |
HighlightMatchingChildObjectByKey |
|
Find the component according to Window/Component Test Object's key and highlight it. | |
IsEnabled |
|
Is the component Enabled (vs. disabled)? | |
IsShowing |
|
Is the component visible? | |
IsTopLevelPopupContainer |
|
Is the component a top-level Popup Container? | |
IsValid |
|
Does the component still exist as a valid object? | |
SetActiveWindow |
|
Make the component the active (topmost?) Window or Component. |
DRD:DEV |
DRD:DEV |
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
Example return string: ",Child1Ref,Child2Ref,Child3Ref"
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference. ^TCAFS.UID.Count = [Number of UID References created last] ^TCAFS.UID.1 = [First UID Reference created]
Example 1: "Ref1" Example 2: ""
Example 2 shows no top-level item was visible to the engine.
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
DRD:DEV |
Returns a character delimited string of child references. The first character in the returned string defines the delimiter used to separate the items.
Currently, the engine command processors only support returning the first child matching the recognition string.
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
For details on Recognition strings see: Gui Object Recognition;
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
Example return string: ",Property1,Property2,property3,Property4"
DRD:DEV |
If there is no superclass or hierarchy the engine will return a delimited list of one value--the component's classname. (Ex: ",Html.BUTTON")
When a superclass hierarchy does exist the first value after the delimiter
is the component's classname. Each delimited value after that goes one higher
in the hierarchy until the topmost superclass has been processed.
(Ex: ",CustomButton,java.awt.Button,java.awt.Component,java.lang.Object")
If the component itself has no classname and no hierarchy (unusual!) then the engine should simply return an empty, 0-length string.
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
Example 1: ",CustomButton,java.awt.Button,java.awt.Component,java.lang.Object"
Example 2: ",Html.BUTTON"
Example 3: ""
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo]
DRD:DEV |
The engine's array of objects will be returned as a delimited list of fields. The first character in the String will identify the separator used between each reference. If no top level windows were found then the engine will return an empty string.
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.UID.Count = [Number of UID References created last] ^TCAFS.UID.1 = [First UID Reference created] ^TCAFS.UID.n = [UID Reference number n]
Example 1: ",Ref1,Ref2,Ref3" Example 2: ""
The first character in Example 1 (a comma in this case) signifies that the list of references will be separated by commas. The references then follow.
Example 2 shows no top-level items are visible to the engine.
DRD:DEV |
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
DRD:DEV |
The Android Engine also persists these values as SAFS variables.
^DroidEngine.Command = [command] ^DroidEngine.StatusCode = [statuscode string] ^DroidEngine.StatusInfo = [statusinfo]
See DEngineCommandProcessor.setStatusVars().
The TestComplete Engine (TCAFS) also persists these values as SAFS variables.
^TCAFS.Command = [command] ^TCAFS.StatusCode = [statuscode string] ^TCAFS.StatusInfo = [statusinfo] ^TCAFS.FullName = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.