QT Testing
Inhaltsverzeichnis
Vorbedingungen[Bearbeiten]
QT-Download[Bearbeiten]
Unterstützte Versionen[Bearbeiten]
Expecco unterstützt das Testen von QT-Applikationen unter Windows und Linux, die mit der QT-Version 5 erstellt wurden.
Für die verschiedenen QT-Versionen, Entwicklungsumgebungen (VisualStudio, ...) und Rechnerarchitektur (32-/64 bit) stellen wir eigens erzeugte Bibliotheken (dll, so) zur Verfügung. Einige davon werden standardmäßig mit expecco ausgeliefert. Für andere Versionen erzeugen wir die Bibliothek auf Anfrage.
Testen von QT-Programmen[Bearbeiten]
Testvorbereitungen[Bearbeiten]
Um mit expecco ein QT-Programm zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek expeccoTestService.[dll/so] eingebunden. Dies erfolgt über ein Batch- bzw. Shell-Skript ohne Eingriff in den Sourcecode des zu testenden Programms (Beschreibung).
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden (Beschreibung).
Startparameter[Bearbeiten]
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden:
- Log-Level:
ETS_QT_LOG_LEVEL
(Standardwert: 0, für Logging: 2) - Log-File:
ETS_QT_LOG_FILE
(Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log) - Server-Port:
ETS_QT_PORT_NUMBER
(Standardwert: 8866)
Benötigte QT-Bibliotheken zur Laufzeit[Bearbeiten]
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden QT-Bibliotheken:
- Qt5Core
- Qt5Gui
- Qt5Network
- Qt5QmlModels
- Qt5Qml
- Qt5Quick
- Qt5Widgets
Verbinden mit expecco GUI Browser[Bearbeiten]
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden:
Verbinden
- Qt
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866)
Testen von QT-Quick/QML-Programmen[Bearbeiten]
QT-QML-Anwendungen können ab expecco 21.2 mit der expecco QTLibrary getestet werden.
QT-Quick/QML-Aktionen[Bearbeiten]
Für den Test von QT-Quick/QML-Programmen können fast alle Aktionen der QTLibrary verwendet wie fpr Tests von QT-Programmen, die auf QWidget / QApplication basieren.
Diese Aktionen, die für QML-Tests verwendet werden können, sind mit dem Etikett / Tag qt-quick
versehen. Um dies an den Bausteinen zu verdeutlichen, können diese mit einer besonderen Farbe dargestellt werden. Dies kann über die expecco-Einstellungen konfiguriert werden (Extras - Einstellungen - Look & Feel - Farben per Etikett (Tag)).
QWidget-Aktionen sind dabei für QT-Quick-Elemente, die sich von QQuickItem ableiten, anwendbar. QQuickItemView-Aktionen sind für die Listen-Elemente von Qt-Quick geeignet.
Die unterschiedliche Behandlung erledigt die ExpeccoTestService. Die Eingangs- und Ausgangswerte der Aktionen bleiben somit für beide QT-Technologien gleich.
Bekannte Probleme[Bearbeiten]
Qt Bekannte Probleme[Bearbeiten]
QApplication::ShortCutEvent[Bearbeiten]
Aufgrund von internen Änderungen in QT Version 5 funktioniert der Baustein nicht mehr. Ein Workaround besteht darin, die Tastenereignisse separat zu senden, wie im Beispiel im Reiter Test/Demo der Aktion gezeigt.
Zurück zu Qt Plugin Reference