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:
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.
Name der Eigenschaft |
Datentyp |
Control-Typ |
---|---|---|
ClassName |
Zeichenfolge |
Alle Html Elemente |
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.
Symbol |
Control-Typ |
Fachliche Eigenschaft |
Standardverhalten |
---|---|---|---|
|
Titel |
Eingabeoperation: kein Standardverhalten Lesende Operation: |
|
|
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)
Fachliche Eigenschaft |
Beschreibung |
---|---|
Label |
Gibt die technische Eigenschaft InnerText oder Value zurück. |
Selected |
Schreibend: Lesend: |
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 & 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 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 & 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 |
|
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 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 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 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.