XBrowser Controls steuern

In diesem Kapitel werden spezielle Anforderungen an die Steuerung mit der XBrowser Engine 3.0 behandelt. Allgemeine Informationen zu Steuerungsmöglichkeiten für einzelne Controls finden Sie hier: siehe Kapitel "Control-Typen".

Konfigurationsparameter DisableGetElementById

Dieser Parameter stellt sicher, dass Controls mit gleicher ID gefunden werden können. Der Parameter wird automatisch beim Aufzeichnen eines Moduls angelegt, wenn zwei oder mehr Controls des Testobjektes dieselbe ID besitzen. Der Parameter wird bei jedem Modulattribut angelegt, mit Ausnahme des ersten Modulattributs. Er wird für jedes Modulattribut mit Ausnahme des ersten erstellt. Der Standardwert ist True.

HTML-Elemente mit XPath identifizieren

Sie können HTML-Elemente mithilfe eines XPath-Ausdrucks und des Identifikationsparameters XPath identifizieren. Der Parameter ist im XScan-Fenster unter Identify by Properties im Rasterabschnitt Transition verfügbar.

Zur Verwendung von XPath für die Identifikation, aktivieren Sie die Einstellung Enable XPath Identification unter Settings->Tbox->Engines->XBrowser.

Weitere Informationen zum Thema XPath finden Sie hier.

Den XPath-Parameter zur Identifizierung im Tosca XScan verwenden

Steuerungsparameter FireEvent

Sie können jedem in diesem Kapitel erwähnten Control-Typen den Steuerungsparameter FireEvent hinzufügen. Dazu müssen Sie den Event-Handler im Feld Value ohne das Präfix on angeben. Geben Sie beispielsweise anstelle von onclick den Wert click an. Beachten Sie, dass alle Bezeichnungen zwischen Groß- und Kleinschreibung unterscheiden.

Das Auslösen eines Ereignisses erfolgt immer nach einer Aktion Input mit der Standard-Operation des fachlichen Controls.

Um mehrere Events hinzuzufügen, trennen Sie sie durch Semikolons, z. B. change;blur.

Die Verfügbarkeit der Events ist abhängig von der Implementierung des Controls. Nähere Informationen zu HTML-Ereignissen finden Sie auf der folgenden Seite: HTML Event Attributes.

Auslösen des FireEvent change nach dem Auswählen eines ComboBox-Eintrages

Steuerungsparameter FireEventMethodIE

Für Applikationen, die mit dem Internet Explorer (nicht mehr unterstützt) geöffnet werden und die Microsoft-spezifische Methode AttachEvent verwenden, müssen Sie zusätzlich zum Parameter FireEvent den Steuerungsparameter FireEventMethodIE angeben.

Für den Parameter FireEventMethodIE können Sie folgende Werte angeben:

Mögliche Werte für Parameter FireEventMethodIE

Wert

Beschreibung

None

Wenn Sie keinen Wert angeben, wird das DispatchEvent ausgelöst. Wenn kein DispatchEvent verfügbar ist, wird FireEvent ausgelöst.

FireEvent

Löst FireEvents aus.

DispatchEvent

Löst DispatchEvent aus.

FireEvent+DispatchEvent

Löst FireEvent aus, gefolgt von DispatchEvent.

DispatchEvent+FireEvent

Löst DispatchEvent aus, gefolgt von FireEvent.

Steuerungsparameter FireEventMethodIE

Parameter FocusOnActivate steuern

Sie können den Steuerungsparameter FocusOnActivate auf der Modulebene für das Steuern von Microsoft Edge Version 44 oder älter einstellen. Der Parameter funktioniert nicht, wenn Sie Microsoft Edge Version 79 oder höher verwenden. Verwenden Sie diesen Parameter wenn die aktuell geladene Seite in Microsoft Edge fokussiert werden soll, nachdem das Browserfenster aktiviert wird. Wenn beispielsweise ein Control in der Browser-Symbolleiste fokussiert ist, können Sie mit FocusOnActivate verhindern, dass die benutzersimulierte Tastatur ausfällt.

Alternativ können Sie FocusOnActivate auch als Testkonfigurationsparameter definieren.

Steuerungsparameter SyncStateInteractive

