Selenium Connector
Verwendung
Der Selenium Connector verbindet das Test-Framework Selenium mit der Testumgebung der INUBIT-Software.
Er wird verwendet, um automatisierte Testfälle bzw. Test-Suiten webbasierter Benutzeroberflächen und Web-Applikationen, die mit dem Selenium-Framework erstellt wurden, aus dem Workflow heraus zu steuern.
Der Konnektor kann eingesetzt werden, um z.B. Portalfunktionen des INUBIT Enterprise Portals zu testen.
Benutzereigene Erweiterungen mit der Möglichkeit, eigene Test-Kommandos zu definieren und in der user-extensions.js zu hinterlegen, werden nicht unterstützt.
Der Selenium Connector ist nur mit den Versionen 1.x des Selenium-Servers kompatibel. Die Version 2 des Selenium-Servers wird nicht unterstützt. |
Konnektortypen
Ein Selenium Connector kann als Medium oder Output Connector verwendet werden:
-
Medium Connector
Sendet XML-Testdaten an den Selenium Remote Control-Server und erhält Log-Daten vom Selenium-Server zurück, die an das folgende Modul im Workflow übergeben werden. -
Output Connector
Sendet XML-Testdaten an den Selenium Remote Control-Server und erhält Log-Daten vom Selenium-Server zurück, die an eine Zielapplikation weitergegeben werden.
Voraussetzungen
-
Die komplette Selenium-Testumgebung muss installiert sein.
-
Ein Selenium Remote Control-Server muss installiert sein.
-
Ein Web-Browser muss installiert sein.
Informationen über Selenium finden Sie unter folgenden Links:
-
Selenium download, siehe: https://www.selenium.dev/downloads/
-
Selenium Documentation, siehe: https://www.selenium.dev/documentation/
Funktionsprinzip
Der Selenium Connector verbindet sich mit dem Selenium Remote Control-Server, um einen auf lokalen oder entfernten Rechnern installierten Web-Browser zu steuern. Der Server startet, stoppt den Browser und fungiert für den Browser als HTTP Proxy.
Eingangsnachricht
Der Selenium Connector erwartet eine XML-Eingangsnachricht, die z.B. folgendermaßen aussieht:
<?xml version="1.0" encoding="UTF-8"?>
<script>
<base-url>https://www.google.de</base-url>
<suite>
<command>
<action>setSpeed</action>
<target>500</target>
<value />
</command>
<command>
<action>open</action>
<target>/</target>
<value />
</command>
<command>
<action>type</action>
<target>q</target>
<value>inubit</value>
</command>
<command>
<action>clickAndWait</action>
<target>btnG</target>
<value />
</command>
</suite>
</script>
In der Eingangsnachricht muss die base-url
der zu testenden Applikation angegeben werden: diese URL muss gesetzt werden, um Pfadangaben relativ zu machen, denn so können Tests auch unabhängig vom Ort der Applikation ausgeführt werden.
Für eine korrekte Ausführung müssen die Domains im base-url
-Element und im open
-Element identisch sein.
Siehe Fehlerbehandlung.
Templates für Eingabe- und Ausgangsnachrichten finden Sie im Repository unter Global > System > Mapping Templates > Selenium Connector
|
Verarbeitung
Die Eingangsnachricht übergibt der Selenium Connector dem Selenium Server. Dieser führt die Test-Befehle aus und übergibt dem Connector die Zusammenfassung der Test-Resultate. Diese Log-Daten gibt der Selenium Connector als Ausgangsnachricht aus.
Ausgangsnachricht
<result>
<suite>
<command display="setSpeed(500)" duration="31">OK</command>
<command display="open(/)" duration="813">OK</command>
<command display="type(q)" duration="500">OK</command>
<command display="clickAndWait(btnG)" duration="1062">OK</command>
</suite>
<lastlogs>
<lastlog>
<![CDATA[13:24:42.413 INFO [10] org.mortbay.util.Container - Startet ...]]>
</lastlog>
[...]
</lastlogs>
</result>
Fehlerbehandlung
Fehler | Ursache | Lösung |
---|---|---|
You appear to be changing domains from http://XXX to http://ZZZ |
Wenn keine Basis-URL angegeben ist, benutzt die INUBIT-Software die Vorauswahl des RC-Servers.
Manche Browser werten den Wechsel von der Vorauswahl zu der URL, die im Element
|
Geben Sie die Basis-URL in der Eingangsnachricht im Element
Danach muss das |
Connection refused: connect |
Der Remote Control-Server läuft nicht oder die angegebene ServerPort-Adresse ist falsch. |
Prüfen Sie die Verfügbarkeit des Selenium RC-Servers, indem Sie im Dialog auf den Verbindungstest-Button klicken. Der Server läuft, wenn Sie als Rückgabe Verbindungstest war erfolgreich erhalten und auf dem Rechner, auf dem der RC Server installiert ist, eine Firefox-Instanz geöffnet wird. |
Zum Problem der Basis-URL und des Cross-site-Scriptings siehe https://en.wikipedia.org/wiki/Same_origin_policy und siehe https://en.wikipedia.org/wiki/Cross-site_scripting.
Dialog Selenium Connector Eigenschaften
In diesem Dialog geben Sie die Zugangsdaten für den Selenium Remote Control-Server an und konfigurieren Einstellungen für die Verbindung mit dem Server.
Selenium Remote Control-Server
-
Server
Adresse des angesprochenen Selenium Remote Control-Servers. -
Port
Der Selenium Remote Control-Server verwendet Port 4444. -
Browser
Zu startender Browser inklusive *.
Für eine Übersicht über die von Selenium unterstützten Browser siehe https://www.selenium.dev/documentation/webdriver/browsers/. -
Timeout (ms)
Ausführungszeit in Millisekunden. Nach Ablauf der angegebenen Zeitdauer wird der Test abgebrochen. Standardwert: 30.000 ms. Falls hier kein Wert eingegeben ist, fällt der Konnektor automatisch auf den Standardwert zurück.Ein sehr lange ablaufender Test wird durch die hier gesetzte Timeout-Beschränkung vorzeitig unterbrochen. -
Screenshot im Fehlerfall erzeugen
Wenn markiert, dann wird im Fehlerfall ein Screenshot in Form einer base64-kodierten png-Datei alserror-
screenshot
-Element in die XML-Ausgangsnachricht geschrieben.Sie können z.B. über ein Decoder Modul als nachfolgendes Modul im Workflow die base64-kodierte Screenshot-Datei in ein Binärformat überführen und über einen Output File Connector an eine Zielapplikation übergeben.
Verbindungstest
-
Verbindung testen
Zum Testen, ob die Verbindung mit Ihren Angaben erfolgreich aufgebaut werden kann.