Proxy-Code debuggen

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.

Umgebung für das Debugging vorbereiten

Informationen zu diesem Vorgang

Führen Sie vor dem Debugging des Proxy-Codes die folgenden Aufgaben aus:

Vorgehensweise

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.

Feedback