Ranorex (Rich Client)

Ranorex (Rich Client)

Ein funktionaler Test wird im Kontext eines Testfalls in aqua angewandt. Daher muss der Benutzer zuerst einen neuen Testfall anlegen. Indem man den Tab Automatisierung auswählt, wechselt der Schrittplaner zur Testautomatisierung. Erstellen Sie nun die notwendigen Testschritte im Schrittplaner. Ein automatisierter Test besteht wahrscheinlich aus mehreren Testschritten und kann eventuell mehrere Automatisierungsskripte beinhalten, welche in der Reihenfolge des Testschritt-Index ausgeführt werden. Testskripte, die zuvor erstellt wurden, können unter Nutzung der Skript-Bibliothek wiederverwendet werden. Zunächst ist ein einzelner Testschritt ausreichend. Wählen Sie Ihren Testschritt aus, indem Sie in den weißen Bereich der Spalte Automatisierung klicken. Um ein Ranorex-Testskript zu erstellen, klicken Sie auf Neues Skript und wählen dann Ranorex.
 
 
Eine Testskript-Vorlage wird nun erstellt und kann bearbeitet werden, indem Sie den Externen Editor - Ranorex Studio benutzen. Ranorex Studio, zum Beispiel, erlaubt es Ihnen eine neue Automatisierung zu erstellen, indem Sie Benutzerinteraktionen aufzeichnen.
 
 
 
HINWEIS: Wenn Sie bisher noch nicht mit dem Automatisierungstool gearbeitet haben, wird aqua darauf hinweisen, dass der Pfad zu Ranorex konfiguriert werden muss. Das entsprechende Menü wird Ihnen vom System gezeigt. In diesem Fall klicken Sie auf "Einstellungen öffnen". Dann wählen Sie den Pfad zur Ranorex-Anwendung aus.
 
Testfälle müssen gespeichert werden, bevor sie übertragen werden können. Wenn Sie den Testfall gespeichert haben, können Sie Ranorex mit einem Klick auf den "Weiter" Button öffnen.
 
 
Ein leeres Projekt wird in Ranorex geöffnet, indem Sie auf Externer Editor klicken. Testfälle können hier aufgezeichnet und bearbeitet werden. aqua ist in Wartestellung, bis der externe Editor geschlossen wird. Wenn die Automatisierung abgeschlossen und der Editor geschlossen ist, bietet aqua die Möglichkeit an, den neuen Testfall zu speichern. Nach dem Speichern des neuen Testfalls, wird er automatisch zur Datenbank hinzugefügt. Wenn Sie die Änderungen nicht annehmen wollen, speichern Sie den Testfall nicht.
 
Um automatisierte Tests auszuführen, muss der Testfall genauso wie bei manuellen Tests ausgeführt werden. Öffnen Sie den Testfall und klicken auf den Button Ausführen. Wenn dies ein automatisierter Test ist, und wenn Agenten im Netzwerk verfügbar sind, dann wird eine Auswahl von möglichen Testsystemen angezeigt.
 
 
Die Ergebnisse werden automatisch nach aqua übertragen und dann dem Benutzer angezeigt.
 
 Parametrisierung
Sie können Ihre Ranorex-Testfälle parametrisieren, indem Sie aqua Parameter benutzen. Dafür öffnen Sie den Variablenmanager und geben einige Variablen ein.
 
 
Öffnen Sie Ranorex und fügen eine neue Aktion hinzu, wie Sie im Folgenden sehen:
 
Nun können Sie Ihre Variable zur URL hinzufügen, indem Sie in der URL auf    klicken und As new variable.... auswählen. Ein Fenster wird geöffnet indem Sie den Variablennamen hinterlegen können. Dieser muss der Schreibweise des Variablennamens in aqua entsprechen (in unserem Fall "URL").
 
 
 Ihr Testfall ist nun parametrisiert. Das Ergebnis wird unten angezeigt.
 
 
