if picture exists
Name | Description | Type | Modifier |
---|---|---|---|
picture | Identifying name of a regular or shared picture check, a collection of one or more baseline images to be used for comparison with the AUT display. | String | None |
window | (Optional) TA name of the window. | Interface Entity | None |
control | (Optional) TA name of the control. | Interface Element | None |
rect | (Optional) Specifies the dimensions of a rectangular area which, in combination with the active UI element (as determined by the window and control arguments), defines the active area. Scanning for thebaseline image or object is then limited to this active area (see
below). Values specifying the location of the rect area are relative to the active UI element.
| String | None |
index | (Optional) Specifies a minimum number of instances of the baseline image that must be discovered within the active area for the picture to be considered as found. Default Value: 1 | String | None |
Example - Case 1: The window and control arguments are specified
picture window control rect index
if picture exists /login button login login
 
value expected
check value 1 1
 
else
 
value expected
check value 0 1
 
end if
 
text
report PASS IS EXPTECTED
Example - Case 2: The rect argument is specified
picture window control rect index
if picture exists /login button login login 1,1,100,100
 
value expected
check value 1 1
 
else
 
value expected
check value 0 1
 
end if
 
text
report PASS IS EXPTECTED
Example - Case 3: The index argument is specified
picture window control rect index
if picture exists /piggy explorer home piggy explorer 3
 
result description
report check passed PASS is expected
 
else
 
result description
report check failed FAIL is expected
 
end if
- Built-in UI actions applied to iOS devices specify screen coordinates in points rather than pixels (For further details, refer to the built-in action get screen resolution).
- As a convenience when editing, you may drag the appropriate picture check node from the Picture Checks folder (in the TestArchitect explorer tree) into this action's picture argument.
- By default this built-in action applies a pixel-by-pixel image comparison technique. To switch to a keypoint detection image comparison, refer to picture algorithm and Key Points Modification tool for details.
- Note that if the referenced picture check holds multiple baseline images, each one is tested against the AUT bitmap until (and if) a match is found. Only a single "hit" is required for a match to be considered found.
- This action is applied to that part of the captured bitmap identified as the active area, with the remainder of the image ignored. The active area is determined by the combination of the window, control and rect arguments.
To begin with, window and control determine the active UI element, which can be a control, window, or the full screen, as follows:
With the active UI element established, the rect argument then (optionally) specifies a rectangular active area relative to the active UI element (If no rect argument is specified, the active UI element itself is the active area).window argument control argument active UI element is… omitted omitted entire screen (i.e., entire captured test image) specified omitted entire application window specified specified specified control - rect argument:
-
The above figure illustrates the active area that applies when both the window and control arguments have been specified (establishing a picture control as the active UI element), and the values for rect are such that it covers both a portion of the active UI element as well as an area outside of it. In such a case, the active area is the area of overlap between the UI element and the rect area.
Any of the four sub-arguments of rect may be omitted, but all values must maintain their comma-delimited places to ensure correct assignment (For example, setting rect to, , 100, 50
specifies an active area of width=100, height=50, whose top-left corner coincides with that of the active UI element). - In most cases, the rect area, if specified, defines a sectional area whose borders reside within the active UI element, so that the rect area itself is the active area. But that is not necessarily the case. The following three images illustrate the general case for how the active area is determined when the rect area is specified.
The general rule for determining the active area is as follows:rect area: resulting active area: not specified the active UI element overlaps the active UI element the intersection space (Cases 1 & 2 above) no overlap with active UI element the active UI element (Case 3 above)
-
The above figure illustrates the active area that applies when both the window and control arguments have been specified (establishing a picture control as the active UI element), and the values for rect are such that it covers both a portion of the active UI element as well as an area outside of it. In such a case, the active area is the area of overlap between the UI element and the rect area.
- This action supports the <ignore> modifier.
If the string
<ignore>
is present as the value of any of the arguments, or any argument contains an expression that evaluates to<ignore>
, the action is skipped during execution.