Standardmäßig wird die XBrowser Engine 3.0 auf einer Webseite nur ausgeführt, wenn ihr Ladestatus (document.readyState) abgeschlossen ist. Sie können angeben, dass die XBrowser Engine 3.0 auch auf einer Webseite ausgeführt werden soll, deren Ladestatus interaktiv ist. Geben Sie dazu den Steuerungsparameter SyncStateInteractive an und setzen Sie seinen Wert auf false.

Beachten Sie, dass der Steuerungsparameter SyncStateInteractive nur mit dem Internet Explorer (nicht mehr unterstützt) funktioniert.

Alternativ können Sie SyncStateInteractive als Testkonfigurationsparameter definieren.

Steuerungsparameter IgnoreAriaControls

Geben Sie an, ob Tosca ARIA-Elemente während der Ausführung ignorieren soll. Wir empfehlen Ihnen, diese Einstellung auf True zu setzen, wenn Sie Probleme mit der Kompatibilität und den XBrowser-Customisierungen haben.

Tosca kann diesen Steuerungsparameter automatisch mit der Einstellung IgnoreAriaControls zu neuen Modulen hinzufügen.

Beachten Sie, dass bei allen Module, die vor Tricentis Tosca 16.0 erstellt wurden, dieser Steuerungsparameter auf True gesetzt ist. Dadurch werden Kompatibilitätsprobleme direkt nach einem Versionswechsel vermieden.

Alternativ können Sie IgnoreAriaControls als Testkonfigurationsparameter definieren.

Fachliche Eigenschaft IsSteerable

Die technische Eigenschaft IsSteerable prüft, ob das Control steuerbar ist, wenn in den einzelnen Controls nichts anderes angegeben ist.

Technisch gesehen wird überprüft, ob die Eigenschaft CurrentStyle.Display einen anderen Wert als none und die Eigenschaft CurrentStyle.Visibility einen anderen Wert als hidden gesetzt hat.

HTML-Elemente mit CSS-Style-Eigenschaften identifizieren

Sie können HTML-Elemente anhand von CSS-Style-Eigenschaften identifizieren. Style-Eigenschaften beginnen mit style_.

Um die Style-Eigenschaften eines Controls zu laden, wählen Sie das Control im Tosca XScan aus, klicken Sie auf die Schaltfläche More und wählen Sie Load all.

Control anhand von Style-Eigenschaften identifizieren

Sie können auch die Überprüfung von CSS-Style-Eigenschaften, WaitOn und Buffern verwenden.

Eingabe-Controls mit speziell formatierten Daten steuern

Um einige HTML-Elemente mit input-Tag zu steuern, benötigen Sie speziell formatierte Daten. Das erwartete Format ist unabhängig von den Datenformaten, die Sie unter Settings definieren.

Die folgende Tabelle listet die HTML-Elemente mit input-Tag auf, für die Sie speziell formatierte Daten benötigen.

Wert des Attributs type

Datentyp

Erwartetes Format*

Beispiel

date

Zeichenfolge

yyyy-MM-dd

2012-03-20

time

Zeichenfolge

HH:mm oder HH:mm:ss oder HH:mm:ss.SSS

20:15 oder 20:15:03

datetime-local

Zeichenfolge

yyyy-MM-ddTHH:mm

2012-03-20T20:15

month

Zeichenfolge

yyyy-MM

2012-03

week

Zeichenfolge

yyyy-Www

2013-W04

color

Zeichenfolge

#<hexadezimaler Farbcode>

#45AE3B

range

Zeichenfolge

Beliebige Zahl.

Verwenden Sie ein Dezimaltrennzeichen, das mit der Lokalisierung Ihres Rechners übereinstimmt.

3 oder 3,14 oder 31,4E-1

* Zur Angabe von Datum und Uhrzeit verwendet diese Spalte die Standardnotation des Tosca Commander.

Wenn Sie zeitbezogene Controls (date, time, datetime-local, month oder week) mit einem leeren Wert steuern, löscht der Tosca Commander den Wert des HTML-Elements.

Ausgeblendete Eingabefelder aufzeichnen

Sie können ein input-Element aufzeichnen und überprüfen, bei dem das Attribut type auf hidden eingestellt ist. Stellen Sie dazu sicher, dass die Einstellung Settings->TBox->Engines->Ignore invisible HTML elements auf False gesetzt ist. Sie können den Inhalt von ausgeblendeten Eingabeelementen nicht ändern.

Technische Klick-Operationen ohne Verwendung der Maus

