Dieses Proxymuster veranschaulicht, wie das Aufzeichnungsverhalten eines Steuerelements mit SubItem-Elementen erweitert und die entsprechende Wiedergabe unterstützt wird.
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.
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.
Sie können das Aufzeichnungsverhalten des Drehfelds folgendermaßen prüfen: