Zusätzlich zu den während der Aufzeichnung angegebenen Prüfpunkten können Sie auch neue Prüfpunkte in ein Functional Tester-Script einfügen. Durch das Einfügen manueller und dynamischer Prüfpunkte in Scripts können Sie Daten für den Vergleich mit einem Objekt angeben, das sich nicht in der Testobjektübersicht befindet. Die Daten müssen jedoch auf der Werteklasse basieren.
Informationen zu Einschränkungen in Bezug auf Prüfpunktnamen und Datenformate sowohl für die Methode vpManual als auch für die Methode vpDynamic finden Sie im Eintrag zu IFtVerificationPoint in der API-Referenz zu Functional Tester.
Manuelle Prüfpunkte sind nützlich, wenn Sie die Daten für den Prüfpunkt selbst erstellen und diese vergleichen möchten. Die Daten können beispielsweise das Ergebnis einer Berechnung sein oder aus einer externen Quelle stammen, z. B. einer Datenbank.
Objekte für manuelle Prüfpunkte werden mit Hilfe der Methode vpManual erstellt. Wenn Sie diese Methode aufrufen, stellen Sie die Daten vor der Ausführung von performTest bereit. (Mit der Methode performTest werden die bereitgestellten Daten gespeichert und mit Basisdaten verglichen, sofern solche vorhanden sind. Das Ergebnis wird im Protokoll erfasst.) Die Methode vpManual weist zwei Kennungen auf:
IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object actual) IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object expected, java.lang.Object actual)
In der ersten Form von vpManual werden der Name des Prüfpunkts und die tatsächlichen Daten verwendet, die entweder mit bestehenden Basisdaten verglichen oder, falls noch keine Basisdaten vorhanden sind, zu deren Erstellung genutzt werden. Dieser Wert kann null sein. Der vpName muss für das Script eindeutig sein. Beispiel:
vpManual ("manual1", "The rain in Spain").performTest();
Bei der zweiten Version dieser Methode wird ein Parameter für den Vergleich der erwarteten Daten mit den tatsächlichen Daten hinzugefügt. Die erwarteten oder die tatsächlichen Daten können einen Nullwert aufweisen. Beispiel:
vpManual ("manual1", "The rain in Spain", "The Rain in Spain").performTest();
In diesem Beispiel stimmen die Daten nicht überein. Für die Methode performTest würde in diesem Fall eine Nachricht über einen Fehler beim Prüfpunkt im Protokoll erfasst.
Dynamische Prüfpunkte sind besonders nützlich, wenn das Testobjekt (TestObject) nicht zugeordnet ist und es sich nicht um ein Objekt handelt, das normalerweise von Functional Tester getestet wird, z. B. ein Objekt, das nicht Teil der getesteten Anwendung ist.
Mit der Methode vpDynamic werden dynamische Prüfpunkte erstellt. Durch dynamische Prüfpunkte wird bei der nächsten Wiedergabe des Scripts die entsprechende Benutzerschnittstelle aufgerufen. Der Benutzer kann Prüfpunktdaten zum Testen eines Objekts einfügen, das im Script angegeben ist. Auf diese Weise muss der Benutzer den Test nicht manuell bis zum entsprechenden Status ausführen, bevor der Prüfpunkt aufgezeichnet wird. Die Methode vpDynamic weist zwei Signaturen auf:
IFtVerificationPoint vpDynamic (java.lang.String vpName) IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject objectUnderTest)
In der ersten Form der Methode vpDynamic ist ein (innerhalb des Scripts) eindeutiger Prüfpunktname erforderlich. Der Assistent für Prüfpunkt und Aktion wird bei der nächsten Wiedergabe des Scripts aufgerufen. Der Benutzer gibt das Testobjekt (TestObject) und die Basisdaten für nochmalige Tests bei nachfolgenden Ausführungen an. Das Script muss im Dialogmodus ausgeführt werden. Beispiel:
vpDynamic("dynamic1").performTest();
Bei der zweiten Form der Methode vpDynamic muss das Testobjekt (TestObject) angegeben werden. Beispiel:
vpDynamic("dynamic1", AnAWTButtonButton()).performTest();
Eine geänderte Benutzerschnittstelle, in der die TestObject-Hierarchie nicht angegeben ist, wird bei der ersten Wiedergabe zur Angabe von Basisdatenwerten angezeigt. Das angegebene Testobjekt (TestObject) muss zwar nicht in der Testobjektübersicht enthalten sein, aber es muss durchgängig dasselbe Objekt verwendet werden, damit die Ergebnisse aussagekräftig sind.
Bei der Verwendung dieser Methoden wird häufig der Fehler gemacht, die Methode performTest auszulassen. Dies ist zwar zulässig, und bei der Kompilierung wird auch keine Warnung ausgegeben, allerdings werden dann bei der Ausführung des Scripts keine relevanten Aktionen ausgelöst. Beispiel:
vpDynamic("test1", AnAWTButtonButton()); //ERROR. Nothing happens.