Mit dem Testschrittwert {CLICK} können Sie auf jedem HTML-Control Linksklick-Operationen ausführen. Dadurch wird das System angewiesen, eine tatsächliche Linksklick-Operation mit der Maus durchzuführen.

Sie können das System anweisen, technische Linksklick-Operationen ohne Verwendung der Maus durchzuführen. Dies ist stabiler als {CLICK}, verbessert die Testleistung und ermöglicht es Ihnen, Klick-Operationen durchzuführen, selbst wenn der Rechner gesperrt ist.

Sie können technische Linksklick-Operationen auf eine der folgenden Arten durchführen:

  • Führen Sie technische Linksklick-Operationen auf Schaltflächen, RadioButtons und Container mit dem Testschrittwert X aus. Dieser weist das System an, zu überprüfen, ob das Control aktiviert ist, und einen Linksklick ohne Verwendung der Maus auszuführen.

  • Führen Sie technische Linksklick-Operationen auf jedem HTML-Control mit dem Testschrittwert {Invoke[Click]} aus. Dieser weist das System an, einen Linksklick ohne Verwendung der Maus auszuführen, aber er überprüft nicht, ob das Control aktiviert ist.

Technische Eigenschaft (Technical Property)

In der folgenden Tabelle sind alle technischen Eigenschaften der XBrowser Engine angeführt. In der Spalte Control-Typ ist angeführt, für welche Control-Typen die Eigenschaft zur Verfügung steht. Sie können diese Eigenschaften in Testschrittwerten in der Spalte Value verwenden.

Technische Eigenschaft (Technical Property)

Name der Eigenschaft

Datentyp

Control-Typ

ClassName

Zeichenfolge

Alle Html Elemente

Id

Zeichenfolge

Alle Html Elemente

InnerHtml

Zeichenfolge

Alle Html Elemente

InnerText

Zeichenfolge

Alle Html Elemente

OuterHtml

Zeichenfolge

Alle Html Elemente

OuterText

Zeichenfolge

Alle Html Elemente

Tag

Zeichenfolge

Alle Html Elemente

Titel

Zeichenfolge

Alle Html Elemente

Href

Zeichenfolge

Anchor Element

Disabled

Boolean

Button Element

Wert

Zeichenfolge

Button Element

ColSpan

Numeric

Table Cell (TH, TD)

RowSpan

Numeric

Table Cell (TH, TD)

Titel

Zeichenfolge

Html Document

Url

Zeichenfolge

Html Document

ReadyState

Zeichenfolge

Html Document

Src

Zeichenfolge

(I)Frame Element

Bezeichnung

Zeichenfolge

(I)Frame Element

Src

Zeichenfolge

Image (Img) Element

Alt

Zeichenfolge

Image (Img) Element

Checked

Boolean

Alle Input Elemente

Disabled

Boolean

Alle Input Elemente

Bezeichnung

Zeichenfolge

Alle Input Elemente

Type

Zeichenfolge

Alle Input Elemente

Wert

Zeichenfolge

Alle Input Elemente

ReadOnly

Boolean

Alle Input Elemente

Selected

Boolean

ListItem (Option Element)

Wert

Zeichenfolge

ListItem (Option Element)

Multiple

Boolean

ComboBox, ListBox (Select Element)

Bezeichnung

Zeichenfolge

ComboBox, ListBox (Select Element)

Disabled

Boolean

ComboBox, ListBox (Select Element)

SelectedIndex

Numeric

ComboBox, ListBox (Select Element)

Size

Numeric

ComboBox, ListBox (Select Element)

ReadOnly

Boolean

Textarea Element

Disabled

Boolean

Textarea Element

Wert

Zeichenfolge

Textarea Element

Bezeichnung

Zeichenfolge

Textarea Element

Cols

Numeric

Textarea Element

RowSpan

Numeric

Textarea Element

DefaultValue

Zeichenfolge

Textarea Element

Benutzerdefinierte Eigenschaften

Benutzerdefinierte Eigenschaften können nach dem Aufzeichnen mit XScan im Fenster Properties geladen werden. Der Name der Eigenschaft in Tosca TBox setzt sich aus dem ursprünglichen Namen der benutzerdefinierten Eigenschaft und dem Präfix attributes_ zusammen. Zum Beispiel attributes_<Name>.

