Bevor Sie mit dieser Übung beginnen können, müssen Sie bereits Übung 1.7: Komparator zum Aktualisieren von Prüfpunkten verwenden ausgeführt haben.
In dieser Übung 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.
Wenn Ihnen ein Fehler oder eine Warnung in Bezug auf die Objekterkennung angezeigt wird, lesen Sie die entsprechende Protokollnachricht. Am Ende von Übung 1.7 haben Sie das Protokoll weiterhin geöffnet gelassen. Sollte es jedoch geschlossen sein, müssen Sie es jetzt durch Doppelklicken in der Projektansicht öffnen. Das Protokoll enthält nur eine Warnung. Die Ereigniskopfzeile lautet: "Objekterkennung ist schwach (oberhalb der Warnschwelle)".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 auf Grund dieser Differenz keine Übereinstimmung bei der Objekterkennung.
Der Cursor wird zum linken Rand dieser Zeilennummer versetzt.
RememberPassword().clickToState(SELECTED);
Über diese Zeile wird Ihr Klicken auf das Kennwortfenster dargestellt. In dieser Zeile des Scripts wird angegeben, bei welchem Objekt der Fehler aufgetreten ist. Jetzt können Sie sich das betreffende Objekt in der Objektübersicht anschauen.
Unter dem Ordner Test Objects muss "rememberPassword" angezeigt werden.
Beachten Sie, dass jetzt der Text bei allen Objekten in schwarzer Farbe dargestellt wird. Der Text wird immer solange in blau dargestellt (so werden neue Objekte gekennzeichnet), bis Sie die Objekte in eine Übersicht übernehmen. Sie müssen die Objekte immer bei der ersten Anzeige einer neu erstellten Objektübersicht übernehmen.
Öffnen Sie "ClassicsB" und das Dialogfenster für die Memberanmeldung, um das neue Objekt zur Übersicht hinzuzufügen.Dabei werden Sie feststellen, dass es sich hier um das Objekt aus "ClassicsA" handelt, da für die Eigenschaft accessibleContext.accessibleName "Remember Password" eingetragen ist. Dies ist also das "alte" Objekt. Als Sie das Script jedoch für "ClassicsB" ausgeführt haben, wurde der Text zu diesem Objekt geändert, weshalb das Objekt von Functional Test als das "neue" Objekt erkannt wird. Da Sie in diesem Fall die neuen Objekteigenschaften verwenden möchten, müssen Sie das Objekt zur Übersicht hinzufügen.
Daraufhin wird das Dialogfenster für die Memberanmeldung angezeigt.
Das entspricht dem Tool für die Objektsuche auf der Seite Objekt auswählen im Prüfpunktassistenten.
Wenn Sie das Markierungsfeld ausgesucht haben, werden Sie bemerken, dass die Eigenschaft accessibleContext.accessibleName jetzt auf "Remember The Password" lautet. Vergrößern Sie (bei Bedarf) den Rahmen um die Objektübersicht, um alle Eigenschaften sehen zu können.
Das neue Markierungsfeldobjekt wird jetzt in der Objektübersicht angezeigt.
Jetzt werden sowohl altes als auch neues Objekt in der Übersicht aufgeführt. Sie möchten die beiden Objekte unifizieren und die Eigenschaften der beiden für das neue Objekt übernehmen.
Der Assistent zum "Unifizieren von Testobjekten" wird angezeigt.
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 oben im Assistenten die Erkennungseigenschaften des neuen Objekts eingetragen. Gewöhnlich werden die neuen Eigenschaften, sofern es sich um die bevorzugten Eigenschaften handelt, von Functional Test immer oben eingetragen. Möglicherweise werden aber auch einige alte Verwaltungseigenschaften bevorzugt. Beispielsweise werden von Functional Test reguläre Ausdrücke 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. Diese Eigenschaften sind bereits alle übernommen worden.
Alle Scripts, die von dieser Änderung in der Objektübersicht betroffen sind, werden aufgelistet. Es ist allerdings nur ein einziges Script, nämlich "Classics", davon betroffen.
Das Script läuft jetzt ohne Ausgabe von Warnungen ab! Beachten Sie dabei, dass die Wiedergabe jetzt nicht mehr am Kennwortmarkierungsfeld unterbrochen wird, da die Erkennungseigenschaften einander jetzt entsprechen.
Mit diesem Feature für die 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, den dieses Feature bietet, 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 editieren, können Sie eine Änderung einmalig in der Übersicht vornehmen, von wo aus sie automatisch an alle betroffenen Scripts weiterverbreitet wird. Mit diesem Feature können Sie viel Zeit sparen.
Hinweis: Es gibt noch einen einfacheren Weg, um die Erkennungseigenschaften eines Testobjekts bei 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 mit der rechten Maustaste in der Baumstruktur der Objektübersicht auf das Testobjekt und wählen Sie aus dem Popup-Menü Erkennungseigenschaften aktualisieren aus.Voraussetzung für diese Aktion ist allerdings, dass die Testanwendung in Betrieb ist, so dass Functional Test in der Lage ist, auf die aktualisierten Erkennungseigenschaften zuzugreifen. Diese Aktualisierungsmethode kann aber nur angewendet werden, wenn Sie keinerlei Eigenschaften des alten Objekts verwenden möchten.
Sie können nun mit Übung 1.9: Erkennungseinstellungen ändern fortfahren.