Beispiele

Dieses Proxymuster veranschaulicht, wie das Aufzeichnungsverhalten eines Steuerelements mit SubItem-Elementen erweitert und die entsprechende Wiedergabe unterstützt wird.

Erweiterte Funktionalität: Steuerelemente für die Aufzeichnung mit SubItem-Elementen

In diesem Proxymuster wird die Proxy-API processSingleMouseEvent() erweitert, um das Aufzeichnungsverhalten eines Drehfelds zu ändern. Obwohl einem Drehfeld zwei Schaltflächen und ein Textsteuerelement untergeordnet sind, muss es beim Testen als ein einziges Steuerelement behandelt werden, und in der Testobjektübersicht dürfen keine untergeordneten Elemente angezeigt werden. (Die Schaltflächen und der Text werden in der Testobjektübersicht als SubItem-Elemente behandelt.) Durch die Implementierung von processSingleMouseEvent() werden Methoden mit geeigneten SubItem-Elementen, z. B. atButton("UP") oder atButton("DOWN"), als Parameter für die Aufzeichnung festgelegt. Beachten Sie auch, dass zwar untergeordnete Objekte des Drehfelds vorhanden sind, diese jedoch nicht als separate Testobjekte aufgelistet werden dürfen. Daher werden die APIs getChildAtPoint() und getChildren() erweitert, um Nullwerte zurückzugeben. Diese untergeordneten Objekte werden als SubItem-Elemente behandelt.

Unterstützung für die Wiedergabe

Damit die Wiedergabe jedes SubItem-Elements, das während der Aufzeichnung auftritt, unterstützt werden kann, sucht Functional Tester mit Hilfe des Proxys nach dem Anzeigerechteck für jedes SubItem-Element. Das Anzeigerechteck eines SubItem-Elements kann durch Erweitern der Proxy-API java.awt.Rectangle getScreenRectangle(Subitem subitem) bereitgestellt werden.

Binärdateien implementieren

Kopieren Sie die Dateien JSpinnerProxy.jar und JSpinnerProxy.rftcust in das Verzeichnis für die Anpassung, und starten Sie Functional Tester erneut, um die getestete Musteranwendung (application-under-test, AUT) zu testen.

Aufzeichnungsverhalten prüfen

Sie können das Aufzeichnungsverhalten des Drehfelds folgendermaßen prüfen:

  • Wenn Sie vor dem Implementieren der Proxys die Ergebnisse der Schaltflächen mit Auf- und Abwärtspfeil von JSpinner aufzeichnen, werden die Mausklicks als button.click() aufgezeichnet, wobei jede Schaltfläche mit Auf- oder Abwärtspfeil als separates Steuerelement behandelt wird.
  • Nach dem Implementieren der Proxys wird ein Mausklick auf die Schaltfläche mit Aufwärtspfeil als spinner().click(atButton("UP")) aufgezeichnet. Beachten Sie, dass die Schaltflächen als SubItems-Elemente behandelt und aufgezeichnet werden, nicht als separate Testobjekte.

Wiedergabeverhalten prüfen

  • Wenn Sie vor dem Implementieren der Proxys Benutzeraktionen mit SubItem-Elementen wiedergeben, z. B. spinner().click(atButton("UP")), wird die Ausnahmebedingung Point not found (Punkt nicht gefunden) ausgelöst.
  • Nach dem Implementieren der Proxys werden Benutzeraktionen mit SubItem-Elementen problemlos wiedergegeben.
Übergeordnetes Thema: JSpinnerProxy

Feedback