Sie können ansonsten auch direkt über den Button "Variables" neue Variablen in Ranorex hinzufügen und dann innerhalb der Actions verwenden. Damit die Variablen durch die aqua Variablen ersetzt werden, muss die Benennung in beiden Tools immer gleich sein.
Genauso können auch Variablen in dem Ranorex Repository verwendet werden (z.B. um bestimmte Fenster zu öffnen oder Buttons auf einer Anwendung anzusteuern abhängig von den Variablen). Auch diese Variablen können durch aqua Variablen ersetzt werden, wenn die Benennung gleich ist.
 
Anbei ein Beispiel zur Verwendung von Variablen an unterschiedlichen Stellen:
 
 


Konfiguration des Agenten
Entpacken Sie RanorexAgent-*.zip und öffnen aquaAgentRanorexGui.exe.config.
 
Hier müssen Sie den Agenten Code und aquaServiceUrl setzen. Im Folgenden sehen Sie ein Beispiel:
 
<?xml version="1.0"?>
<configuration>
     <appSettings>
          <add key="agentCode" value="pvq6wrb70huknv47ji39"/>
          <add key="aquaServiceUrl" value="http://youraquaserver/aquaAPI/aquaagentwebservice.asmx"/>
          <add key="keepAliveSendingFrequencyMs" value="30000"/>
          <add key="compilerTimeoutMs" value="60000"/>
          <add key="tempDirectory" value="temp"/>
          <add key="ranorexVersion" value="7"/>
          <add key="proxyHost" value=""/>
          <add key="proxyPort" value=""/>
          <add key="proxyUsername" value=""/>
          <add key="proxyPassword" value=""/>
          <add key="maxGUILogEntries" value="30"/>
     </appSettings>
     <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>


Arbeiten mit Ranorex

Hier sind ein paar Best Practice Tipps, um mit Ranorex und aqua zu arbeiten. Diese Seite zeigt Ihnen, wie Sie ein Repository in mehreren Testfällen nutzen. Zunächst erstellen Sie einen neuen Testfall in aqua und fügen einen Testschritt mit einem Ranorex-Skript hinzu. Das Skript enthält das Repository.
 
 
Erstellen Sie einen Namespace, um das Repository zu identifizieren.
 
 
Öffnen Sie Ranorex als externen Editor und erstellen ein neues Repository in Ranorex.
 
 
Speichern Sie das Repository im Modul-Ordner.
 
 
Merken Sie sich den Ordner, in dem das Repository gespeichert wurde. Der Pfad sollte etwa so aussehen:
<Pfad>\aqua_Automation\TCxxxxxx\_001_CommonRepository\CommonRepository.rxrep.
Bewegen Sie die Maustaste über das Repository, um den Pfad zu sehen (siehe Screenshot).
 
 
Das Repository kann in einem anderen Testschritt benutzt werden, indem Sie Folgendes tun: Fügen Sie einen neuen Testschritt in aqua hinzu. Öffnen sie Ranorex mit dem Externen Editor Button. In Ranorex wählen Sie Von Festplatte öffnen, um das Repository auszuwählen, dass Sie zuvor erstellt haben.
 
 
Durchsuchen Sie den Pfad, in dem die Repository-Datei gespeichert wurde.
 
 
Nun wollen wir das Repository auch in einem anderen Testfall verwenden. Dazu fügen wir das Skript mit dem Repository zur aqua Skript-Bibliothek hinzu.
 
 
Nun erstellen wir einen neuen Testfall und öffnen die Skript-Bibliothek
(Bibliothek anzeigen). Dann ziehen Sie einfach das Skript in den weißen Bereich im Testfall.
 
 
Fügen Sie im neuen Testfall einen weiteren Schritt mit dem Ranorex-Skript ein und öffnen diesen Schritt in Ranorex. Benutzen Sie das Repository, indem Sie Von Festplatte öffnen auswählen und zum Ordner navigieren, indem das Repository liegt (Hinweis: Dies ist der Ordner mit dem ersten Testfall).
 
 
Ranorex wird Sie nach einer Referenz für das Repository fragen. Wählen Sie Repository mit dem Projekt verbinden. Das Repository wird nun von beiden Testfällen geteilt. Jede Änderung an dem Repository innerhalb dieses Testfalls wird in den anderen Testfall gespiegelt.
 