Sie können benutzerdefinierte Eigenschaften, die aus dem XScan-Fenster geladen werden, für Überprüfungsvorgänge in der Spalte Value von Testschrittwerten verwenden.

Spezifische Control-Typen der XBrowser Engine

Die folgenden Control-Typen sind Html-spezifisch. Das Standardverhalten ist relevant, wenn keine Eigenschaft in der Spalte Wert eingetragen ist.

Html-spezifische Repräsentationstypen

Symbol

Control-Typ

Fachliche Eigenschaft

Standardverhalten

HtmlDocument

Titel

Eingabeoperation: kein Standardverhalten

Lesende Operation:
Eigenschaft Title

HtmlFrame

None

None

CheckBox

Das Control CheckBox wird identifiziert, wenn der Tag INPUT vorhanden ist und das Attribut Type den Wert checkbox besitzt.

Technische Eigenschaft (Technical Property)

Technische Eigenschaft (Technical Property)

Fachliche Eigenschaft

Beschreibung

Label

Gibt die technische Eigenschaft InnerText oder Value zurück.

Selected

Schreibend:
Setzt die technische Eigenschaft Checked auf den gewünschten Wert und führt die angegebenen FireEvents durch.

Lesend:
Gibt den Wert der technischen Eigenschaft Checked zurück.

IsSteerable

Führt die standardmäßige Überprüfung durch. Zusätzlich wird überprüft, ob für das HtmlElement die technischen Eigenschaften Disabled und ReadOnly den Wert false besitzen.

Beispiel

<input type="checkbox" id="checkBox1" value="checkBox1Value" onclick="javascript:testControlClick(event, this, 'onclick-Event on type=checkbox &amp; id=checkBox1'>

ComboBox

Das Control ComboBox wird identifiziert, wenn der Tag SELECT vorhanden ist und das Attribut Multiple den Wert false besitzt. Das Attribut Size darf nicht größer als 1 sein.

Technische Eigenschaft (Technical Property)

Fachliche Eigenschaften

Fachliche Eigenschaft

Beschreibung

IsSteerable

Gibt die technische Eigenschaft Disabled negiert zurück.

Beispiel

<select name="select" id="select1" size="1" onchange="javascript:testControlClick(event, this, 'onchange-Event on type=select &amp; id=select1');">
  <option id="c0">Alpha</option>
  <option id="c1">Bravo</option>
  <option id="c2">Charlie</option>
  <option id="c3">Delta</option>
  <option id="c4">Echo</option>
</select>

Container

Das Control Container wird identifiziert, wenn einer der folgenden Tags vorhanden ist:

Tag

DIV

SPAN

FIELDSET

Beispiel

<div />

GenericGUI

Das Control GenericGUI repräsentiert fachlich nicht erkannte Controls. Das Control GenericGUI wird identifiziert, wenn einer der folgenden Tags vorhanden ist:

Tag

Tag

Tag

A

FRAME

Q

ABBR

H1

RP

ADDRESS

H2

RT

AREA

H3

RUBY

ARTICLE

H4

S

ASIDE

H5

SAMP

AUDIO

H6

SCRIPT

B

HEAD

SUCHEN

BASE

HEADER

SECTION

BDI

HGROUP

SELECT

BDO

HTML

SMALL

BLOCKQUOTE

HR

SOURCE

BODY

I

SPAN

BR

IFRAME

STRONG

BUTTON

IMAGE

STYLE

CANVAS

INPUT

SUB

CAPTION

INS

ZUSAMMENFASSUNG

CENTER

KBD

SUP

CITE

KEYGEN

SVG

CODE

LABEL

TABELLE

COL

LEGEND

TBODY

COLGROUP

LI

TD

COMMAND

LINK

TEL

DATA

MAP

TEXT

DATALIST

MARK

TEXTAREA

DD

MATH

TFOOT

ENTF

MENU

TH

DETAILS

META

THEAD

DFN

METER

TIME

DIV

NAV

TITLE

DL

NOSCRIPT

TR

DT

OBJECT

TRACK

EM

OL

U

EMAIL

OPTION

UL

EMBED

OUTPUT

URL

FIELDSET

P

VAR

FIGCAPTION

PARAM

VIDEO

FIGURE

PASSWORT

WBR

FOOTER

PRE

 

FORM

PROGRESS

 

HtmlDocument

Das Control HtmlDocument beschreibt ein HTML-Dokument, das sich innerhalb des Controls HtmlFrames befindet.

