Handbuch
Version 8.0.1 |
Evaluation und Lizenzen | |||||||||
| Kann ich eine Testversion herunterladen? | ||||||||
Ja, Sie finden diese unter www.qfs.de/qf-test/download.html. | |||||||||
| Brauche ich sonst noch etwas? | ||||||||
Normalerweise wird eine Lizenzdatei benötigt, um QF-Test zu starten. Das Tool läuft auch ohne diese Datei, allerdings können Sie dann keine Dateien speichern und nur die mit QF-Test ausgelieferten Dateien lesen. Das genügt, um das Tutorial durchzuarbeiten und um erste Versuche zu unternehmen und Ihre Applikation unter QF-Test zu starten. Für alles weitere benötigen Sie eine Lizenzdatei. | |||||||||
| Und woher bekomme ich diese Lizenzdatei? | ||||||||
Sie können eine 4 Wochen gültige Testlizenz mit dem Formular unter www.qfs.de/qf-test/gratis-testen.html beantragen. | |||||||||
| Wie viel kostet QF-Test? | ||||||||
Lizenztypen und -preise für QF-Test sind detailliert unter www.qfs.de/qf-test/preise.html aufgeführt. | |||||||||
| Braucht man für QF-Test einen zusätzlichen Lizenz-Server? | ||||||||
Nein, nicht unbedingt. QF-Test verwaltet Lizenzen für den Multi-User-Betrieb in lokalen Netzen selbst, sofern IP Multicast funktioniert. Um Lizenzen über mehrere Standorte zu verteilen, oder für restriktive Netzwerke, ist ein spezieller Lizenzserver verfügbar. Der Server selbst ist kostenlos und Server-Lizenzen sind sehr preisgünstig. Bei Interesse wenden Sie sich bitte an QFS via <sales@qfs.de>. | |||||||||
Support, Schulung und Feedback | |||||||||
| Wo bekomme ich Hilfe bei Problemen? | ||||||||
| |||||||||
| Gibt es Schulungen für QF-Test? | ||||||||
Regelmäßig finden in deutscher und englischer Sprache QF-Test Schulungen für Anfänger wie Fortgeschrittene bei QFS statt. Auch besteht die Möglichkeit von Beratung und Schulung vor Ort oder per Webinar. Details finden Sie unter www.qfs.de/qf-test-support/schulung-beratung.html. | |||||||||
| Wo kann ich Erweiterungen von QF-Test vorschlagen? | ||||||||
Erweiterungswünsche sind jederzeit an die Adresse support@qfs.de willkommen. | |||||||||
| Wie berichte ich über einen Bug in QF-Test? | ||||||||
Bitte schicken Sie eine E-Mail mit der Problembeschreibung an qftest-bug@qfs.de und wir sehen uns die Sache an. Bitte legen Sie soviel Information wie möglich bei, vor allen Dingen Testsuiten und Protokolle. | |||||||||
Ausführen von Tests | |||||||||
| Warum schlagen heute Tests fehl, die gestern OK waren, obwohl sich nichts geändert hat? | ||||||||
Als ersten Schritt sollten Sie bitte sicher stellen, dass sich wirklich nichts geändert hat. Java oder Browser Updates finden gerne mal im Hintergrund statt, ohne dass man bewusst etwas mitbekommt. Unabhängig davon kann es vorkommen, dass Tests nur vereinzelt fehlschlagen, ohne offensichtlichen Grund. Das mag nach einem Fehler in QF-Test klingen, ist es aber nur sehr selten. In komplexen multithreaded Umgebungen hängen viele Aktionen und Interaktionen vom Timing ab. Als erste Maßnahme sollten Sie in so einem Fall harte Verzögerungen an kritischen Punkten einbauen. Wenn das hilft, können Sie sich darauf konzentrieren, den Zeitverlust zu minimieren, indem Sie 'Check' Knoten mit Wartezeit oder 'Warten auf Komponente' Knoten verwenden, um auf einen bestimmten Zustand zu warten. Wenn Verzögerungen nicht helfen, müssen Sie tiefer graben und versuchen, zu verstehen, was passiert. Es ist nicht unwahrscheinlich, das die Ursache ein Bug in Ihrer Anwendung ist - typischerweise ein kniffliger, der sich nur gelegentlich zeigt, abhängig vom Timing oder anderen Umständen. Die groben, offensichtlichen Fehler werden üblicherweise viel früher gefunden - diese kniffligen Bugs sind eines der Themen um die es beim Testen überhaupt geht. Die detaillierten Logs und Bildschirmabbilder von QF-Test helfen bei der Analyse. Unser Support kann Sie dabei unterstützen, die Daten zu interpretieren und relevante Informationen herauszusuchen, die Sie an die Entwickler weitergeben können. | |||||||||
| Wie führe ich einen Test automatisch aus, z.B. aus der Kommandozeile, einem Testmanagementtool oder einem Skript? | ||||||||
Sie können QF-Test mit Hilfe des Kommandozeilenarguments | |||||||||
| Ist es möglich, zwei Applikationen gleichzeitig mit QF-Test zu testen? | ||||||||
Ja, Sie müssen dazu lediglich zwei SUT-Clients mit verschiedenen Namen starten. Sie können dann beide von QF-Test aus kontrollieren. | |||||||||
| Mein Test läuft über lange Zeit und QF-Test geht der Speicher aus. Wie kann ich das verhindern? | ||||||||
Um den verfügbaren Speicher zu vergrößern, starten Sie QF-Test mit dem Argument -J-Xmx1280m (oder einem noch größeren Wert; QF-Test verwendet normalerweise bis zu 1024 MB). Unter Windows können Sie alternativ das Werkzeug "QF-Test Java Konfiguration" aus dem Windows Startmenü verwenden. Unter Linux hilft auch ein erneutes Ausführen des Installationsskipts (setup.sh) bei der Anpassung des Speichers. Natürlich hängt der insgesamt verfügbare Speicher von ihrem Rechner ab und wieviel maximal für Anwendungen bereitgestellt wird. Weitere Details finden Sie in Kapitel 1. Es gibt einige Möglichkeiten, den Speicherverbrauch von QF-Test zu reduzieren:
| |||||||||
|
Harte Mausevents und Drag'n'Drop scheitern bei der Wiedergabe, Komponenten werden nicht gefunden,
Bildschirmabbilder sind schwarz oder entstellt. Was muss ich bei der Testausführung beachten? | ||||||||
GUI-Tests benötigen einen ungesperrten, aktiven Desktop mit einer aktiven Benutzer-Session. Nur so kann sicher gestellt werden, dass das SUT sich genauso verhält wie bei einem normalen Benutzer. Sie müssen daher sicherstellen, dass die Testumgebung diese Voraussetzungen erfüllt. Insbesondere bei Continuous-Integration- und Build-Tools wie Jenkins (vgl. Kapitel 28) muss darauf geachtet werden, grundlegende Einstellungen korrekt durchzuführen. Es kann sonst zu ungewöhnlichen Problemen bei der Testausführung kommen, wie zum Beispiel schwarze Bildschirmabbilder im Protokoll (vgl. Abschnitt 7.1), nicht funktionierende Drag'n'Drop Operationen, fehlschlagende harte Events oder sogar Probleme bei der Komponentenerkennung (vgl. Kapitel 5). Java-WebStart-Anwendungen starten unter Umständen überhaupt nicht. Unter Aufsetzen von Testsystemen finden Sie nützliche Tipps und Tricks für die Einrichtung Ihrer Testsysteme. Folgendes müssen Sie für die Wiedergabe beachten:
Technische Hintergründe: In diesem Zusammenhang möchten wir auf den Einsatz von virtuellen Maschinen hinweisen, insbesondere aus sicherheitspolitischer Hinsicht. Oben genannte Bedingungen der Testausführungen gelten immer nur für die Maschine, auf der der Test tatsächlich ausgeführt wird. Es muss also auf der virtuellen Maschine ein Benutzer eingeloggt und eine nicht gesperrte Session vorhanden sein. Der Host, auf dem die virtuelle Maschine ausgeführt wird, kann natürlich gesperrt sein. | |||||||||
Skripting | |||||||||
| Wie kann ich auf Objekte meiner Applikation zugreifen, die keine Komponenten sind? | ||||||||
Sie können ein Objekt nicht aus dem Nichts herbeizaubern. Es muss
also einen Mechanismus geben, der das gewünschte Objekt über eine
statische Klassenmethode zurückliefert. Typische Beispiele hierfür
im standard Java-API sind
| |||||||||
| Schön und gut, aber wie verwende ich das in Jython, Groovy bzw. JavaScript? | ||||||||
Das ist ganz normaler Jython Alltag. Importieren Sie die
Klasse und rufen Sie die entsprechende Methode auf, z.B. | |||||||||
| Wie kann ich in einem Skript auf zusätzliche Java-Klassen zugreifen. | ||||||||
Um weitere Java-Klassen für Jython, Groovy und JavaScript verfügbar zu machen, stellen Sie die entsprechenden jar Dateien in QF-Test's Plugin Verzeichnis (siehe Abschnitt 49.2). | |||||||||
| Wie kann ich eine Exception in einem Skript werfen? | ||||||||
Dafür gibt es zwei Möglichkeiten:
| |||||||||
| Welchen externen Editor soll ich verwenden? | ||||||||
Das ist eine Frage persönlichen Geschmacks, die für manche schon an Religion grenzt. Eine umfassende Liste mit Editoren für diverse Betriebssysteme, die Python Syntax unterstützen, finden Sie unter wiki.python.org/moin/PythonEditors. Neben vermutlich sehr vielen anderen Editoren bietet jEdit (www.jedit.org) Syntaxhervorhebung für sowohl Jython, Groovy als auch JavaScript. | |||||||||
Web | |||||||||
| Woher weiß ich, welches UI Toolkit für meine Web-Anwendung genutzt wird und was tue ich, wenn dieses nicht direkt von QF-Test unterstützt wird? | ||||||||
Wenn möglich, befragen Sie bitte Ihre Entwickler zu den verwendeten Toolkits oder
UI Komponenten. | |||||||||
| Warum wird bei einem Datei-Upload/Datei-Download ein zusätzlicher Dialog angezeigt, bevor der eigentliche Dateiauswahl-Dialog erscheint? | ||||||||
Bevor der eigentliche Dateiauswahl-Dialog angezeigt wird, erscheint noch ein kleiner von QF-Test integrierterter Hilfsdialog mit einem OK-/Abbrechen-Button. Dieser Dialog wird von QF-Test benötigt um an die Daten des Dateiauswahl-Dialoges zu kommen, da dieser nativ vom Betriebssystem erzeugt wird. Nach Klicken des OK-Buttons im Hilfsdialog wird der native Dateiauswahl-Dialog angezeigt und Sie können den gewünschten Dateinamen eingeben bzw. die Datei direkt auswählen. | |||||||||
| Warum führt die Wiedergabe einer bereits aufgenommenen Datei-Upload-/Datei-Download-Sequenz bei Verwendung eines anderen Browsers teilweise zu Fehlern und wie kann ich dies umgehen? | ||||||||
Je nach Implementierung des Datei-Uploads/Datei-Downloads auf der jeweiligen Webseite kann
die Wiedergabe etwas knifflig und von Browser zu Browser unterschiedlich sein. Um dies zu
umgehen befindet sich in der QF-Test Standardbibliothek | |||||||||
| Ich erhalte im Mozilla Firefox eine Fehlerseite die mich auf ein ungültiges Zertifikat hinweist. Der Standarddialog für das Hinzufügen von Ausnahmen scheint aber nicht zu funktionieren. Wie kann ich dieses Problem lösen? | ||||||||
Dieses Problem tritt ab QF-Test Version 3.5.1 nicht mehr auf, da SSL Zertifikate nun automatisch bestätigt werden. Für ältere Versionen nutzen sie bitte folgenden Workaround. Um das Zertifikat als vertrauensvoll zu markieren gibt es verschiedene Ansätze: Variante 1:
| |||||||||
| Ich bekomme OutOfMemoryError für den Browser. Wie erhöhe ich den Speicher für den QF-Test Browser? | ||||||||
Generell wird empfohlen, die Startsequenz mit Hilfe des Schnellstart-Assistenten zu erstellen. In der resultierenden Sequenz im Schritt "Browser ohne Fenster starten" kann "Browser starten" Knoten der maximale Speicher in den "Java-VM" Programmparametern definiert werden, z.B. mittels -Xmx384m, was 384 MB maximaler Speicher bedeutet. Aktueller Standardwert sind 256 MB.
| |||||||||
| Die getestete Web-Anwendung öffnet ein Popup-Fenster. Allerdings werden Events nicht auf diesem Fenster sondern auf dem Hauptfenster abgespielt, z.B. wenn ich einen 'Fensterevent' "WINDOW_CLOSING" abspiele wird manchmal das Hauptfenster anstatt des Popup-Fensters geschlossen oder ein Mausklick klickt ins falsche Fenster. Wie kann ich sicherstellen, dass immer das korrekte Browser-Fenster geschlossen wird ? | ||||||||
Hierfür benötigt QF-Test noch eine zweite Information, nämlich welches Fenster für die Wiedergabe verwendet werden soll. Diese Information setzen Sie beim 'Warten auf Laden des Dokuments'-Knoten wie auch bei der aufgezeichneten 'Webseite' im Attribut 'Name des Browser-Fensters'. Zur aufgezeichneten 'Webseite' kommen Sie am einfachsten mittels Rechtsklick auf den 'Warten auf Laden des Dokuments'-Knoten und Auswahl von »Komponente finden«.
Am besten setzen Sie dieses Attribut auf Das Setzen des Attributs 'Name des Browser-Fensters' bewirkt, dass QF-Test zusätzlich zur URL der Webseite auch dieses Attribut zur Erkennung der Webseite inkl. deren Kindkomponenten miteinbezieht. Somit kann QF-Test beide Fenster während der Wiedergabe unterscheiden. Die Angabe dieses Wertes beim 'Warten auf Laden des Dokuments' Knoten setzt diesen Namen aus QF-Test Sicht, diesen können Sie auch in der Titelleiste des Browsers sehen.
Vor dem Abspielen des entsprechenden 'Warten auf Laden des Dokuments' und der Events auf dem Popup-Fenster
setzen Sie die Variable Nun können Sie die Events abspielen.
Es ist zu empfehlen die Variable
Falls Sie bereits bestehende Tests aufgezeichnet haben, können Sie einmal mit globalem Ersetzen das Attribut
'Name des Browser-Fensters' von leer auf Der obige Ersetzvorgang muss in allen Testsuiten vorgenommen werden, die Events bzw. Komponenten für dieses Popupfenster beinhalten. |
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |