Lerneinheit 10: Reguläre Ausdrücke verwenden

Die letzte Aktion, die Sie mit der Objektübersicht ausführen werden, ist die Umwandlung eines Eigenschaftswerts in einen regulären Ausdruck. Im vorliegenden Fall sorgt der reguläre Ausdruck für mehr Flexibilität bei der Objekterkennung.

Informationen zum Starten des Lernprogramms finden Sie unter Lernprogramme für Functional Tester.

Sie haben gerade gesehen, wie das Script für "ClassicsB" ohne Unterbrechung durchgelaufen ist. Genau das war auch das Ziel, denn die an der Anwendung in "ClassicsB" vorgenommenen Änderungen sind richtig. Das Script befindet sich jetzt also im gewünschten Status. Wenn Sie das Script jetzt auf "ClassicsA" anwenden, wird es aufgrund der zu einem früheren Zeitpunkt vorgenommenen Änderungen zu einem Fehler kommen. Möglicherweise möchten Sie ja auch mehr als eine Objektvariante als akzeptabel für das Script zulassen. So können Sie beispielsweise mit einem dynamischen Objekt oder mit mehreren Versionen Ihrer Anwendung mit nur leicht unterschiedlichen Versionen eines Objekts arbeiten, und beide sind richtig. Sie können einen regulären Ausdruck verwenden, über den Sie mehrere Versionen eines Eigenschaftswerts (wie beispielsweise text) für dieses Szenario zulassen.

Objektübersicht öffnen und Objekte unifizieren

  1. Möchten Sie das Script auf "ClassicsA" anwenden, müssen Sie den Befehl "StartApp" am Anfang des Scripts editieren und den Buchstaben "B" in "A" ändern.

  2. Klicken Sie in der Functional Tester-Symbolleiste auf die Schaltfläche Functional Test-Script ausführen.

    Während der Wiedergabe stoppt Functional Tester kurz am Markierungsfeldobjekt, setzt die Wiedergabe danach aber bis zum Ende fort. Dann wird vom Script eine Warnung ausgegeben. Beachten Sie in dem Protokoll, dass sich die Warnung auf dasselbe Objekt, nämlich das Kennwortmarkierungsfeld, bezieht.

  3. Schließen Sie das Protokoll. Öffnen Sie dann die Objektübersicht (wie in Lerneinheit 8) über das Kennwortmarkierungsfeld, indem Sie im Script-Explorer doppelt auf rememberPassword klicken.
  4. Öffnen Sie in der Objektübersicht die Anwendung durch Klicken auf Anwendungen > Ausführen.
  5. Wählen Sie ClassicsJavaA aus, und klicken Sie auf OK.
  6. Wählen Sie eine beliebige CD aus, und klicken Sie in "ClassicsCD" auf Place Order (Auftrag platzieren), um das Dialogfenster für die Memberanmeldung zu öffnen.
  7. Fügen Sie das neue Objekt zur Übersicht hinzu, indem Sie auf Testobjekt > Objekt(e) einfügen klicken.
  8. Verwenden Sie die Objektsuche, um das Kennwortmarkierungsfeld im Dialogfenster für die Memberanmeldung zu aktivieren.
  9. Klicken Sie auf Weiter und dann auf Fertig.
  10. Ziehen Sie im oberen Teilfenster der Objektübersicht das alte Markierungsfeldobjekt zum neuen Markierungsfeldobjekt, um die beiden Objekte so zu unifizieren.
  11. Vergrößern Sie den Assistenten zum "Unifizieren von Testobjekten". Ziehen Sie dazu (bei Bedarf) eine der Seiten nach außen, um die Felder so zu verlängern.

    Sie werden mit zwei verschiedenen regulären Ausdrücken arbeiten: Ein Ausdruck bezieht sich auf die Eigenschaft name, der andere auf die Eigenschaft text.

    Das unifizierte Objekt wird im Raster Unifizierte Testobjekteigenschaften (oberes Teilfenster) angezeigt. Die Eigenschaft name hat den Wert "checkRemember".

