SmartIDs - general syntax

The various SmartID features can be combined with each other. The following is the general syntax for combining SmartID features. Square brackets mark optional elements, while uppercase text signifies a placeholder:

#[%][noscope:][ENGINE:][CLASS:][VALUE][<INDEX>]

A SmartID consists of the following parts in the following order:

  1. # always indicates the beginning of a SmartID.
  2. % (optional) can mark VALUE as a regular expression (see Regular expressions).
  3. noscope: (optional) can be used to indicate that the SmartID also applies outside of the current Scope.
  4. ENGINE: (optional) specifies the UI engine to which the SmartID applies to. This is only needed if QF-Test is connected to multiple applications using different UI technologies at the same time. Valid values are: awt:, fx:, swt:, web:, and win:, whereby letter casing does not matter.
  5. CLASS: (optional) specifies the generic class or class of the component (see chapter 60), for example Label:, CheckBox:ComboBoxListItemCheckBox: or CheckBox\:MyCheckBox:.
  6. VALUE (optional if CLASS is given) specifies the value the component must match, e.g. a label or name or the value of another criterium specified by MATCH.
  7. <INDEX> (optional) specifies a numerical index, starting at 0.

Examples:

  • #Button:OK
  • #TextField:Postal code<1>
  • #TextField:name=address<2>
  • #Postal code<1>
  • #noscope:SWT:Label:Postal code<1>