Handbuch
Version 8.0.1 |
Zum Testen von SWT basierten Anwendungen mit QF-Test/swt sind spezielle Maßnahmen erforderlich. Da bei der Entwicklung von SWT die Testbarkeit von Anwendungen nicht berücksichtigt wurde, müssen diese mit leicht modifizierten SWT Klassen gestartet werden, in welchen wir SWT um die nötigen Einstiegspunkte zum Filtern von Events und Auffinden von GUI-Komponenten erweitert haben. Die Änderungen sind transparent, so dass das Verhalten einer Anwendung innerhalb und außerhalb von QF-Test nicht verändert wird.
4.5+
Sind beim Start des SUT der QF-Test Agent und die Option Ohne SWT-Instrumentierung verbinden aktiviert, werden
die benötigten Klassen beim Laden ohne weiteres Zutun durch den Agent ausgetauscht. Dies funktioniert für alle
SWT-Versionen unter Windows und für SWT 4.8 und höher unter Linux. Ältere Versionen unter Linux benötigen nach
wir vor die Instrumentierung wir unten beschrieben. Es ist generell eine gute Idee, den Prozeduraufruf zur
Instrumentierung in der Startsequenz zu haben und dabei den Parameter forceInstrumentation
auf
false
zu setzen. So kann QF-Test abhängig von den Optionen und der SWT-Version entscheiden, ob die
Instrumentierung notwendig ist.
Wenn Sie den Schnellstart Wizard von QF-Test zur Erstellung der Startsequenz für Ihr SUT verwenden (siehe Kapitel 3), wird er sich auch um die SWT Instrumentierung kümmern. Für diejenigen unter Ihnen, die nicht so gerne mit Wizards arbeiten, sei nun der händische Weg erklärt.
Die Standardbibliothek qfs.qft
, die Teil der Distribution von QF-Test ist und
ausführlich im Tutorial beschrieben wird, enthält im 'Package'qfs.swt.instrument
eine 'Prozedur' namens setup
, um die
SWT-Instrumentierung durchzuführen. Fügen Sie vor dem Startknoten für Ihr SUT einen
'Prozeduraufruf' Knoten ein. Setzen Sie 'Name der Prozedur' auf
qfs.qft#qfs.swt.instrument.setup
und in den 'Variablendefinitionen' den
Parameter sutdir
auf das Installationsverzeichnis Ihrer Anwendung. Der
Parameter plugin
kann leer gelassen werden, es sei denn, Ihre Anwendung folgt
nicht dem üblichen Layout des Plugin-Verzeichnisses. In diesem Fall können Sie das zu
instrumentierende Plugin direkt über den plugin
Parameter angeben. Das ist
alles. Für jene, die genau wissen möchten, was hinter den Kulissen abläuft, werden
nachfolgend in diesem Kapitel die manuellen Schritte zur SWT-Instrumentierung beschrieben.
Die für SWT Tests unterstützten Architekturen sind 64 Bit Windows und
64 Bit Linux mit Gtk. Die benötigten Dateien werden mit QF-Test in den Verzeichnissen
namens .../qftest-8.0.1/swt/$ARCH/$VERSION
bereit gestellt, wobei
$ARCH
entweder win32-64
oder linux-gtk-64
ist und $VERSION
eine
der unterstützten SWT-Versionen.
Zunächst müssen Sie herausfinden, ob Ihre Anwendung eine eigenständige SWT-Anwendung ist
oder auf Eclipse basiert. Werfen Sie dazu einfach einen Blick auf die
Verzeichnisstruktur Ihrer Anwendung. Wenn Sie ein Verzeichnis namens
plugins
finden, das eine Datei namens
org.eclipse.swt.win32.win32.x86_X.Y.Z.jar
(unter Windows) oder
org.eclipse.swt.gtk.linux.x86_X.Y.Z.jar
(unter Linux) enthält, wobei
X.Y.Z
einer Versionsnummer wie 3.2.0
entspricht, basiert Ihre
Anwendung auf Eclipse. Bei einer eigenständigen SWT-Anwendung sollten Sie dagegen eine
Datei namens swt.jar
finden, üblicherweise in einem Verzeichnis namens
lib
.
Ersetzen Sie einfach die Datei mit dem SWT Plugin durch ein von QF-Test instrumentiertes
Plugin. Um dieses zu erstellen, führen Sie einmal die oben beschriebene 'Prozedur'
qfs.qft#qfs.swt.instrument.setup
aus. Geben Sie dabei Ihr original Plugin
(oder eine Kopie davon) im Parameter plugin
an. QF-Test erstellt eine Kopie
des Originals namens _org.eclipse.swt....jar.orig
.
Kopieren Sie dann die instrumentierte Datei in das plugin
Verzeichnis
Ihrer Anwendung. Die SWT Plugin Dateien enden mit Versionsinformation der Form
...X.Y.Z.jar
, z.B.
org.eclipse.swt.win32.win32.x86_3.2.0.jar
. Um die entsprechende Datei aus
QF-Test verwenden zu können, muss der X.Y
Teil exakt übereinstimmen. Die
Unterversion Z muss in der QF-Test Variante größer oder gleich dem Original sein.
Zum Abschluss starten Sie Ihre Anwendung einmal von der Kommandozeile mit dem Argument
-clean
um den Plugin Cache der Anwendung zu aktualisieren:
eclipse -clean
Die Programmdatei Ihrer Anwendung heißt eventuell nicht eclipse
, aber
alle Eclipse basierten Anwendung sollten das Argument -clean
unterstützten.
Bei einer eigenständigen SWT-Anwendung ersetzen Sie die Datei swt.jar
mit der gleichnamigen Datei aus dem oben erwähnten Verzeichnis von QF-Test. Machen Sie
dabei zunächst eine Sicherheitskopie vom Original.
HinweisWenn die Anwendung über den 'Java-SUT-Client starten' Knoten gestartet wird,
kann man den Classpath auch auf das entsprechende
.../qftest-8.0.1/swt/$ARCH/$VERSION/swt.jar
Archiv setzen und
braucht die Originaldatei nicht zu ersetzen.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |