Der Inhalt von Webseiten kann bedingt angezeigt werden. Einfach ausgedrückt, kann der Seiteninhalt basierend auf verschiedenen Faktoren wie Geolokalisierung, Benutzerrolle oder IP-Adresse dynamisch geändert werden. So kann z.B. ein Begrüßungsassistenten-Modal für neue Benutzer oder ein Textfeld mit unterschiedlichem Inhalt je nach Gebietsschema auf der Seite dargestellt werden. Um in diesem Fall DOM-Elemente zu überwachen, können Sie das aufgezeichnete Überwachungsskript mit Auswahlanweisungen anpassen.

Um ein dynamisches Skript zu erstellen, das basierend auf dem auf der Webseite angezeigten Webelement eine andere Aktion ausführt, fügen Sie dem Skript in der Desktop-Version des EveryStep Scripting Tools eine if-else-Anweisung hinzu.

Aktivieren Sie bei der Inlineskriptbearbeitung die Funktion Skript manuell bearbeiten lassen im Menü Erweiterte Einstellungen. Siehe auch EveryStep Scripting Tool: Klassen, Methoden, Eigenschaften, etc.

If-else-Anweisungsbeispiel

Delay ("6sec".ToDuration ());

if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]")){
tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]").Click ();
Delay ("3sec".ToDuration ());
if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click ();
Delay ("5sec".ToDuration ());
}
else if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]")) {
tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]").Click ();
Delay ("1sec".ToDuration ());
tab0.Element ("//INPUT[@ID=\"chkBalance\"]").Click ();
Delay ("1sec".ToDuration ());
tab0.Element ("//BUTTON[@ID=\"btnOk\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click ();
}
}