Extra features

The table 'Extra features' stores various information useful for the recognition of the component. In the chapter about 'Extra features' you will find a list of the default entries. But you can also add your own via an ExtraFeatureResolver (see subsection 53.1.11).

Some of the additional features are recorded preventatively and are not usually used for component recognition. This mostly concerns information about the component class, which QF-Test uses to derive the Generic classes. By default, they have the status "Ignore". This can be changed if the original value is of interest in special cases.

Among the 'Extra features', the qfs:label* variants are interesting for recognition.

qfs:label* variants

For component recognition labels are very important. There are a number of different types such as the text of the component itself, for example with a button. Or a label component programmatically assigned to another component using labelFor for example. Then there are label components close the component, a tooltip or even an icon description.

Up to QF-Test version 6 the best label is saved in the extra feature qfs:label.

7.0+ From QF-Test version 7.0 all labels identified for a certain component will be stored in the extra features, starting with qfs:label and a string showing the type, for example qfs:labelText for the text of a button or qfs:labelLeft for the label left of a text field. The advantage of the specific qfs:label* types is replay performance on the one hand, because QF-Test can search directly for the specific label, and flexibility on the other hand.

Note When you want to use the new algorithm for the extra feature qfs:label on existing component nodes please change the name to qfs:labelBest, telling QF-Test to look for the best of the available labels. You will find more information about the transition in the chapter The ExtraFeatureResolver Interface.

The following table shows the available positional labels:

qfs:labelTopleftqfs:labelTop-
qfs:labelLeftthe componentqfs:labelRight
-qfs:labelBottom-
Table 5.2:  

The following list shows the available qfs:label* types and the qualifier to be used when you want the address the component directly via SmartID. Descriptions are below the list.

The entries in the column "Category" correspond to the terms used in the section "qfs:label" in Generic classes.

qfs:label variantSmartID qualifierCategory
qfs:labelText#text=Own text
qfs:labelFor#for=Associated label
qfs:labelLeft#left=Label close to it
qfs:labelTop#top=Label close to it
qfs:labelTopleft#topleft=Label close to it
qfs:labelRight#right=Label close to it
qfs:labelBottom#bottom=Label close to it
qfs:labelInherited#inherited=Label close to it
qfs:labelTooltip#tooltip=Tooltip
qfs:labelImage#image=Description of icon
qfs:labelTitle#title=Title
qfs:labelPlaceholder#placeholder=Prompt
Table 5.3:  qfs:label* variants
qfs:labelText
The text of the component itself.
qfs:labelFor
Text of a label assinged to the component in the code. For example via labelFor with web applications.
qfs:labelLeft
The text of a 'Label' component to the left of the component.
qfs:labelTop
The text of a 'Label' component above the component.
qfs:labelTopleft
The text of a 'Label' component top left of the component.
qfs:labelRight
The text of a 'Label' component to the right of the component.
qfs:labelBottom
The text of a 'Label' component beneath the component.
qfs:labelInherited
The text of a 'Label' component for a different component. Example: "Street: Main road 11", street name and number are split into separate TextFields. The field for street number here receives "qfs:labelInherited" with the value "Street:".
qfs:labelTooltip
The tooltip of the component itself.
qfs:labelImage
The name of the icon belonging to the component.
qfs:labelTitle
The title of the component, for example of a Window or a titled panel of the component class "Panel:titledPanel".
qfs:labelPlaceholder
Only web applications. The placeholder showing when no text has been entered by the user.

The influence of the extra feature qfs:label* variant representing Best label on the 'QF-Test component ID' is described in Generating the component 'QF-Test ID'.

For information about switching from the old to the new algorithm please refer to The ExtraFeatureResolver Interface.

Best label

When analyzing a component QF-Test looks for different types of labels which might be used for the component. The labels found will be saved in the 'Extra features' table, the names starting with qfs:label (see table 5.3). The one with the best ranking (best label) will get the status "Should match", the others "Ignore". The order of the entries in above table rouhly represents the ranking for most component classes. The exact order can be found in the section "qfs:label*" of the properties of the Generic classes. Distance and overlapping also have an influence of the ranking with qfs:label* variants of the category "Label close to it".

The value of the label ranking highest will additionally be stored as an extra feature with the name qfs:labelBest and the state "Ignore". In a SmartID this extra feature can be referenced by the qualifier qlabel. See also SmartID syntax for 'Extra features'.

qfs:text

qfs:text contains the text of the component itself. For text fields or PDF components, this is an additional information which could not be used for component recognition without an additional resolver up until QF-Test version 5.3.

value

Web For certain HTML elements like checkboxes and radio buttons, value will contain the value of the HTML attribute of the same name, as long as it is distinct. The value attribute does not reflect the currently selected value or even the selection state of the element, but the static value which would be transferred if the element is selected.