HTML I Control identification

The following standard HTML controls can be identified by Tosca Wizard:

HTML items in the default setting

Symbol

HTML item

Objectmap item

<INPUT type=text ...>

HTMLEditBox

<INPUT type=password ... >

HTMLEditBox

<INPUT type=number ... >

HTMLEditBox

<TEXTAREA ...>

HTMLEditBox

<BUTTON ...>

HMTLButton

<INPUT type=button ..>

HTMLButton

<INPUT type=submit ...>

HTMLButton

<A ...>

HTMLLink

<onclick=...>

HTMLClickElement

<INPUT type=image ..>

HTMLImageLink

<INPUT type=checkbox ..>

HTMLCheckbox

<INPUT type=radio ..>

HTMLRadiobutton

<INPUT type=hidden ..>

HTMLHiddenField

<TABLE ...>

HTMLTable

HTML TableRep

<SELECT ...>

HTMLComboBox

If the setting Option->Scanning->Scan all items is activated via the main menu of Tosca Wizard, all additional elements are attributed to the HTMLGenericObject type. These HTMLGenericObjects can be steered via the HTML Type. The HTML Type is displayed as value of the parameter Steering in the ObjectMap.

Scan ValueRanges

When controls are scanned, the Tosca Wizard automatically detects the predefined ValueRanges, which are then transferred to the corresponding ObjectMaps.

Technical identification

Every element receives a technical ID and a logical ID. The technical identification is carried out as described in the table below. The numbers next to the properties indicate the sequence of identification and usage.

Control properties, which are used for the technical identification, are specified with a delimiter (see chapter "Settings - String Comparison"). This applies to the identifying features Url, ID, Name, Tooltip, Value, Text, ScreenRect and ClassName.

If an item has an ID, it is used as the preferred means of identification. If no ID is set, the name is used and so on.

The least ideal identifiers are ObjectIndex, ScreenRect and SourceIndex, as they tend to be very unstable.

Wildcards

Wildcards can be used in the TechnicalID of controls only if they are combined with LeftMatch.

Name=Edit* instead of Name=Editbox1

Name=*ditb* is not possible

If several controls have the same Technical ID, an AttributeIndex can be specified.

Syntax:

ID=<Value>;Index=<Number>

The following properties can solely be selected individually as Technical IDs, but not in combination with other properties: Caption, Url, CurrentWindow, Header, ObjectIndex and ScreenRect.

Control type

Technical ID

HTMLEditBox

HTMLCheckBox

HTMLRadioButton

HTMLComboBox

HTMLGenericElement

1

ID

 

2

Name

 

3

ToolTip

alt property of the control

4

TechValue

There are HTML elements that have a property .Value. In this case there is the possibility to use the property .TechValue for the technical identification of the control. This property accesses explicitly the technical property .Value of the respective HTML element.

5

ClassName

 

6

ObjectIndex

simple counter how often this object type has already occurred

7

SourceIndex

Counter for all HTMLElements of an HTML website

8

ScreenRect

screen position of the control

 

HTMLLink

1

ID

 

2

Name

 

3

ToolTip

 

4

Text

innerText property of the link, corresponds to the displayed text

5

ClassName

 

6

ObjectIndex

 

7

SourceIndex

 

8

ScreenRect

 

 

HTMLImageLink

1

ID

 

2

Name

 

3

ToolTip

 

4

scr

 

5

ClassName

name of the displayed image file without path

6

ObjectIndex

 

7

SourceIndex

 

8

ScreenRect

 

 

HTMLButton

1

ID

 

2

Name

 

3

ToolTip

 

4

HTMLCHILD[<idx>].id

Buttons are container objects, i.e. that IDs can also be found at the child objects. The index indicates at which object the ID was found.

This property and the following ones are only displayed, when a content was actually found.

5

HTMLCHILD[<idx>].name

 

6

TechValue

There are HTML elements that have a property .Value. In this case there is the possibility to use the property .TechValue for the technical identification of the control. This property accesses explicitly the technical property .Value of the respective HTML element.

7

Text

 

8

ClassName

 

9

ObjectIndex

 

 

10

SourceIndex

 

 

HTMLTable

HTML TableRep

1

ID

 

2

Name

 

3

Tooltip

 

4

HTMLCELL[<IDX>].id

As for buttons, when the table does not have an own ID, all fields are searched for it.

5

ClassName

 

6

ObjectIndex

 

7

SourceIndex

 

8

ScreenRect

 

If the option Scan Region is applied during scanning, no indexes can be used as technical identification (ObjectIndex, AttibuteIndex).

Dynamic control identification with the RelativeID

Controls, which have dynamic, technical properties, can be identified via a relative ID. In this case, identification criteria are copied from one control (source control) to another - for instance, a Label of an EditBox is copied to the Editbox.

Editbox with label

Procedure

  • A screen is scanned using Tosca Wizard.

  • The control, whose identification criteria should be copied, is selected.

  • The selected control is dragged from the list view on the left to the attribute window of the control to be identified.

If this procedure was successful, the parameter RelativeId is created for the target control and the value is copied to the TechnicalID field.

Parameter RelativeID

Modules which have a RelativeID and have been scanned with a certain version of Microsoft® Windows Internet Explorer, should be executed with the same version. In addition, the browser window must be of the same state like at the time of the execution.
RelativeIDs cannot be used if documents reference to documents in other domains by using frames.

Logical identification

To determine a possible logical name, a similar process as for the determination of the technical identification (see chapter "Technical identification") is used. The following table describes the individual steps in detail.

In HTML it is possible to assign a label to an item. This attribution is performed with the FOR property in the <LABEL> item. The FOR property refers to the ID property of the assigned control.

If such an attribution was performed, the text of the label serves as logical name.

If no labels can be assigned, the logical name of the controls is determined as follows:

Logical names

Control type

Logical/Business-referred name

HTMLTable

HTML TableRep

If the table was identified with methods other than ObjectIndex, the suggested table name is the technical name without underscore.

For instance, if the table is identified as Name=table_GetDataOfVehicle the suggested logical name is TableGetDataOfVehicle

HTMLLink

First, the engine tries to find a text (innerText). If no text is found, the content of the tooltip is used (alt). If the tooltip has no value, the tooltip of the first child object is used (which is usually an image with an alternative text).

HTMLImageLink

The content of the tooltip is used (alt). If the tooltip has no value, the tooltip of the first child object is used (which is usually an image with an alternative text).

HTMLRadioButtons

DOM enables searching for adjacent text of a control.

The text is usually located on the right of the radio button. This means that the search starts to the right of the radio button.

In HTML, tables are often used as layout assistance. The algorithm searches in adjacent fields to the left and right for text (innerText) that can be used as logical name.

HTMLEditBox

HTMLComboBox

HTMLCheckBox

HTMLTree

A multi-stage process takes also place here:

First, the property Title is searched for content. Then the search for text continues to the left and after that to the right of the item. Then the adjacent table cells are searched for text.

If nothing was found, the property Name is used.

MainWindow

The property Title is suggested as logical name.

HTMLButton

HTMLGenericElement

The property innerText is analyzed first. If the content is neither empty nor an HTML text, it is used.

Otherwise the properties alt and Value are analyzed one after another.

If no logical name can be found however, the control is marked red in Tosca Wizard.

The logical name needs to be assigned manually for the control which should be included in the ObjectMap.