Handbuch
Version 8.0.1 |
Für Java war Drag&Drop von Anfang an ein schwieriges Thema. In JDK 1.1 gab es dafür gar keine Unterstützung, in JDK 1.2 erste, kaum brauchbare Gehversuche und seit JDK 1.3 eine relativ vollständige und portable Implementierung, die allerdings bei manchen VMs für Stabilitätsprobleme sorgt. Der Grund für diese Schwierigkeiten ist zum einen in dem extrem unterschiedlichen Ansatz der verschiedenen Betriebssysteme für die Implementierung von Drag&Drop zu suchen, zum anderen in dem Anspruch, nicht nur Drag&Drop innerhalb von Java Programmen zu unterstützen, sondern auch zwischen Java und dem zugrundeliegenden System.
Die Konsequenz aus dieser Situation ist, dass Drag&Drop in Java vollständig "native" implementiert ist, d.h. auf der Ebene des Betriebssystems. Die zugehörigen Events sind für QF-Test weder auswertbar, noch können sie von QF-Test mit Java-Mitteln generiert werden. Daher kann Drag&Drop nicht direkt abgespielt werden.
Dennoch bietet QF-Test für JDK 1.3 und höher Unterstützung für Drag&Drop. Die direkte Aufnahme
von Drag&Drop wird ab JDK 1.4 unterstützt. Zur Wiedergabe dienen die
'Mausevents'DRAG_FROM
und DROP_TO
, sowie das
optionalen DRAG_OVER
. Beim Abspielen setzt QF-Test den sogenannten AWT Robot
ein, der es ermöglicht, "harte" Events auf Betriebssystemebene zu generieren und der
erst ab JDK 1.3 zu Java gehört. Diese "harten" Events bewegen den Mauszeiger
tatsächlich über den Bildschirm und lösen so die nötigen Events für eine Drag&Drop Operation
aus.
Auch die Simulation von Drag&Drop bei gedrückter [Shift] oder
[Strg] Taste ist möglich. Ändern Sie hierzu die
'Modifiers' Attribute der DRAG_FROM
,
DRAG_OVER
und DRAG_TO
'Mausevents' und fügen Sie den
Shift oder Strg modifier hinzu. Für Strg müssen Sie z.B. 2 zum aktuellen Wert
addieren. Es ist sogar möglich, das Drücken oder Loslassen der [Shift] oder [Strg] Tasten während der Drag Operation zu
simulieren, indem Sie nur die Modifier eines Teils der Events ändern.
Wie erwähnt war Drag&Drop anfangs auf manchen Systemen nicht gerade stabil. Mit älteren JDKs konnte es vorkommen, dass der Einsatz des AWT Robot zum Simulieren von Drag&Drop das SUT zum Absturz bringt, oder im Extremfall sogar das gesamte System lahm legt. Inzwischen ist die Situation deutlich besser. Durch die Einführung der Interpolation von Mausbewegungen konnte die Zuverlässigkeit der Drag&Drop Wiedergabe deutlich verbessert werden. Näheres hierzu finden Sie in Abschnitt 40.3.5.1.
Hinweis Unter Windows kann es zu allem Überfluss auch zu Konflikten mit dem Maustreiber kommen. Sollte es Probleme mit Drag&Drop geben, reduzieren Sie in den Mauseinstellungen der Systemsteuerung die Geschwindigkeit des Mauszeigers auf 50%.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |
Wir verwenden Cookies zur anonymisierten Auswertung Ihres Besuchs auf unserer Webseite durch »Matomo«. Dafür benötigen wir Ihr Einverständnis, welches für zwölf Monate gilt. Ein Widerruf bzw. Opt-out ist jederzeit auf unser Datenschutz-Seite möglich.
1. Funktionale Cookies
Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.
2. Performance und Statistik Cookies
Wir verwenden Matomo zur Analyse und Optimierung unserer Webseite. Cookies erlauben eine anonyme Erfassung der Informationen und helfen uns, Ihnen einen benutzerfreundlichen Besuch unserer Webseite zu bieten.
Dieses Cookie enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
Dieses Cookie wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
wird erzeugt und versucht sofort wieder zu löschen (zur Prüfung, ob der Browser des Besuchers Cookies unterstützt).
Kurzzeit-Cookies für temporäre Besuchsdatenspeicherung.
Kurzzeit-Cookies für temporäre Besuchsdatenspeicherung.