Lerneinheit 8: Objektübersicht aktualisieren

In dieser Lerneinheit werden Sie die Warnung bezüglich der Objekterkennung mit Hilfe der Objektübersicht korrigieren. Dabei werden Sie zwecks größerer Flexibilität bei der Objekterkennung auch einen regulären Ausdruck verwenden.

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

Wenn Ihnen ein Fehler oder eine Warnung bei der Objekterkennung angezeigt wird, lesen Sie die entsprechende Protokollnachricht. Am Ende von Lerneinheit 7 haben Sie das Protokoll geöffnet gelassen. Sollte es jedoch geschlossen sein, müssen Sie es jetzt durch Doppelklicken im Solution-Explorer öffnen.  

Das Protokoll enthält nur eine einzige Warnung. Die Ereigniskopfzeile lautet: Objekterkennung ist schwach (oberhalb der Warnschwelle).

  1. Prüfen Sie die Felder ObjectLookedFor und objectFound im Bereich zu den Warnungen kurz vor Ende des Protokolls.

    In "ClassicsA" lautet der Name des Kennwortfelds Remember Password. In "ClassicsB" lautet dieser Name Remember The Password. Als Sie das Script für "ClassicsB" ausgeführt haben, gab es aufgrund dieser Differenz keine Übereinstimmung bei der Objekterkennung.

  2. Sehen Sie sich im Protokoll das Feld Zeilennummer an. Notieren Sie sich die Nummer. Schließen Sie dann das Protokoll, um zu Functional Tester zurückzukehren.
  3. Klicken Sie im Scriptfenster zunächst auf eine beliebige Stelle und anschließend auf Bearbeiten > Go to (Gehe zu).
  4. Geben Sie die Zeilennummer der Fehlernachricht aus dem Protokoll ein, und klicken Sie auf OK.
    Der Cursor wird an den linken Rand dieser Zeilennummer versetzt.
    Anmerkung: Sie können die Zeilennummer allerdings auch über die Anzeige im unteren Bereich des Functional Tester-Fensters finden. Hier werden die Zeilennummer und die Cursorposition innerhalb der Zeile angezeigt. "Ln 6 Col 9" verweist beispielsweise auf die Position in Zeile 6, die 9 Zeichen rechts vom linken Rand ist.
    Die Zeile in Ihrem Script muss wie folgt lauten:

    RememberPassword().ClickToState(SELECTED)

    Diese Zeile stellt Ihr Klicken auf das Kennwortfenster dar. Sie gibt an, bei welchem Objekt der Fehler aufgetreten ist. Jetzt können Sie sich das betreffende Objekt in der Objektübersicht anschauen.

  5. Suchen Sie nach dem Objekt in der Liste der Testobjekte im Script-Explorer (im linken Teilfenster).

    RememberPassword muss im Ordner Testobjekte angezeigt werden.

Objekterkennungseigenschaften in der Objektübersicht anzeigen

  1. Klicken Sie doppelt auf das Objekt rememberPassword, um es in der Objektübersicht zu öffnen.
  2. Klicken Sie im Objektübersichtsmenü auf Testobjekt > Alle akzeptieren Testobjekt > Alle akzeptieren. Ist der Befehl abgeblendet, müssen Sie nichts unternehmen.

    Beachten Sie, dass der Text jetzt bei allen Objekten in schwarzer Farbe dargestellt wird. Er wird immer solange in blau dargestellt (um neue Objekte zu kennzeichnen), bis Sie die Objekte in eine Übersicht übernehmen. Sie müssen die Objekte immer bei der ersten Anzeige einer neu erstellten Objektübersicht übernehmen.

  3. Ist das Markierungsfeld für das Kennwort nicht ausgewählt, holen Sie das jetzt nach (Das Objekt lautet wie folgt: Java: checkBox: checkRemeber: javax.swing.JCheckBox.)
  4. Schauen Sie sich die Erkennungseigenschaften auf der Registerkarte Erkennung im unteren Bereich der Objektübersicht an.

    Dabei werden Sie feststellen, dass es sich hier um das Objekt aus "ClassicsA" handelt, da für die Eigenschaft accessibleContext.accessibleName der Wert Remember Password eingetragen ist. Dies ist das alte Objekt. Als Sie das Script jedoch für "ClassicsB" wiedergegeben haben, wurde der Text zu diesem Objekt geändert. Deshalb wird das Objekt von Functional Tester jetzt als "neues" Objekt erkannt. Da Sie in diesem Fall die neuen Objekteigenschaften verwenden möchten, müssen Sie das Objekt zur Übersicht hinzufügen.

Neues Objekt zur Übersicht hinzufügen

Öffnen Sie "ClassicsB" und das Dialogfenster für die Memberanmeldung, um das neue Objekt zur Übersicht hinzuzufügen.

  1. Klicken Sie im Objektübersichtsmenü auf Anwendungen > Ausführen.
  2. Wählen Sie ClassicsJavaB mit dem Pfeil aus. (Achten Sie darauf, dass Sie wirklich "B" auswählen.)
  3. Klicken Sie auf OK.
  4. Wählen Sie in "ClassicsCD" eine beliebige CD aus, und klicken Sie auf Place Order (Auftrag platzieren).

    Daraufhin wird das Dialogfenster für die Memberanmeldung geöffnet.

  5. Verschieben Sie die Objektübersicht (bei Bedarf) in Ihrer Anzeige weiter nach unten, um den kompletten Inhalt zu sehen. Klicken Sie im Objektübersichtsmenü auf Testobjekt > Objekt(e) einfügen.

    Das entspricht dem Tool für die Objektsuche auf der Seite Objekt auswählen im Prüfpunktassistenten.

  6. Inaktivieren Sie die Option zum Fortfahren auf der nächsten Seite, wenn sie aktiviert ist.
  7. Verwenden Sie das Tool für die Objektsuche, um das Markierungsfeld Remember the Password (Kennwort merken) im Fenster für die Memberanmeldung zu aktivieren.

    Wenn Sie das Markierungsfeld aktiviert haben, werden Sie feststellen, dass die Eigenschaft accessibleContext.accessibleName jetzt "Remember The Password" (Kennwert merken) lautet. Vergrößern Sie (bei Bedarf) den Rahmen um die Objektübersicht, um alle Eigenschaften sehen zu können.

  8. Klicken Sie auf der Seite Objekt auswählen auf Weiter.
  9. Behalten Sie sämtliche Werte und Einstellungen auf der Seite Optionen für die Objektauswahl bei, und klicken Sie auf Fertig stellen.

    Das neue Markierungsfeldobjekt wird jetzt in der Objektübersicht angezeigt.

  10. Klicken Sie auf ein anderes Objekt. Beachten Sie, dass das neue Element blau dargestellt wird und am Anfang der Zeile der Hinweis "Neu" steht.

    Jetzt werden sowohl das alte als auch das neue Objekt in der Übersicht aufgeführt. Sie möchten die beiden Objekte unifizieren und die gewünschten Eigenschaften der beiden für das neue Objekt übernehmen.

