Handbuch

A
FAQ - Häufig gestellte Fragen
Evaluation und Lizenzen
1
Kann ich eine Testversion herunterladen?
2
Brauche ich sonst noch etwas?
3
Und woher bekomme ich diese Lizenzdatei?
4
Wie viel kostet QF-Test?
5
Braucht man für QF-Test einen zusätzlichen Lizenz-Server?
Support, Schulung und Feedback
6
Wo bekomme ich Hilfe bei Problemen?
7
Gibt es Schulungen für QF-Test?
8
Wo kann ich Erweiterungen von QF-Test vorschlagen?
9
Wie berichte ich über einen Bug in QF-Test?
Ausführen von Tests
10
Warum schlagen heute Tests fehl, die gestern OK waren, obwohl sich nichts geändert hat?
11
Wie führe ich einen Test automatisch aus, z.B. aus der Kommandozeile, einer Ant Task oder einem Skript?
12
Ist es möglich, zwei Applikationen gleichzeitig mit QF-Test zu testen?
13
Mein Test läuft über lange Zeit und QF-Test geht der Speicher aus. Wie kann ich das verhindern?
14
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?
Skripting
15
Wie kann ich auf Objekte meiner Applikation zugreifen, die keine Komponenten sind?
16
Schön und gut, aber wie verwende ich das in Jython, Groovy bzw. JavaScript?
17
Wie kann ich in einem Skript auf zusätzliche Java Klassen zugreifen.
18
Wie kann ich eine Exception in einem Skript werfen?
19
Welchen externen Editor soll ich verwenden?
Web
20
Woher weiß ich, welches UI Toolkit für meine Webanwendung genutzt wird und was tue ich, wenn dieses nicht direkt von QF-Test unterstützt wird?
21
Warum wird bei einem Datei-Upload/Datei-Download ein zusätzlicher Dialog angezeigt, bevor der eigentliche Dateiauswahl-Dialog erscheint?
22
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?
23
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?
24
Ich bekomme OutOfMemoryError für den Browser. Wie erhöhe ich den Speicher für den QF-Test Browser?
25
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 ?
Evaluation und Lizenzen
1
Kann ich eine Testversion herunterladen?

Ja, Sie finden diese unter www.qfs.de/qf-test/download.html.

2
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.

3
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.

4
Wie viel kostet QF-Test?

Lizenztypen und -preise für QF-Test sind detailliert unter www.qfs.de/qf-test/preise.html aufgeführt.

5
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
6
Wo bekomme ich Hilfe bei Problemen?
7
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.

8
Wo kann ich Erweiterungen von QF-Test vorschlagen?

Erweiterungswünsche sollten vorzugsweise an die Mailingliste geschickt werden (siehe oben), sind aber auch jederzeit an die Adresse support@qfs.de willkommen.

9
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
10
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.

11
Wie führe ich einen Test automatisch aus, z.B. aus der Kommandozeile, einer Ant Task oder einem Skript?

Sie können QF-Test mit Hilfe des Kommandozeilenarguments -batch im Batchmodus starten. Darin werden Tests automatisch ausgeführt und ein Protokoll erstellt. Diverse weitere Kommandozeilenargumente beeinflussen den Ablauf der Tests, ihr Ergebnis spiegelt sich im Rückgabewert von QF-Test wieder. Näheres hierzu finden Sie in Kapitel 19, Abschnitt 38.2 und Abschnitt 38.3.

12
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.

13
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-Xmx768m (oder auch jedem anderen Wert; QF-Test verwendet normalerweise bis zu 512 MB). Unter Windows können Sie alternativ das Werkzeug "QF-Test Java Konfiguration" aus dem Windows Startmenü verwenden. Unter Linux/Unix hilft auch ein erneutes Ausführen des Installationsskipts (setup.sh, setup.ksh) 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.

Hinweis Bei zu groß gewähltem Speicher startet Java nicht und somit auch nicht QF-Test.

Es gibt einige Möglichkeiten, den Speicherverbrauch von QF-Test zu reduzieren:

  • Setzen Sie die Option Kompakte Protokolle erstellen um alle irrelevanten Teile aus Protokollen zu entfernen.
  • QF-Test ermöglicht über das »Wiedergabe« Menü den Zugriff auf eine Anzahl von Protokollen. Lassen sie die Option Protokolle automatisch speichern eingeschaltet, so dass QF-Test diese Protokolle in Dateien schreiben und aus dem Speicher entfernen kann.
  • Schließen Sie die Fenster von Protokollen, die Sie nicht mehr benötigen, so dass der Speicher für diese Protokolle freigegeben werden kann.
  • Für lang laufende Tests sind geteilte Protokolle die beste Option, die QF-Test auch standardmäßig nutzt. Damit kann QF-Test Teile eines Protokolls in Dateien schreiben, anstatt das gesamte Protokoll während eines Testlaufs im Speicher zu halten. Näheres hierzu finden Sie in Abschnitt 8.1.4.
  • Ist die Option Protokoll komplett unterdrücken gesetzt, wird gar kein Protokoll erzeugt. Diese Option ist mit Vorsicht zu genießen. Ohne Protokoll kann es schwierig sein, einen Fehler nachzuvollziehen. Verwenden Sie besser geteilte Protokolle.
  • Wenn das SUT viel Text ausgibt, kann es sinnvoll sein, die Anzahl der Clients, die aufgehoben werden, über die Option Wie viele beendete Clients im Menü zu reduzieren.