Eigenschaftswert in regulären Ausdruck umwandeln

  1. Klicken Sie im oberen Teilfenster mit der rechten Maustaste auf den Wert checkRemember. Klicken Sie anschließend auf Wert in regulären Ausdruck umwandeln.

    Functional Tester legt den Wert über das Symbol "xy" vor dem zum Wert gehörenden Text als regulären Ausdruck fest.

  2. Klicken Sie erneut doppelt auf den Wert für name, so dass Sie das Feld anschließend editieren können.
  3. Löschen Sie das Wort check, und editieren Sie den Rest wie folgt:

    [rR]emember

  4. Klicken Sie erneut auf eine Position außerhalb dieser Zelle.

    Bei diesem Muster ist das Wort "remember" sowohl mit dem Buchstaben "R" in Großschreibung als auch mit dem Buchstaben "r" in Kleinschreibung zugelassen. Das ist deshalb von Bedeutung, weil Vergleiche unter Berücksichtigung der Groß-/Kleinschreibung ausgeführt werden und nur eine exakte Übereinstimmung akzeptiert wird.

    Der Wert der Eigenschaft text lautet "Remember Password".

  5. Klicken Sie mit der rechten Maustaste auf den Wert Remember Password, und wählen Sie Wert in regulären Ausdruck umwandeln aus, um die Umwandlung vorzunehmen.
  6. Klicken Sie anschließend doppelt auf den Wert, und editieren Sie ihn wie folgt:

    Remember.*Password

    Sie entfernen also das Leerzeichen und fügen einen Punkt (.) und einen Stern (*) hinzu.

  7. Klicken Sie auf eine andere Zelle.

    Durch "." wird angegeben, dass an dieser Position ein beliebiges Zeichen stehen kann. In der einen Version der Anwendung finden Sie zwischen den beiden Wörtern dieser Eigenschaft ein Leerzeichen, in der anderen Version dagegen nicht. In diesem Muster werden beide Fälle abgedeckt.

  8. Klicken Sie im Assistenten auf Weiter und dann auf Fertig stellen.
  9. Klicken Sie in der Objektübersicht auf Datei > Speichern, um die vorgenommenen Änderungen zu speichern, und schließen Sie die Objektübersicht.
  10. Schließen Sie "ClassicsCD".

    Nun folgt der angenehme Teil!

  11. Führen Sie das Script erneut für "ClassicsA" aus. Klicken Sie bei Bedarf an eine beliebige Stelle im Functional Tester-Fenster, um die Functional Tester-Symbolleiste zu aktivieren. Klicken Sie anschließend auf die Schaltfläche Functional Test-Script ausführen. Der Prüfpunkt für Bilder und der Prüfpunkt für Eigenschaften sind fehlgeschlagen. Der Fehler beim Prüfpunkt für Bilder liegt an der unterschiedlichen Höhe und Gewichtung des Objekts javax.swing.JLabel. Der Prüfpunkt für Eigenschaften ist erwartungsgemäß fehlgeschlagen, da der Text Orders for Trent Culpito nicht in einen regulären Ausdruck geändert wurde.

    Die Warnung zur Objekterkennung in "ClassicsA" wird im Protokoll nicht mehr angezeigt.

  12. Schließen Sie das Protokoll.
  13. Ändern Sie den Befehl "StartApp" für die Wiedergabe von "ClassicsB", und führen Sie dann das Script aus.

Die Objekterkennung funktioniert auch für "ClassicsB" fehlerfrei! Reguläre Ausdrücke bieten mehr Flexibilität in Bezug auf die Erkennung eines Objekts mit verschiedenen Eigenschaften in verschiedenen Versionen einer Anwendung. Die Erkennung während der Wiedergabe funktioniert problemlos.

Weitere Informationen zur Objektübersicht finden Sie unter Testobjektübersicht.

Weitere Informationen zur Verwendung regulärer Ausdrücke finden Sie unter Erkennungseigenschaft durch ein Muster ersetzen.

Lernprogramm - Zusammenfassung

Im vorliegenden Lernprogramm zu Functional Tester haben Sie erfahren, wie Sie Functional Tester für die Ausführung von Tests konfigurieren müssen, wie Scripts aufgezeichnet und wiedergegeben werden, wie Prüfpunkte erstellt und wie der Prüfpunktkomparator zum Aktualisieren von Objekteigenschaften oder Daten eingesetzt wird. Außerdem haben Sie verschiedene Möglichkeiten kennengelernt, wie Sie die Objektübersicht zu Ihrem Vorteil nutzen können. Darüber hinaus sind viele weitere Features und Anwendungsfälle von Functional Tester wie die Integration von ClearCase und die plattformübergreifende Wiedergabe verfügbar. Weitere Informationen zu Functional Tester erhalten Sie über das Inhaltsverzeichnis im Functional Tester-Benutzerhandbuch.


Feedback