Dieser Abschnitt enthält eine Reihe von Tipps und Tricks für die Aufzeichnung und Wiedergabe von Scripts zum Testen von HTML-Anwendungen.
Anwendung erst nach dem Start der Aufzeichnung starten
Beim Aufzeichnen von Scripts für Ihre HTML-Anwendungen können Sie mit Functional Test die Anwendung während der Aufzeichnung starten. Functional Test öffnet dabei die HTML-Seite, die Sie in Ihrem Standardbrowser oder in einem anderen Browser angeben.
Hoverfunktion für HTML-Menüs aufzeichnen
Beim Aufzeichnen von Scripts für Ihre HTML-Anwendungen können Sie eine Hoverfunktion für Dropdown-Menüs aufzeichnen, die aktiviert werden, wenn Sie den Mauszeiger auf ihnen platzieren. Die Dropdown-Menüs werden mit DIV-Tags implementiert. Wenn Sie eine Hoverfunktion für Dropdown-Menüs aufzeichnen und das Untermenü aufklappen lassen möchten, müssen Sie den Mauszeiger auf den Text des Menüpunkts halten und die Umschalttaste drücken. Achten Sie darauf, dass der Mauszeiger über dem Text des Menüpunkts und nicht über dem leeren Bereich rechts neben dem Text platziert wird.
deleteCookies-Methode in Scripts verwenden
Zwei Versionen der deleteCookies-Methode sind verfügbar. Mit der einen Version der Methode werden alle Cookies aus dem aktuellen Benutzerprofil gelöscht, während mit der anderen Version der Methode die in einem bestimmten Pfad oder in einer bestimmten Domäne enthaltenen Cookies aus dem aktuellen Benutzerprofil gelöscht werden. Informationen hierzu enthält der Abschnitt "Functional Test API Reference" im Paket "com.rational.test.ft.object.interfaces" unter "IBrowserObject".
Integration von Menüpunkten in Scripts vermeiden
Da die Menüpunkte in Browsermenüs auf der Grundlage ihrer Anzeigekoordinaten aufgezeichnet werden, erfolgt die Scriptwiedergabe eventuell unzuverlässig, wenn die Größe oder Position des Browserfensters geändert wird. Je nach Browser sind die Menüs außerdem anders aufgebaut. Dies kann ebenfalls dazu führen, dass Scripts nicht korrekt wiedergegeben werden.
Während der Wiedergabe Vollanzeige für Java-Applets aktivieren
Wenn Sie das Browserfenster verkleinern, verschiebt Functional Test die Applet-Objekte während der Wiedergabe nicht in den Anzeigebereich, sofern sie sich noch nicht darin befinden.
URLs mit der loadURL( )-Methode ändern
Die Position des Adressfelds in Browsern basiert auf Anzeigekoordinaten. Diese können sich ändern, wenn Größe und Position des Browserfensters angepasst werden. Bei der Anwendung eines Scripts kommt es normalerweise zu einem Fehler, wenn Sie in das Adressfeld klicken und die neue URL eingeben. Fügen Sie beim Aufzeichnen daher einen Browserklick (Browser_htmlBrowser) in Ihr Script ein, um die URLs zu ändern:
Klicken Sie beim Aufzeichnen in einen beliebigen leeren Bereich im Browser-Header, um einen Browserklick in Ihre Testobjektübersicht einzufügen.
Rufen Sie das Script nach dem Aufzeichnen auf, und positionieren Sie den Cursor in einer Leerzeile des Scripts.
Erweitern Sie im Script-Explorer den Knoten Testobjekte, klicken Sie mit der rechten Maustaste auf Browser_htmlBrowser, und wählen Sie dann die Option zum Einfügen des Softwarebausteins an der Cursorposition aus.
Wählen Sie die loadURL(String)
-Methode aus.
Geben Sie den Namen der neuen URL zwischen den runden Klammern der Anweisung loadURL
ein.
Fügen Sie am Ende der Zeile ein Semikolon (;) ein (gilt nur für Java, nicht für VB.NET).
.size-Eigenschaft auf INPUT-Elemente anwenden
Wenn Sie die .size-Eigenschaft auf INPUT-Elemente anwenden und die .size-Eigenschaft nicht im HTML-Code eines INPUT-Elements angeben, lautet der vom Internet Explorer zurückgegebene Wert 20 und der von Netscape zurückgegebene Wert 0 (null).
Gleiche Symbolleistenschaltflächen für mehrere Browser verwenden
Vermeiden Sie beim Erstellen eines plattformunabhängigen Scripts die Verwendung von Symbolleisten, die nur in einem Browser angezeigt werden. Bei den folgenden Symbolleistenschaltflächen handelt es sich um browserübergreifende Schaltflächen:
Zurück
Lesezeichen (Netscape) / Favoriten (Internet Explorer)
Schließen
Vorwärts
Startseite
Maximieren
Verkleinern
Suchen (nur Schaltfläche)
Abbrechen
Browser mit der Schaltfläche "Schließen" beenden
Die Schaltfläche "Schließen" steht sowohl im Internet Explorer als auch unter Netscape zur Verfügung. Vermeiden Sie beim Aufzeichnen eines plattformunabhängigen Scripts die Anwendung alternativer Methoden zum Beenden des Browsers. Die Tastenkombination Alt+F+C lässt sich beispielsweise nur auf den Internet Explorer anwenden und die Tastenkombination Alt+F+X nur auf Netscape. Jede der beiden Tastenkombinationen verursacht Scriptfehler, wenn das Script im jeweils anderen Browser ausgeführt wird.
Mit der waitForExistence-Methode die niedrigere Startgeschwindigkeit eines Browsers kompensieren
Da Netscape langsamer startet als der Internet Explorer können Sie beim Aufzeichnen von browserunabhängigen Scripts die waitForExistence-Methode verwenden, damit auf den langsameren Browser gewartet wird. Beispiel:
Starten Sie während der Aufzeichnung die Anwendung.
Klicken Sie auf die Schaltfläche Befehle für Prüfpunkt und Aktion einfügen in der Aufzeichnungsleiste.
Klicken Sie auf der Seite Objekt auswählen des Assistenten für Prüfpunkt und Aktion auf das Symbol Objektsuche , und ziehen Sie es über die HTML-Seite (nicht direkt über den Browser).
Klicken Sie auf Weiter.
Klicken Sie auf der Seite Aktion auswählen des Assistenten für Prüfpunkt und Aktion auf die Option Auf ausgewähltes Testobjekt warten.
Heben Sie bei Bedarf die Markierung der Option Standardeinstellungen verwenden auf, damit Sie die Einstellungen Maximale Wartezeit und Prüfintervall ändern können. Als Standardeinstellungen sind zwei Minuten bzw. zwei Sekunden angegeben.
Klicken Sie auf Fertig stellen.
Vermeiden Sie folgende Klick- und Tastenkombinationen in plattformunabhängigen Scripts:
Beim Aufrufen eines Popup-Menüs ignoriert Netscape, wenn unmittelbar nach dem Drücken der rechten Maustaste ein Link angeklickt wird. Wenn diese Klickkombination erforderlich ist, gehen Sie folgendermaßen vor: Klicken Sie zuerst mit der rechten Maustaste auf den Link, klicken Sie anschließend in einen leeren Bereich des Dokuments und danach auf den Link. Obwohl diese Vorgehensweise nur für das Arbeiten mit Netscape erforderlich ist, bewährt sie sich auch beim Arbeiten mit dem Internet Explorer.
Wenn Sie in Netscape die Taste Strg drücken und auf einen Link klicken, wird die Seite in einer anderen Instanz von Netscape geöffnet. Die gleiche Sequenz resultiert im Internet Explorer in einem normalen Anklicken des Links. Ein Script, das die Kombination dieser Aktionen enthält, wird anders wiedergegeben und sollte daher nicht für browserübergreifende Tests verwendet werden.
Wenn Sie in Netscape mit der rechten Maustaste auf ein Element aus einem Listenfeld klicken und anschließend auf ein anderes Element klicken, ignoriert Netscape den letzten Klick. Wenn diese Klickkombination erforderlich ist, gehen Sie folgendermaßen vor: Klicken Sie zuerst mit der rechten Maustaste auf das Element, klicken Sie anschließend in einen leeren Bereich des Dokuments und danach auf den Untereintrag in der Liste.
Dienstprogramm zur Korrektur von fehlerhaftem HTML-Code ausführen
HTML-Fehler können gelegentlich dazu führen, dass verschiedene Browser die DOM-Hierarchie des HTML-Codes unterschiedlich interpretieren. So kann der Fall eintreten, dass ein Script in einem Browser erfolgreich abgearbeitet wird, während seine Ausführung in einem anderen Browser Fehler hervorruft. Zeichnen Sie ein Script in beiden Browsern auf, und vergleichen Sie anschließend die beiden resultierenden Testobjektübersichten. Weisen die Übersichten eine unterschiedliche Hierarchie auf, führen Sie ein Dienstprogramm wie HTML Tidy aus. Meldet dieses Dienstprogramm Fehler zurück, kann es sein, dass diese Fehler die Ursache für die unterschiedlichen Interpretationen des Objektmodells darstellen, was unterschiedliche DOM-Hierarchien zur Folge hat. HTML Tidy wird vom World Wide Web Consortium, www.w3.org, zur Verfügung gestellt.
Handhabung von Nachrichtenfenstern
Beim Aufzeichnen von Scripts in Netscape werden gelegentlich Nachrichtenfenster (Dialogfenster der Benutzeroberfläche des Browsers) angezeigt. Hierzu zählen beispielsweise Verschlüsselungsbemerkungen. Bei der Aufzeichnung eines browserübergreifenden Scripts sollen diese Nachrichtenfenster nicht berücksichtigt werden, da sie normalerweise nicht im Internet Explorer angezeigt werden. So vermeiden Sie dieses Problem:
Halten Sie die Aufzeichnung beim Erscheinen eines Nachrichtenfenster an.
Wählen Sie ein beliebiges Markierungsfeld aus, dessen Aktivierung das erneute Erscheinen der Nachricht verhindert.
Klicken Sie zum Schließen des Nachrichtenfensters auf Abbrechen.
Setzen Sie die Aufzeichnung fort.
Sie können Ihr Script so anpassen, dass es diese Arten von Nachrichtenfenstern unterdrückt. Der hierfür benötigte Code kann kompliziert sein. Weitere Informationen enthalten die weiterführenden Abschnitte zu Functional Test, Java Scripting oder Functional Test, VB.NET Scripting.
Versuchen Sie, beim Aufzeichnen eines browserübergreifend kompatiblen Scripts das Aufzeichnen von Nachrichtenfenstern zu vermeiden. Wenn Sie ein Script aufzeichnen, das nicht browserübergreifend kompatibel ist, können Sie Nachrichtenfenster in Ihrem Script aufzeichnen.
Auf der Windows-Plattform unterstützt Functional Test Dialogfenster für den Dateidownload, die Anzeige von Zertifikat- und Sicherheitswarnungen, die Dateiauswahl (Datei öffnen/Datei speichern) sowie Anmelde- und Druckdialogfenster. Diese Dialogfenster der Benutzeroberfläche sind nur mit einem bestimmten Browser und nicht browserübergreifend kompatibel. Das Anmeldedialogfenster ist in den meisten Fällen browserübergreifend kompatibel.
URLs ohne Konfiguration der Anwendung testen
Während der Konfiguration einer Anwendung fügt Functional Test dem Tool für die Anwendungskonfiguration den Anwendungsnamen hinzu. Wenn Sie viele verschiedene URLs testen, kann die Anwendungsliste sehr lang werden. Wenn Sie der Liste eine URL nicht hinzufügen möchten, können Sie diese testen, indem Sie den startBrowser-Befehl auf ein leeres Script anwenden.
Erstellen Sie ein neues Functional Test-Script ohne Aufzeichnen.
Geben Sie in eine Leerzeile den folgenden Befehl ein:
startBrowser ("url");
wobei url
der zu testenden URL entspricht.
Speichern Sie das Script, und führen Sie es aus.
Wenn die Seite angezeigt wird, klicken Sie in der Functional Test-Symbolleiste auf Aufzeichnung in aktives Functional Test-Script einfügen und starten die Aufzeichnung der Seite erneut.
HTAs testen
Functional Test unterstützt das Testen von Microsoft HTML Applications (MSHTA). Vor dem Testen einer MSHTA müssen Sie diese konfigurieren, indem Sie die Datei mshta.exe ausführen. So konfigurieren Sie jede zu testende HTA:
Wählen Sie im Listenfeld Gattung des Tools für die Anwendungskonfiguration den Eintrag Ausführbare Datei oder Stapeldatei aus.
Wählen Sie im Listenfeld Ausführbare Datei den Eintrag mshta.exe aus.
Übergeben Sie im Feld Argumente den Parameter x.hta an die ausführbare Datei. Hierbei steht x für den Namen der HTA-Datei.
Weitere Informationen hierzu finden Sie unter "Anwendungen für Tests konfigurieren".
Mit TestManager Tests über Remotezugriff ausführen
Wenn TestManager installiert ist, können Sie HTML-Anwendungen über Remotezugriff auf Linux-Computern testen. Informationen hierzu finden Sie unter Infos zu lokalen und Agentencomputern.
Durch Java-Plug-ins verursachte Fehler beheben
Wenn beim Testen von HTML-Anwendungen oder beim Starten des Komparators über den Link Ergebnisse anzeigen im HTML-Protokoll ein Fehler zurückgegeben wird, der sich auf das Java-Plug-in bezieht, müssen Sie prüfen, ob das Java-Plug-in Ihres Browsers korrekt konfiguriert ist. Entsprechende Anweisungen finden Sie unter Java-Plug-in eines Browsers aktivieren.
Hinweis zur Integration in TestManager
Functional Test ist in Rational TestManager Version 2003.06.13 integriert. Wenn Sie mit der Version 2003.06.13 von TestManager arbeiten, können Sie die integrierten Funktionen Functional Test und TestManager nutzen. Wichtige Informationen zur kombinierten Verwendung der beiden Produkte finden Sie unter Functional Test-Produktpakete und -integration.
Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.