Mit Klick auf den Play-Button laden Sie ein Video von unserem externen Anbieter YouTube. Datenschutzerklärung

Skripting in QF-Test (Grundlagen)

Hier sehen Sie die Grundlagen zu Skripting in QF-Test: Das SUT Skript und das Server Skript.

Weitere Informationen

Transkript

Herzlich willkommen zu diesem Video über die Möglichkeiten von QF-Test. Heute gebe ich Ihnen eine Übersicht über die Verwendung von Skripten in QF-Test.

Neben den Aktionsknoten wie Mausklicks oder Checks und den Ablaufsteuerungsknoten wie Schleifen oder If-Knoten bietet QF-Test auch die Möglichkeit, beliebige Code-Schnipsel, implementiert in verschiedenen Skriptsprachen, in den Testlauf einzubinden.

Mit solchen Skripten kann die Funktionalität von QF-Test enorm erweitert werden.

Um nun ein solches Skript einzufügen, wähle ich im Menü Einfügen > Ablaufsteuerung und dann entweder Server-Skript oder SUT-Skript aus.

Ein SUT-Skript kann im Gegensatz zu einem Server-Skript direkt mit der zu testenden Anwendung interagieren und daher auch Eigenschaften von grafischen Objekten zur Laufzeit ermitteln.

Ein Server-Skript sollte hingegen für Aktionen, die unabhängig von der grafischen Oberfläche sind, verwendet werden, wie z.B. Datenbank- oder Dateioperationen.

Ich füge jetzt meiner Suite ein SUT-Skript hinzu.

Es stehen mir mehrere Skriptsprache für die Implementierung zur Verfügung. In der aktuellen Version von QF-Test sind dies Jython, Groovy und JavaScript.

Ein einfaches Beispiel für ein SUT-Skript ist, die Zeilen einer Tabelle zu zählen und diese Zeilenanzahl danach in das QF-Test Protokoll zu schreiben.

Dieses Skript implementieren wir nun in der Skriptsprache Groovy.

[Folgendes Skript wird implementiert und gezeigt]

def table = rc.getComponent("table")
def rows = table.getElementsByClassName("TR")
def rowcount = rows.size()
rc.logMessage("Table has " + rowcount  + " rows.")

In Zeile 1 des Skripts wird die Tabelle aus der Testanwendung geholt und in der Variable tablegespeichert.

In Zeile 2 werden nun die Tabellenzeilen in eine Liste geholt und in Zeile 3 in der Variable rowcount gespeichert.

Zeile 4 schreibt schlussendlich diese Zeilenanzahl in das QF-Test Protokoll.

Um Eigenschaften von Web-Komponenten auszulesen bietet QF-Test eine eigene DOM-API an, welche im Handbuch dokumentiert ist und eben einfache Methoden zum Zugriff auf DOM-Eigenschaften und HTML-Elemente bietet.

Dieser Ansatz funktioniert für jede unterstützte Technologie, nur sind die Methodennamen gegebenenfalls anders, weil diese technologieabhängig sind. Sie finden Hinweise dazu in der jeweiligen Dokumentation zu ermitteln.

Für Anwendungen mit Java Swing z.B. kann hier direkt auf die entsprechenden Swing-Methoden zugegriffen werden.

[Das Skript wird ausgeführt und das Protokoll geöffnet]

Wenn ich das Skript nun ausführe, wird die Anzahl der Tabellenzeilen ins QF-Test Protokoll geschrieben, was wir auch jetzt entsprechend sehen.

Nochmal zurück zum Skript.

Sie sehen in Zeile 1 und 4, dass dort eine Variable rc verwendet wird.

Diese steht für den QF-Test Runcontext und bietet Ihnen Möglichkeiten um mit Qf-Test Methoden in Skripten zu interagieren. In unserem Fall geht es darum, eine grafische Komponente zu ermitteln – unsere Tabelle – und eine Nachricht in das QF-Test Protokoll zu schreiben.

Außerdem ist es über den Runcontext möglich, eigene Fehlermeldungen ins Protokoll zu schreiben oder ganze Checks auszuführen.

Der Skripteditor bietet für rc auch eine Autovervollständigung an, welche Sie mit Strg-Leertaste öffnen können. Nun sehen Sie alle unterstützten Methoden und die dazugehörige Dokumentation.

[Beispiel Server-Skript wird gezeigt]

Ein typischer Anwendungsfall für ein Server-Skript ist es, eine Nachricht oder einen Variableninhalt in eine Datei zu schreiben. So ein Server-Skript sehen Sie hier, nun in der Skriptsprache Jython.

In Zeile X wird hier wieder auf den QF-Test Runcontext zugegriffen und der Inhalt einer Variable ermittelt, welche zuvor irgendwo im Testlauf gesetzt wurde.

Skripte in QF-Test ermöglichen es Ihnen also, Ihre Tests mit beliebiger Logik zu erweitern und einige komplexe Aufgaben zu vereinfachen.

Allerdings ist mit Skripten in QF-Test noch viel mehr möglich.

Skripten erlauben es Ihnen sogenannte „Resolver“ zu entwickeln, die die Komponentenerkennung von QF-Test für Ihre Anwendung optimieren.

Oder Sie können mit einem „TestRunListener“ zusätzliche Logik in die Testausführung einfügen.

Darüber hinaus bietet QF-Test noch viele weitere Skript-Schnittstellen, über die Sie in unserem ausführlichen Handbuch mehr erfahren.


Jetzt haben Sie die wichtigsten Grundlagen über die Unterstützung für Skripte in QF-Test kennengelernt.

Im QF-Test Hilfemenü finden Sie weiterführende Links zu den drei verfügbaren Skriptsprachen und deren Dokumentation und Tutorials.

Im Handbuch von QF-Test finden Sie in mehreren Kapiteln Erläuterungen zu Skripten und deren Einsatzmöglichkeiten mit zahlreichen Beispielen.

Nutzen auch Sie dieses mächtige Feature, um Ihre Testautomatisierung weiter voranzubringen.