14
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/Hudson (vgl. Kapitel 23) 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 8.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:

  • QF-Test und das SUT müssen in einer aktiven, nicht gesperrten Benutzer-Session laufen.
  • Die Testausführung darf unter Windows nicht in der Service-Session oder gänzlich ohne Benutzer-Session ausgeführt werden.
  • Bei der Testausführung mit Jenkins/Hudson oder ähnlichen Tools muss sichergestellt sein, dass der Jenkins/Hudson Windows Slave nicht als Dienst gestartet wird, sondern entweder mittels Autostart oder über den Windows Aufgabenplaner innerhalb einer Benutzer-Session, keinesfalls in der Service-Session. Stellen Sie hierfür sicher, dass Sie in den 'Sicherheitsoptionen' einen Benutzer ausgewählt haben und die Einstellung 'Mit den höchsten Privilegien ausführen' nicht aktiviert ist. Dieser Benutzer muss während der gesamten Testausführung eingeloggt sein, zum Beispiel mit automatischem Login, und sein Desktop darf nicht gesperrt werden.
  • RDP-Verbindungen dürfen nicht minimiert oder gar geschlossen werden, das kommt einer Sperre der Benutzer-Session gleich. Anstelle von RDP sollten Sie VNC, Teamviewer oder ähnliches verwenden. Auch darf RDP nicht zum initialen Login und somit Start einer Session verwendet werden.

    HinweisAb Windows 10 bzw. Windows Server 2016 können Sie unter gewissen Voraussetzungen RDP verwenden, wenn Sie folgende Änderung in der Registry vornehmen. Unter HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client oder HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client fügen Sie bitte einen neuen DWORD namens RemoteDesktop_SuppressWhenMinimized ein. Dort setzen Sie den Wert 2. Das erlaubt dann das Minimieren des Fensters einer RDP-Verbindung, aber leider immer noch nicht das Schließen oder Trennen. Sie finden Tipps und Tricks zum Aufsetzen von Testsystemen im Best Practices Teil unter Kapitel 33.

Technische Hintergründe:
Das Stichwort lautet 'session 0 isolation'. Dies bedeutet, jeder Benutzer hat eine eigene Session ID zugewiesen, beginnend ab 1. Die Session mit ID 0 ist für Dienste und Anwendungen ohne konkrete Benutzerzuweisung reserviert und ist stark in ihrer Funktionalität eingeschränkt. Darin laufende Anwendungen werden von anderen Sessions isoliert. In dieser Session können keine Anwendungen mit GUI dargestellt werden und etwaige Versuche, dies doch zu machen, führen dazu, dass die Anwendung nicht dargestellt werden kann und daher nicht problemlos funktioniert. Eine Suche nach 'session 0 isolation' in diversen Suchmaschinen bietet tiefergreifende Informationen zu dieser Tatsache, vor allem für Windows Vista und neuer.
Der unter Windows XP und Windows 2000 funktionierende Workaround mittels tscon.exe und Umleiten der Session 0 ist seit Windows Vista aus Gründen der Sicherheit nicht mehr möglich.

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
15
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 java.lang.Runtime.getRuntime() und java.awt.Toolkit.getDefaultToolkit().

16
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.
from java.lang import Runtime
runtime = Runtime.getRuntime()

In Groovy wird das Package java.lang sogar automatisch importiert:
def runtime = Runtime.getRuntime()
In JavaScript wird bei Modulen, die nicht importiert werden können, keine Exception geworfen und der Import mit null belegt.
import {Runtime} from 'java.lang';
runtime = Runtime.getRuntime();

Sie können analog auf jede Klasse Ihrer Applikation zugreifen, vorausgesetzt sie ist als public deklariert. Beachten Sie, dass Sie dazu einen 'SUT Skript' Knoten verwenden und keinen 'Server Skript' Knoten.

17
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 43.2).

18
Wie kann ich eine Exception in einem Skript werfen?