Objekte unifizieren

  1. Klicken Sie zum Unifizieren auf das alte Objekt (das ursprüngliche Markierungsfeld mit dem Titel "CheckBox: checkRemember"), und ziehen Sie es zum neuen Objekt in der Liste. Positionieren Sie die Spitze des Cursorpfeils auf dem neuen Objekt, und lassen Sie die Maustaste dann wieder los.

    Der Assistent zum Unifizieren von Testobjekten wird angezeigt.

  2. Vergrößern Sie den Assistenten bei Bedarf, um auch die Informationen in den unteren Abschnitten sehen zu können.

    Links unten werden die Eigenschaften des Originalobjekts angezeigt. Dort müsste "Quelle: RememberPassword" angezeigt werden. So lautete der Text zum Markierungsfeld in "ClassicsA". Unten rechts müsste "Ziel: RememberThePassword" zu lesen sein. So lautet der Text zum Markierungsfeld in "ClassicsB". Da Sie das alte Objekt zum neuen Objekt bewegt haben, werden im oberen Bereich die Erkennungseigenschaften des neuen Objekts eingetragen. In der Regel werden die neuen Eigenschaften, sofern es sich um die bevorzugten Eigenschaften handelt, von Functional Tester oben eingetragen. Möglicherweise werden aber auch einige alte Verwaltungseigenschaften bevorzugt. So werden z. B. reguläre Ausdrücke von Functional Tester in den alten Eigenschaften beibehalten. Möchten Sie eine Eigenschaft aus dem alten Objekt verwenden, müssen Sie im Raster des alten Objekts doppelt auf die betreffende Eigenschaft klicken. Daraufhin wird diese Eigenschaft in das unifizierte Objekt kopiert. Im vorliegenden Fall sollen alle Eigenschaften des neuen Objekts verwendet werden, die bereits übernommen wurden.

  3. Klicken Sie auf Weiter.

    Alle Scripts, die von dieser Änderung in der Objektübersicht betroffen sind, werden aufgelistet. In diesem Fall ist es nur eines, nämlich "Classics".

  4. Klicken Sie auf Fertig stellen.
  5. Klicken Sie in der Objektübersicht auf Datei: Speichern, um die vorgenommenen Änderungen zu speichern, und schließen Sie die Objektübersicht.

Script erneut wiedergeben

Nun soll das Script erneut auf "ClassicsB" angewendet werden, um seine Funktionstüchtigkeit zu prüfen.

  1. Schließen Sie zunächst die beiden Dialogfenster von "ClassicsCD".
  2. Klicken Sie in Functional Tester auf Functional Test-Script ausführen.
  3. Wählen Sie das Protokoll Classics aus, und klicken Sie auf Fertig stellen.

    Das Script läuft jetzt ohne Ausgabe von Warnungen ab! Beachten Sie dabei, dass die Wiedergabe jetzt nicht mehr am Markierungsfeldobjekt unterbrochen wird, da die Erkennungseigenschaften jetzt übereinstimmen.

    Mit dieser Funktion zur Objektunifizierung verfügen Sie über eine bequeme Methode zum Aktualisieren von Scripts für den Fall, dass die Erkennungseigenschaften eines Objekts absichtlich geändert werden. Einer der größten Vorteile dieser Funktion besteht darin, dass Sie für den Fall, dass Ihre Objektübersicht von mehreren Scripts verwendet wird, bei Einsatz des Assistenten alle Scripts gleichzeitig aktualisieren können. Statt also mehrere Scripts manuell zu bearbeiten, können Sie eine Änderung einmalig in der Übersicht vornehmen, und alle anderen Scripts werden automatisch aktualisiert. Das bedeutet für Sie eine enorme Zeitersparnis.

    Anmerkung: Es gibt noch eine einfachere Möglichkeit, um die Erkennungseigenschaften eines Testobjekts nach einer Änderung zu aktualisieren. Statt (wie in dieser Übung beschrieben) den Unifizierungsassistenten zu verwenden, können Sie von der Objektübersicht aus das Testobjekt auswählen, dessen Erkennungseigenschaften aktualisiert werden sollen. Klicken Sie in der Baumstruktur der Objektübersicht mit der rechten Maustaste auf das Testobjekt, und wählen Sie Erkennungseigenschaften aktualisieren aus dem Kontextmenü aus. Bei Ausführung dieser Aktion muss die Testanwendung aktiv sein, damit Functional Tester auf die aktualisierten Erkennungseigenschaften zugreifen kann. Diese Aktualisierungsmethode kann aber nur angewendet werden, wenn Sie keinerlei Eigenschaften des alten Objekts verwenden möchten.
  4. Schließen Sie das Protokoll.

Weiter mit Lerneinheit 9: Erkennungseinstellungen ändern.


Feedback