< Zurück | Weiter >

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.
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 auf Grund 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 Symbolleiste von Functional Test auf Functional Test-Script ausführen. Während der Wiedergabe stoppt Functional Tester kurz am Kennwortmarkierungsfeld, setzt die Wiedergabe danach aber bis zum Ende fort. Dann wird vom Script eine Warnung ausgegeben. Beachten Sie in diesem Zusammenhang, dass sich die Warnung auf dasselbe Objekt, nämlich das Testobjekt rememberPassword, 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 die Anwendung in der Objektübersicht durch Klicken auf Anwendungen > Ausführen. Wählen Sie ClassicsJavaA aus, und klicken Sie auf OK.
  5. Wählen Sie eine beliebige CD aus, und klicken Sie in "ClassicsCD" auf Place Order, um das Fenster für die Memberanmeldung zu öffnen.
  6. Fügen Sie das neue Objekt zur Übersicht hinzu, indem Sie auf Testobjekt > Objekt(e) einfügen klicken.
  7. Verwenden Sie die Objektsuche, um das Kennwortmarkierungsfeld im Fenster für die Memberanmeldung zu aktivieren.
  8. Klicken Sie auf Weiter und dann auf Fertig stellen.
  9. Ziehen Sie im oberen Fensterbereich der Objektübersicht das alte Markierungsfeldobjekt zum neuen Markierungsfeldobjekt, um die beiden Objekte so zu unifizieren.
  10. 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 einen 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 auf eine Position außerhalb der 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 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 anschließend wieder.
  10. Schließen Sie "ClassicsCD".
  11. Führen Sie das Script erneut für "ClassicsA" aus. Am Prüfpunkt für Bilder und am Prüfpunkt für Eigenschaften tritt ein Fehler auf. Der Fehler am Prüfpunkt für Bilder tritt auf, weil die Höhe und Breite des Objekts javax.swing.JLabel unterschiedlich ist. Am Prüfpunkt für Eigenschaften wird das Auftreten eines Fehlers erwartet, weil der Text Orders for Trent Culpito nicht in einen regulären Ausdruck umgewandelt 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 zu regulären Ausdrücken finden Sie in der Functional Tester-Hilfe.

< Zurück | Weiter >

Feedback