Tipps und Tricks für Funktionstests von HTML-Anwendungen

Im vorliegenden Abschnitt finden Sie 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 Tester die Anwendung während der Aufzeichnung starten. Functional Tester ö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

Es stehen zwei Versionen der deleteCookies-Methode zur Verfügung. 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 finden Sie in der API-Referenz zu Functional Tester 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.

Sicherstellen, dass während der Wiedergabe die Vollanzeige für Java-Applets aktiviert ist

Wenn Sie das Browserfenster verkleinern, verschiebt Functional Tester die Applet-Objekte während der Wiedergabe nicht in den Anzeigebereich, wenn 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:

  1. Klicken Sie beim Aufzeichnen in einen beliebigen leeren Bereich im Browser-Header, um einen Browserklick in Ihre Testobjektübersicht einzufügen.
  2. Rufen Sie das Script nach dem Aufzeichnen auf, und positionieren Sie den Cursor in einer Leerzeile des Scripts.
  3. Blenden Sie im Script-Explorer Testobjekte ein. Klicken Sie dann mit der rechten Maustaste auf das Symbol Symbol "Browser_htmlBrowser" Browser_htmlBrowser, und wählen Sie die Option zum Einfügen des Softwarebausteins an der Cursorposition aus.
  4. Wählen Sie die loadURL(String)-Methode aus.
  5. Geben Sie den Namen der neuen URL zwischen den runden Klammern der Anweisung loadURL ein.
  6. 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:

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.

.readystate des Browserobjekts prüfen

Manchmal schlägt die Scriptwiedergabe für das Testen von HTML-Anwendungen fehl, wenn der Ready-Status des Browserobjekts nicht den Wert 4 aufweist. Stellen Sie sicher, dass der Ready-Status des Browsers den Wert 4 aufweist, während ein Script wiedergegeben wird. Ändern Sie hierfür das Testscript manuell, wie in den Beispielen gezeigt.

Script zum Prüfen des Browserstatus in Java: logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());

Script zum Prüfen des Browserstatus in .Net: LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)

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:

  1. Starten Sie während der Aufzeichnung die Anwendung.
  2. Klicken Sie auf die Schaltfläche Befehle für Prüfpunkt und Aktion einfügen Schaltfläche 'Befehle für Prüfpunkt und Aktion einfügen' in der Symbolleiste der Aufzeichnung.
  3. Klicken Sie auf der Seite Objekt auswählen des Assistenten für Prüfpunkt und Aktion auf das Symbol Objektsuche Symbol 'Objektsuche', und ziehen Sie es über die HTML-Seite (nicht direkt über den Browser).
  4. Klicken Sie auf Weiter.
  5. Klicken Sie auf der Seite Aktion auswählen des Assistenten für Prüfpunkt und Aktion auf die Option Auf ausgewähltes Testobjekt warten.
  6. 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.
  7. Klicken Sie auf Fertig stellen.

Folgende Klick- und Tastenkombinationen in plattformunabhängigen Scripts vermeiden

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:

  1. Halten Sie die Aufzeichnung beim Erscheinen eines Nachrichtenfenster an.
  2. Wählen Sie ein beliebiges Markierungsfeld aus, dessen Aktivierung das erneute Erscheinen der Nachricht verhindert.
  3. Klicken Sie zum Schließen des Nachrichtenfensters auf Abbrechen.
  4. 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 hierzu finden Sie unter den Themen zur Erweiterung der Funktionalität von Rational Functional Tester.

Versuchen Sie, beim Aufzeichnen eines browserübergreifend kompatiblen Scripts (das ist ein Script, das mit allen Browsern kompatibel ist, die von Functional Tester unterstützt werden) 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 Tester 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.

  1. Erstellen Sie ein neues Functional Test-Script ohne Aufzeichnen.
  2. Geben Sie in eine Leerzeile den folgenden Befehl ein:

    startBrowser ("url");

  3. Speichern Sie das Script, und führen Sie es aus.
  4. Wenn die Seite angezeigt wird, klicken Sie in der Functional Test-Symbolleiste auf Aufzeichnung in aktives Functional Tester-Script einfügen Schaltfläche "Aufzeichnung in aktives Functional Tester-Script einfügen", und starten Sie die Aufzeichnung der Seite erneut.

HTAs testen

Functional Tester 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:

  1. Wählen Sie im Listenfeld Gattung des Tools für die Anwendungskonfiguration den Eintrag Ausführbare Datei oder Stapeldatei aus.
  2. Wählen Sie im Listenfeld Ausführbare Datei den Eintrag mshta.exe aus.
  3. Übergeben Sie im Feld Argumente den Parameter x.hta an die ausführbare Datei. Dabei 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. Weitere Informationen hierzu finden Sie unter dem Thema "Lokale Computer und Agentencomputer".

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 ausgegeben wird, der sich auf das Java-Plug-in bezieht, müssen Sie prüfen, ob das Java-Plug-in Ihres Browsers korrekt konfiguriert ist. Anweisungen finden Sie in den Referenzinformationen unter "Java Plug-in eines Browsers aktivieren".

Hinweis zur TestManager-Integration: Functional Tester ist in Rational TestManager Version 7.0.2 integriert. Wenn Sie mit dieser TestManager-Version arbeiten, können Sie die integrierten Funktionen von Functional Tester und TestManager nutzen. Wichtige Informationen zur gemeinsamen Verwendung dieser Produkte finden Sie unter IBM Rational Functional Tester-Integration.

Zugehörige Tasks
Anwendungen für Tests konfigurieren
Java-Plug-in eines Browsers aktivieren
Funktionalität von Rational Functional Tester erweitern
Zugehörige Verweise
HTML-Unterstützung

Feedback