Ein weiteres Problem von automatischen Testläufen sticht zunächst
nicht ins Auge: Das Timing. Bei jedem Durchgang ist das
Laufzeitverhalten des SUT anders. Das hat verschiedene Ursachen,
darunter vor allem die Belastung des Rechners durch andere
Programme. Das kann dazu führen, dass eine Zielkomponente für einen
von QF-Test zu simulierenden Event noch gar nicht geöffnet wurde.
Um unnötige Fehler dieser Art zu verhindern kombiniert QF-Test mehrere
Methoden:
-
Events werden mit der AWT
EventQueue
synchronisiert,
das heißt es wird so lange kein weiterer Event an das SUT
geschickt, bis alles, was sich als Folge des letzten Events in der
EventQueue angesammelt hat, abgearbeitet ist.
-
In manchen Fällen, vor allem bei asynchronen Updates der Oberfläche,
reicht dies nicht aus. Kann eine Komponente nicht gefunden werden,
wartet QF-Test eine gewisse Zeit auf deren Erscheinen, bevor ein Fehler
ausgelöst wird. Diese Zeitspanne ist mittels der Option Warten auf nicht vorhandene Komponente (ms) einstellbar.
-
Eine analoge Verzögerung gibt es mit der Option Warten auf nicht vorhandenes Element (ms) für Unterelemente von komplexen
Komponenten wie Baumknoten oder Tabellenzellen.
-
Für besonders lange Wartezeiten kann explizit mit Hilfe eines
'Warten auf Komponente' auf eine Komponente
gewartet werden.