Beginning in OpenEdge 10.1A, the WIDGET-ID attribute is available on all ABL widgets for the purpose of identifying each widget to automated test tools at run time.
The value of the WIDGET-ID attribute must be an even INTEGER value between 2 and 65534 inclusive, and it must be unique across all widget IDs in a window. The widget ID value of any given widget remains the same across ABL sessions, unless the value of the attribute is purposely changed in code. This allows a third-party automated test tool to identify the same widget consistently each time the tool run the tool with a given application.
To enable application-defined widget IDs in an ABL GUI application, specify the Use Widget ID (-usewidgetid) startup parameter. If -usewidgetid is not specified, the AVM ignores any WIDGET-ID attribute settings and generates its own widget IDs. In this case, querying the WIDGET-ID attribute returns the Unknown value (?).
To make use of the WIDGET-ID attribute, third-party automated test tools must be aware of the concept of a widget ID and provide some means of indicating to the tool that the WIDGET-ID attribute is the unique identifier for the widget. Many test tools have this capability, but some do not; newer tools are more likely to be able to make use of a widget ID.