Registrierung von Referenzen auf Testobjekte zurücknehmen

Die Helper-Scriptmethoden arbeiten mit Referenzen auf die Objekte in der getesteten Anwendung und verwenden dazu eine Testobjektübersicht. Von Functional Test wird immer dann nach den so zugeordneten Objekten gesucht, wenn eine Methode für das betreffende Objekt aufgerufen wird. In einigen Fällen ist diese Vorgehensweise von Functional Test möglicherweise nicht erwünscht. Wenn Sie beispielsweise verschiedene Methoden direkt für ein und dasselbe Objekt aufrufen müssten, würde Functional Test viel Zeit dabei verlieren, bei jedem Aufruf einer Methode für das Objekt erneut nach dem Objekt suchen zu müssen. Möchten Sie nach einem Objekt suchen lassen, ohne dass dazu von Functional Test bestimmte Methoden für das Objekt aufgerufen werden, müssen Sie die Methode TestObject.Find anwenden. Über TestObject.Find wird ein neues Testobjekt (TestObject) mit einer anderen Referenz auf das Objekt in der getesteten Anwendung ausgegeben. Diese Referenz wird auch als gebundene Referenz, als gefundene Referenz oder als zuordnungsfreie Referenz bezeichnet.

Eine gebundene Referenz behält so lange den Zugriff auf das Objekt in der getesteten Anwendung, bis Sie die Registrierung der Referenz explizit zurücknehmen. Von Functional Test werden die Registrierungen von gebundenen Referenzen nur dann zurückgenommen, wenn die komplette Wiedergabe (und nicht nur das Script) beendet ist. Solange eine gebundene Referenz zu einem Objekt besteht, wird die Beweglichkeit des Objekts in der Anwendung von Functional Test möglicherweise eingeschränkt. Besteht beispielsweise eine gebundene Referenz zu einem Java-Objekt, wird für dieses Java-Objekt keine Garbage-Collection durchgeführt. Sie müssen die Registrierung von gebundenen Referenzen daher immer sofort explizit zurücknehmen, wenn diese nicht mehr benötigt werden.

Die einzigen Testobjekte (TestObjects) mit zugeordneten Referenzen in einem normalen Functional Test-Script sind die Methoden aus den Helper-Scripts. Alle anderen Testobjekte (TestObjects) enthalten gebundene Referenzen, weshalb auch die Registrierung zurückgenommen werden muss. So ist beispielsweise für die Methode TestObject.GetTopParent explizit die Ausgabe eines Testobjekts (TestObject) deklariert. Für andere Methoden ist die Ausgabe eines Systemobjekts (System.Object) deklariert, doch ist auch die Ausgabe eines Testobjekts (TestObject) möglich, für das die Registrierung zurückgenommen werden muss. Bespiel: TestObject.GetProperty.

RationalTestScript enthält zahlreiche Methoden, über die die Referenzen auf Testobjekte (TestObjects) zurückgenommen werden. Dazu zählen Methoden wie net.Rational.Test.Ft.Script.RationalTestScript.Unregister und UnregisterAll. (Informationen zu diesen Methoden finden Sie unter API-Referenz zu Functional Test.)

Objekte, die von der getesteten Anwendung ausgegeben werden und bei denen es sich nicht um Testobjekte (TestObjects) handelt, sind Objekte, die einen Wert repräsentieren. Dieser Typ von Objekt wird als Werteklasse bezeichnet. Bei der Werteklasse handelt es sich um die Kopie eines Objekts in der getesteten Anwendung und nicht um eine Referenz auf ein Objekt in dieser Anwendung. Gängige Beispiele für Werteklassen sind Integer und System.Drawing.Rectangle.

Functional Test-Recorder und -Assistenten generieren ausschließlich Code, über den Werteklassen ausgegeben werden. Beispielsweise handelt es sich bei der Eigenschaft, die Sie im Anwendungsbeispiel "Object Properties" sehen, um eine Eigenschaft mit Werteklasse. Sie haben die Möglichkeit, TestObject.GetNonValueProperties aufzurufen, um nach den Referenzeigenschaften für ein bestimmtes Objekt zu suchen. Über TestObject.GetMethods können Sie eine Liste aller Methoden anzeigen, die Sie über TestObject.Invoke aufrufen können.

Gehen Sie beim direkten Umgang mit Testobjekten (TestObjects), die Referenzen auf Objekte in der getesteten Anwendung enthalten, vorsichtig vor. Nur so können Sie eine Instabilität in der Anwendung vermeiden. Nehmen Sie die Registrierung dieser Testobjekte (TestObjects) so schnell wie möglich wieder zurück.

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.