Technische Eigenschaft (Technical Property)

Fachliche Eigenschaften

Fachliche Eigenschaft

Beschreibung

Titel

Gibt die technische Eigenschaft Title zurück.

HtmlFrame

Das Control HtmlFrame kann Controls vom Typ HtmlDocument als Kinder besitzen. Das Control HtmlFrame wird identifiziert, wenn eines der folgenden Tags vorhanden ist:

Tag

FRAME

IFRAME

Beachten Sie bei der Verwendung von HtmlFrames-Controls, dass diese zu Kontextänderungen führen.

Beispiel

<frame name="normal" src="abc.html"/>
<iframe name="inner" src="abc.html"/>

Wenn Sie Chrome als Browser verwenden, können Sie den folgenden Parameter angeben, damit Cookies für lokale Webseiten gespeichert werden:

--enable-file-cookies

Bei Chrome 34 oder einer älteren Version, kann es zu Problemen kommen, wenn Frames verwendet werden, die eine andere Seite referenzieren. Dieses Problem kann behoben werden, indem Chrome mit dem folgenden Start-Parameter gestartet wird:

--disable-web-security

Image

Das Control Image wird identifiziert, wenn der Tag IMG vorhanden ist.

Technische Eigenschaft (Technical Property)

Fachliche Eigenschaften

Fachliche Eigenschaft

Beschreibung

Picture

Gibt den Pfad zu dem entsprechenden Bild an (technische Eigenschaft src).

Beispiel

<img alt="ABC" src="abc.png"/>

Number

Das Control Number wird identifiziert, wenn der Tag INPUT vorhanden ist und das Attribut Type den Wert number besitzt.

Beispiel

<input type="number" name="quantity" min="1" max="5">

PushButton

Das Control PushButton wird identifiziert, wenn einer der folgenden Tags vorhanden ist:

Tag

BUTTON

INPUT

*Vorausgesetzt, dass das Attribut Type den Wert submit, reset, button oder image hat.

Technische Eigenschaft (Technical Property)

Fachliche Eigenschaften

Fachliche Eigenschaft

Beschreibung

Label

Gibt die technische Eigenschaft InnerText (bei BUTTON) oder Value (bei INPUT) zurück.

Fachliche Aktion Push

Die fachliche Aktion Push führt einen DOM-Klick aus und führt dann die angegebenen FireEvents aus.

Beispiel

<button id="button1" onclick="javascript:testControlClick(event, this, 'clicked on element=button');">Button</button>

ShadowDOM

ShadowDOMs werden wie HtmlFrames gesteuert und im offenen und geschlossenen Modus in Google Chrome, Microsoft Edge Chromium und Mozilla Firefox unterstützt. Wenn Sie auf einer Webseite die ShadowDomUnlocker-Einspeisung deaktiviert haben, werden ShadowDOMs nur im offenen Modus unterstützt.

Table

Das Control Table wird identifiziert, wenn das Tag TABLE vorhanden ist.

Steuerungsparameter HeaderTable

Standardmäßig geben die technischen Eigenschaften HeaderRow und HeaderColumn einen Header an, der eine Zeile oder eine Spalte desselben Tabellen-Controls ist. Um einen Header anzugeben, der stattdessen zu einer anderen Tabelle gehört, fügen Sie Ihrer Tabelle den Steuerungsparameter HeaderTable hinzu. Fügen Sie anschließend die UniqueId der alternativen Tabelle in das Feld Value ein.

Beachten Sie Folgendes, wenn Sie einen Header angeben, der sich in einer anderen Tabelle befindet:

  • Das Tabellen-Control, auf dessen UniqueId Sie verweisen, muss die Aktion Select verwenden.

  • Sie können den Steuerungsparameter HeaderTable nicht mit den technischen Eigenschaften HeaderRow, HeaderColumn, RowCount, ColumnCount, ColumnNumber, RowNumber, RawColumnNumber oder RawRowNumber verwenden. Sie müssen diese technischen Eigenschaften löschen, wenn Sie den Steuerungsparameter HeaderTable zu Ihrem Tabellen-Control hinzufügen.

  • Wenn Sie Module importieren, generiert Tricentis Tosca eine andere UniqueId, wenn bereits ein identisches Control im Arbeitsbereich vorhanden ist. In diesem Fall müssen Sie den Steuerungsparameter HeaderTable entsprechend anpassen.