Das Debugging des Proxy-Codes ist ein wesentlicher Bestandteil des Proxy-Entwicklungsprozesses zur Fehlerbestimmung. Der Proxy-Code, in dem die JAR-Datei oder die .NET-Assemblydatei mit der Erweiterung .dll enthalten ist, wird in den Prozess der zu testenden Anwendung geladen. Ordnen Sie für das Debugging des Proxy-Codes den jeweiligen Debugger dem Prozess der zu testenden Anwendung zu, nachdem die binären Proxydateien in die zu testende Anwendung geladen wurden.
Protokolle für das Debugging von Proxy-Code implementieren Functional Tester enthält eine Protokollinfrastruktur, die Sie beim Debugging des entwickelten Proxy-Codes nutzen können.
Die Klasse "FTDebug" steht sowohl im Java- als auch im .NET-Framework für die Entwicklung von Proxys zur Verfügung.
Sie können ein Objekt der Klasse "FTDebug" für jede Proxyklasse instanziieren und jede beliebige Informationsnachricht, Warnung oder Fehlernachricht nach Kategorie protokollieren.
Führen Sie vor dem Debugging des Proxy-Codes die folgenden Aufgaben aus:
Vorgehensweise
Speichern Sie die Debugversion der binären Proxydateien im Anpassungsverzeichnis, und starten Sie Functional Tester erneut.
Aktivieren Sie bei Java die JRE, die von der zu testenden Anwendung mit dem Functional Tester-Enabler verwendet wird.
Starten Sie bei .NET die zu testende .NET-Anwendung, und zeichnen Sie einen Mausklick auf ein beliebiges Steuerelement mit Hilfe von
Functional Tester auf, um das Steuerelement zum Testen zu aktivieren.
Anmerkung: Die .dll-Assemblydatei für den Proxy wird nur geladen, wenn der erste Mausklick in Windows®- und .NET-Anwendungen aufgezeichnet wird. Windows- und .NET-Anwendungen werden zum Testen dynamisch aktiviert. Bei Java wird die zu testende Anwendung vom Tool für Anwendungskonfiguration (Application Configurator Tool) aktiviert.
Aufrufzeitlimit festlegen
Das Debugging von Proxys ist zeitkritisch, und das Aufrufzeitlimit wird standardmäßig nach zwei Minuten überschritten. Wenn Sie das Zeitlimit für das Debugging anpassen möchten, fügen Sie in der Windows-Registrierungsdatenbank unter HKEY_LOCAL_MACHINE\SOFTWARE\Rational
Software\RationalTest\8\Options einen DWORD-Wert für "InvocationTimeout in milliseconds" hinzu. Bei einer Zeitlimitüberschreitung während des Debuggings wird eine Ausnahmebedingung des Typs "SpyMemory MutexTimeout" ausgelöst.
Aufzeichnung debuggen
Die Methode "getChildAtPoint()" ist der Einstiegspunkt zum Proxy-Debugging für die Aufzeichnung. Eine Benutzeraktion ruft die Methode
"processMouseEvent()" auf, noch bevor das Ereignis für die zu testende Anwendung angezeigt wird. Functional Tester verarbeitet die Benutzeraktionen, um beispielsweise zu ermitteln, ob es sich bei der Aktion um ein Klicken oder ein Ziehen handelt. Dementsprechend werden die Methodenspezifikation und die Argumente generiert. Die besten Ergebnisse können Sie erzielen, wenn Sie mit Hilfe dieser Methoden Unterbrechungspunkte einfügen.
Wiedergabe debuggen
Die Methode "getMappableChildren()" ist der Einstiegspunkt zum Proxy-Debugging für die Wiedergabe. Während der Proxyentwicklung ergeben sich die meisten auftretenden Probleme des Typs "Das Objekt wurde nicht gefunden" aus einer Diskrepanz zwischen der durch die Aufzeichnung erzeugten Objekthierarchie und der während der Wiedergabe erzeugten Hierarchie. Stellen Sie sicher, dass die Methoden "getMappableParent()" und
"getMappableChildren()" symmetrisch sind.