So kann ein Repository in all Ihren Testfällen benutzt werden, die das gleiche Testsystem verwenden.
 
Hinweis: Wenn mehr als ein Testfall, der auf das Repository verweist, in aqua geöffnet ist, wird es schreibgeschützt sein.

Troubleshooting

Fehler im Zusammenhang mit erhöhten Rechten

Das Ranorex Studio startet standardmäßig mit erhöhten Rechten. Wenn Sie aqua nicht mit Administratorrechten nutzen, kann dies zu unerwartetem Verhalten führen. Um dem entgegenzuwirken, öffnen Sie die Einstellung Ihres Ranorex Studios und deaktivieren Sie die folgende Option:
 

Fehler auf der Umgebung

Build started 12.04.2016 09:27:08.
Project "C:\Users\*\Desktop\aquaRanorexAgent-16.1.2.0\aquaRanorexAgent\temp\PEE42\aquaProject.csproj" on node 1 (Clean;Build target(s)).
C:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): error : The OutputPath property is not set for project 'aquaProject.csproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='BPC'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\*\Desktop\aquaRanorexAgent-16.1.2.0\aquaRanorexAgent\temp\PEE42\aquaProject.csproj]
Done Building Project "C:\Users\*\Desktop\aquaRanorexAgent-16.1.2.0\aquaRanorexAgent\temp\PEE42\aquaProject.csproj" (Clean;Build target(s)) -- FAILED.
 
Build FAILED.
 
"C:\Users\*\Desktop\aquaRanorexAgent-16.1.2.0\aquaRanorexAgent\temp\PEE42\aquaProject.csproj" (Clean;Build target) (1) ->
(_CheckForInvalidConfigurationAndPlatform target) ->
  C:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): error : The OutputPath property is not set for project 'aquaProject.csproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='BPC'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\*\Desktop\aquaRanorexAgent-16.1.2.0\aquaRanorexAgent\temp\PEE42\aquaProject.csproj]
 
Lösung
Löschen Sie die Systemumgebungsvariable BPC auf dem Windows OS, auf dem Ihr Agent läuft.

Externe Assembler referenzieren (.dll-Dateien)
Die csproj-Datei zur Bearbeitung und Ausführung der Testschritte wird jedes Mal gemäß der gegebenen Testschritte neu gebaut, um die Wiederverwendbarkeit der Testschritte durch aqua sicherzustellen (Stichwort: Skript-Bibliothek). Da mehrere Testschritte auf einmal bearbeitet werden, ist es schwierig herauszufinden, welcher Verweis zu welchem Testschritt gehört. Um dieses Problem zu lösen, fahren Sie bitte wie folgt fort:
 
1. Lokalisieren Sie den Assembler in Ihrem Dateisystem, der Pfad sieht etwa so aus:
C:\Programme (x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll)
 
2. Öffnen Sie den betroffenen Ranorex-Testfall in aqua
 
3. Kopieren Sie die .dll-Dateien in den Testschritt
 
 
4. Fügen Sie einen Verweis auf die lokale .dll-Datei im Testschritt hinzu, indem Sie den Durchsuchen... Button benutzen.
 
 
5. Speichern und schließen Sie das Ranorex Projekt
6. Speichern Sie den Testfall in aqua
 
Wenn Sie den Testfall in ALM speichern, wird der Verweis zum lokalen Assembler automatisch erkannt und der Assembler in aqua gespeichert.
 
Um solche Verweise zu vereinfachen, können Sie die sogenannten Utility-Skripte benutzen. Dies sind zusätzliche Skriptelemente, die zu Skripts hinzugefügt werden können. Dafür klicken Sie auf den Button Nutzung. Alternativ können Sie das Referenzskript im ersten Testschritt platzieren.
 
 
Das Hilfsskript für die Verweise kann mehr als einen Verweis beinhalten. Sie können folglich eine komplette Referenzbibliothek aufbauen, die mehrere Male referenziert wird. Sie müssen nicht mehrere Skripe für jeden Verweis erstellen oder verlinken.