Dafür gibt es zwei Möglichkeiten:

  • Jython:
    raise UserException("Beliebige Fehlermeldung")
    Groovy:
    import de.qfs.apps.qftest.shared.exceptions.UserException
    throw new UserException("Beliebige Fehlermeldung")

    JavaScript:
    import {UserException} from 'de.qfs.apps.qftest.shared.exceptions';
    throw new UserException("Beliebige Fehlermeldung");

  • rc.check(Bedingung, "Meldung", rc.EXCEPTION)
    wirft eine Exception wenn die Bedingung nicht erfüllt ist.
19
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
20
Woher weiß ich, welches UI Toolkit für meine Webanwendung 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.
Alternativ aktivieren Sie den automatischen Erkennungsmodus im Schnellstart-Assistenten beim Erstellen Ihrer Startsequenz. QF-Test erkennt dann unterstützte Toolkits von selbst und gibt im Terminal eine entsprechende Meldung aus.
Wenn das Toolkit nicht unterstützt wird oder unbekannt bleibt, kann unser Support einen Blick auf den HTML Code Ihrer Webanwendung werfen. Neue oder kundeneigene Toolkits können mit Hilfe eines WebResolvers mit geringem Aufwand entweder durch Sie selbst (QF-Test an Ihr AJAX Toolkit anpassen per CustomWebResolver) oder unseren Service integriert werden.

21
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.

22
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 qfs.qft die Prozedur qfs.web.input.fileUpload. Verwenden Sie diese Prozedur anstatt der aufgezeichneten Sequenz, falls auf ihrer Webseite Probleme bei der Wiedergabe auftreten.

23
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:

  • Öffnen Sie im QF-Test Browser-Fenster die URL: chrome://pippki/content/certManager.xul.
  • Es wird der Zertifikatsmanager geöffnet in dem Sie das Zertifikat der Webseite als vertrauenswürdig definieren können.
  • Nach bestätigen mit OK schließt sich das Browser-Fenster.
  • Beim nächsten Browserstart ist das Zertifikat der Webseite vertrauenswürdig eingestuft und die URL wird korrekt geladen.
Variante 2:
  • Starten Sie den "normalen" Firefox mit folgenden Kommandozeilenparameter
    firefox -profile "[Pfad zu Ihrem Benutzerprofil]/.qftest/mozprofile"
    (z.B: firefox -profile "C:/Users/benutzer1/.qftest/mozprofile")
    (Es darf zu diesem Zeitpunkt kein anderes Firefox Fenster geöffnet sein.)
  • Rufen Sie die URL auf und bestätigen das Zertifikat der Webseite als vertrauenswürdig.
  • Beim nächsten Browserstart ist das Zertifikat der URL als vertrauenswürdig eingestuft und die URL wird korrekt geladen.

24
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.

Maximmalen Speicher für Browser setzen
Abbildung A.1:  Maximalen Speicher für Browser setzen
25
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 ${default:windowname:}.

Das Setzen des Attributes '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 windowname auf einen beliebigen Wert z.B. auf "popup". Das Setzen dieser Variable kann in einem separaten 'Variable setzen'-Knoten passieren. Bequemer geht es, wenn sie die betroffenen Eventknoten in eine Sequenz einpacken und die Variable windowname direkt in der "Variablen Definitionen"-Tabelle der Sequenz definieren.

Nun können Sie die Events abspielen.

Es ist zu empfehlen die Variable windowname nach Ausführung der Eventknoten wieder zurückzusetzen, da QF-Test sonst die nachfolgenden Events auch auf das Popup-Fenster abspielen würde, welches nun aber nicht mehr vorhanden ist. Hierfür genügt ein zweiter 'Variable setzen'-Knoten für windowname in dem der Parameter "Defaultwert" leer gelassen wird. Falls die Variable in einer Sequenz definiert wurde, brauchen Sie die Variable nicht explizit zurücksetzen.

Falls Sie bereits bestehende Tests aufgezeichnet haben, können Sie einmal mit globalem Ersetzen das Attribut 'Name des Browser-Fensters' von leer auf ${default:windowname:} ändern. Hierfür wählen Sie »Bearbeiten«-»Ersetzen«, wechseln in das fortgeschrittene Ersetzen, in dem Sie den goldenen Pfeil auf der Toolbar klicken. Nun lassen Sie "Suchen nach" leer, "Ersetzen durch" setzen Sie auf ${default:windowname:}, bei "Attribut" wählen Sie 'Name des Browser-Fensters' aus und haken die Checkbox "Gesamtes Attribut vergleichen" an.

Der obige Ersetzvorgang muss in allen Testsuiten vorgenommen werden, die Events bzw. Komponenten für dieses Popupfenster beinhalten.