GUI Connection Management: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 39: Zeile 39:


= Common UI Bausteine =
= Common UI Bausteine =
Es gibt Bausteine, die theoretisch mit jeder Technologie verwendet werden können, möglicherweise werden aber nicht alle Funktionen unterstützt. Diese finden Sie in der Common GUI Library. Diese verwenden einen eigenen Test-Runner, der sämtliche Verbindungen kennt. Für diesen werden folgende Umgebungsvariablen verwendet:
Es gibt Bausteine, die theoretisch mit jeder Technologie verwendet werden können. Diese finden Sie in der Common GUI Library. Diese verwenden einen eigenen Test-Runner, der sämtliche Verbindungen kennt. Für diesen werden folgende Umgebungsvariablen verwendet:
{| class="wikitable"
{| class="wikitable"
|-
|-
Zeile 49: Zeile 49:


== Vorsicht bei parallelen Verbindungen ==
== Vorsicht bei parallelen Verbindungen ==
Wenn Ihr Test nur eine Verbindung verwendet, macht es keinen Unterschied, ob sie Common UI Bausteine oder Bausteine aus der Technologie-Bibliothek verwendet. Bei mehreren Verbindungen müssen Sie aber aufpassen! Dadurch, dass an den Common UI Bausteinen nicht bekannt ist, welche Technologie verwendet werden soll, müssen Sie auch beim parallelen Verwenden zweier verschiedener Technologien darauf achten, dass die richtige Verbindung gesetzt ist. Wenn Sie Technologie-Bausteine verwenden, haben Sie hier keine Probleme, da für die verschiedenen Technologien verschiedene Test-Runner und Umgebungsvariablen verwendet werden.
Wenn Ihr Test nur eine Verbindung verwendet, macht es keinen Unterschied, ob sie Common UI Bausteine oder Bausteine aus der Technologie-Bibliothek verwendet. Bei mehreren Verbindungen müssen Sie aber aufpassen! Dadurch, dass den Common UI Bausteinen nicht bekannt ist, welche Technologie verwendet werden soll, müssen Sie beim parallelen Verwenden zweier verschiedener Technologien darauf achten, dass die richtige Verbindung gesetzt ist. Wenn Sie Technologie-Bausteine verwenden, haben Sie hier keine Probleme, da für die verschiedenen Technologien verschiedene Test-Runner und Umgebungsvariablen verwendet werden.

Version vom 23. Dezember 2022, 08:43 Uhr

Einführung[Bearbeiten]

Die Bausteine einer Bibliothek für eine GUI-Technologie funktionieren in der Regel, ohne dass die zu verwendende Verbindung angegeben werden muss. Stattdessen wird eine vorhandene Verbindung verwendet. Innerhalb des Ablaufs eines Testplans können aber mehrere Verbindungen verwendet werden. Diese Seite erklärt Ihnen, wie man festlegen kann, wann welche Verbindung verwendet werden soll.

Expecco verwendet ein zweistufiges System um festzustellen, welche Verbindung verwendet werden soll. Zum einen gibt es die Variablenumgebung des Bausteins, der ausgeführt wird. Dort kann eingetragen sein, welche Verbindung genutzt werden soll. Dies wird in der Regel automatisch beim Verbindungsaufbau gemacht und kann über entsprechende Bausteine geändert werden. Diese Möglichkeit greift also üblicherweise innerhalb von Testläufen, bei denen der Verbindungsaufbau integriert ist. Gibt es keine Informationen in der Variablenumgebung, wird die zuletzt ausgewählte Verbindung verwendet. Das lässt sich über den GUI-Browser steuern und wird zum Beispiel verwendet, wenn einzelne Bausteine ausgeführt werden.

Variablenumgebung[Bearbeiten]

Besonders wenn mehrere Verbindungen gleichzeitig verwendet werden, kann über die Variablenumgebung festgelegt werden, welche Verbindung verwendet werden soll. Jede Technologie hat einen fest definierten Namen, unter dem ein sogenannter Test-Runner in der Umgebung abgelegt wird, und einen Namen, unter dem der Name der aktuellen Verbindung abgelegt wird. Der Test-Runner hat eine Zuordnung von Verbindungsnamen zur jeweils tatsächlichen Verbindung.

Für jede verwendete Technologie wird bei Bedarf ein entsprechender Test-Runner erzeugt und in der Variablenumgebung abgelegt, um wieder auf ihn zurückgreifen zu können. Beim Verbindungsaufbau über einen entsprechenden Baustein, wird in diesem Test-Runner dann die Verbindung mit ihrem Namen angegeben.

Um die aktive Verbindung festzulegen, gibt es in den Bibliotheken Baustein, die Set Current Connection, Set Connection Scope oder ähnlich heißen. Hierbei wird der Name der Verbindung in die Variablenumgebung geschrieben. Ein normaler Aktionsbaustein wird nun den Namen der aktiven Verbindung und den Test-Runner für die Technologie, zu der er gehört, auslesen und weiß so, welche Verbindung verwendet werden soll. Steht dazu keine Information in der Variablenumgebung, wird stattdessen die letzte Verbindung verwendet, die im GUI-Browser ausgewählt wurde. Das Abbauen einer Verbindung über deren Namen geschieht ebenfalls über die Zuordnung des Test-Runners.

Die Namen der Umgebungsvariablen für die jeweiligen Technologien sind:

Technologie Variable für den Test-Runner Variable für die aktive Verbindung
Mobile Testing MOBILE_TESTING_TEST_RUNNER CURRENT_MOBILE_TESTING_CONNECTION
Java SWING_TEST_RUNNER CURRENT_SWING_CONNECTION
Selenium WebDriver SELENIUM_TEST_RUNNER CURRENT_SELENIUM_CONNECTION
WindowsAutomation2 WINDOWS_AUTOMATION_CONNECTION_MANAGER CURRENT_WINDOWS_AUTOMATION_CONNECTION

Diese Variablen werden automatisch in der Ausführungsumgebung angelegt, gelten also für eine gesamte Ausführung, sind aber auch wieder weg, nachdem die Ausführung beendet wurde. Sie können aber auch eine Variable mit einem solchen Namen in der Umgebung eines Testplans oder Bausteins anlegen. In diesem Fall wird diese dann verwendet. Damit wird es einfacher, in einer Ausführung auf zwei Verbindungen parallel zu arbeiten.

Beispiel 1: Auf zwei Verbindungen soll derselbe Ablauf parallel ausgeführt werden
Legen Sie in zwei Bausteinen jeweils die Umgebungsvariable für die aktive Verbindung an. Setzen Sie dann in den Bausteinen jeweils eine andere aktive Verbindung und führen Sie dann darin den Baustein mit dem gewünschten Ablauf aus. Beide Bausteine können nun parallel ausgeführt werden und verwenden dabei ihre eigene Verbindung.
Beispiel 2: Derselbe Test soll mehrmals parallel ausgeführt werden
Wenn die Benennung der Verbindungen bereits in dem Teil liegt, der parallel ausgeführt werden soll, können stattdessen auch mehrere Test-Runner verwendet werden. Legen Sie dazu im Test die Umgebungsvariable für den Test-Runner an. Wird der Test nun parallel ausgeführt, verwendet jeder seine eigene Instanz des Test-Runners und es gibt keinen Konflikt bei Gleichheit der Verbindungsnamen.

GUI-Browser[Bearbeiten]

Beim Erstellen oder Bearbeiten von Testsuiten ist der GUI-Browser sehr hilfreich. Mit diesem können neue Verbindungen erstellt werden, hier werden alle aktiven Verbindungen angezeigt und es können Testsequenzen erstellt oder bearbeitet werden, zum Beispiel über den jeweiligen Recorder der entsprechenden Technologie.

Im GUI-Browser lassen sich einzelne Bausteine ausführen. Dabei wird diejenige Verbindung verwendet, die auf der linken Seite ausgewählt ist. Generell wird durch Selektion einer offenen Verbindung im GUI-Browser diese als aktuelle Verbindung festgelegt. Sie wird dann verwendet, wenn in der Umgebung eines ausgeführten Bausteins keine anderen Informationen stehe.

Common UI Bausteine[Bearbeiten]

Es gibt Bausteine, die theoretisch mit jeder Technologie verwendet werden können. Diese finden Sie in der Common GUI Library. Diese verwenden einen eigenen Test-Runner, der sämtliche Verbindungen kennt. Für diesen werden folgende Umgebungsvariablen verwendet:

Variable für den Test-Runner Variable für die aktive Verbindung
Master TestRunner MASTER_TEST_RUNNER CURRENT_MASTER_CONNECTION

Ab expecco 22.2 wird auch immer die aktuelle Verbindung des Master-Test-Runners gesetzt, wenn über einen Technologie-Baustein die aktuelle Verbindung geändert wird. Gleiches gilt für das Auswählen einer Verbindung im GUI-Browser.

Vorsicht bei parallelen Verbindungen[Bearbeiten]

Wenn Ihr Test nur eine Verbindung verwendet, macht es keinen Unterschied, ob sie Common UI Bausteine oder Bausteine aus der Technologie-Bibliothek verwendet. Bei mehreren Verbindungen müssen Sie aber aufpassen! Dadurch, dass den Common UI Bausteinen nicht bekannt ist, welche Technologie verwendet werden soll, müssen Sie beim parallelen Verwenden zweier verschiedener Technologien darauf achten, dass die richtige Verbindung gesetzt ist. Wenn Sie Technologie-Bausteine verwenden, haben Sie hier keine Probleme, da für die verschiedenen Technologien verschiedene Test-Runner und Umgebungsvariablen verwendet werden.



Copyright © 2014-2024 eXept Software AG