Projekt migrieren

Diese Anleitung beschreibt das Vorgehen um mit Ranorex automatisierte Testfälle von einem aqua-Server auf einen anderen aqua-Server zu migrieren.
 
1.     Im Zielsystem die gleichen Skripte (gleicher Name und Namespace!) erstellen, die auch im Quellsystem vorhanden sind und für die Testfallerstellung benötigt werden.
2.     Beziehungen bzw. Abhängigkeiten zwischen den Skripten erstellen (Ansicht: Nutzung). Dies ist insbesondere sinnvoll, um das Repository und User-Code-Module wiederzuverwenden.
 
 
 
3.     Auf beiden aqua-Systemen einen Testfall erstellen, der alle Skripte enthält.
 
 
 
4.     Im Quellsystem über den Variablenmanager die Variablen der Original-Testfälle exportieren.
5.     Im Quellsystem externen Editor (Ranorex) öffnen und den Ordner öffnen, der die Solution enthält (Rechtsklick auf Solution -> Ordner öffnen).
6.     Diesen Ordner kopieren und in den Unterordnern, die die Skripte enthalten, jeweils die Datei Main.cs löschen.
 
 
7.     Im aqua-Zielsystem den unter Schritt 3 erstellten Testfall in Ranorex öffnen.
8.     Den Ordner, der die Solution enthält, öffnen und den in Schritt 6 kopierten Ordner (ohne Main.cs-Dateien!) hineinkopieren.
9.     Wenn die richtigen Recordings nicht gefunden wurden, über die Schaltfläche „Show all files“ diese anzeigen lassen und dem Projekt hinzufügen (Rechtsklick -> „include in Project“).
 
 
10.     In den Main.cs-Dateien müssen dann noch folgende zwei Zeilen so angepasst werden, dass das richtige Recording statt des MainRecordings aufgerufen wird (gelb markiert).
 
 
11.     Das Projekt in Ranorex kompilieren, Ranorex schließen und den Testfall in aqua speichern.
12.     Die einzelnen Testfälle mit Hilfe der Skripte im Zielsystem neu erstellen und die (in Schritt 4 exportierten) Variablen über den Variablenmanager importieren.

    • Related Articles

    • Web Client vs Rich Client

      Funktionalität Konkretisierung WebClient Rich Client Homescreen x x Konfigurierbar bei OnPremise x Benutzerverwaltung x x Rollen x x Anlage x x Projektzuweisung x x Nutzungsstatistik x x SAML 2.0 x Projektkonfiguration x x Felder x x Workflow x x ...
    • Rich Client

      Systemanforderungen – aqua Rich Client   Die minimalen Software und Hardwareanforderungen sind: Intel Core Duo 2x2Ghz, AMD Duo Core Prozessor 2x2Ghz oder mehr 4 GB RAM oder mehr 1 GB freier Festplattenspeicher Windows 10, Windows 8.1, Windows 8, ...
    • Projektkonfiguration importieren (Rich Client)

      Projektkonfigurationen können auch exportiert und in anderen Projekten wieder importiert werden. Dadurch werden alle Konfigurationen der Felder, Workflows, Benachrichtigungsvorlagen, Feldregeln etc. übernommen. Projektübergreifende Informationen, wie ...
    • Schrittplaner (Rich Client)

      Der Schrittplaner erlaubt es Ihnen, Schritte und Bedingungen zu erstellen, um einen manuellen Testschritt zu erstellen und diesen mit automatisierten Tests zu erweitern. Eine Standard Testbedingung und ein Testschritt sind verfügbar. Bedingungen ...
    • Jenkins Integration (Rich Client)

      Für Interaktionen zwischen aqua und Jenkins, dem bekannten OpenSource-Tool für Continous Integration, hat andagon ein Plugin entwickelt, dass auf Jenkins installiert werden kann und dass es Ihnen erlaubt, Jenkins Jobs von aqua anzusteuern und ...