05. Februar 2019
QF-Test als Rechner benutzen
Manchmal muss man mathematische Berechnungen in QF-Test durchführen, z.B. um die zu erwartende Höhe eines GUI Elements in Abhängigkeit zur kompletten Fenstergröße oder die exakte Klickposition eines Mausklicks zu berechnen.
Dafür benutzt man den Skript Knoten. Alternativ dazu ist es möglich den "$[some mathematical expression]" Ausdruck innerhalb der Knoten Attibrute zu benutzen. Beispielsweise wird dieser Ausdruck "$[3 + 3]" durch 6 ersetzt. Wenn wir die Weite eines solchen aktuellen Elements in einer QF-Test Variablen namens "canvasWidth" speichern, können wir "$[$(canvasWidth) - 1]" nutzen, um irgendwo am rechten Rand eines GUI Elements klicken zu können:
Tatsächlich wird der mathematische Ausdruck in eckigen Klammern in einen Jython Eval Ausdruck umgewandelt. Somit wird es möglich anspruchsvollere Operationen innerhalb eines solchen "$[...]" Ausdrucks durchzuführen:
- $["Hello World"[1:5]] wird durch "ello" ersetzt.
- $[rc.getLanguageName()] wird durch "jython" ersetzt.
- $[re.split("\\d*", "foo123bar4foobar")[1]] wird durch "bar" ersetzt. Bitte beachten, dass dieses Statement nur funktionieren wird, wenn Sie vorher ein Jython Server Skript ausgeführt haben, das das Re-Modul importiert.
- $[__import__('re').split("\\d*", "foo123bar4foobar")[1]] wird durch "bar" ersetzt. Dieses Statement wird in jedem Fall funktionieren, egal ob ein Jython Server Skript, das das das Re-Modul importiert, ausgeführt worden ist oder nicht.