QT Testing: Unterschied zwischen den Versionen
Alkurz (Diskussion | Beiträge) |
Alkurz (Diskussion | Beiträge) |
||
Zeile 48: | Zeile 48: | ||
===QT-Quick/QML-Aktionen=== |
===QT-Quick/QML-Aktionen=== |
||
Für den Test von QT-Quick/QML-Programmen können fast alle Aktionen der QTLibrary verwendet |
Für den Test von QT-Quick/QML-Programmen können fast alle Aktionen der QTLibrary verwendet werden, die für das Testen von QT-Programmen, die auf QWidget / QApplication basieren, definiert sind. |
||
Diese Aktionen |
Diese Aktionen für QML-Tests sind mit dem Etikett / Tag <code>qt-quick</code> versehen. Um dies an den Bausteinen zu verdeutlichen, können diese mit einer konfigurierbaren Farbe dargestellt werden ([[Settings TagColorSettings/en|Extras - Einstellungen - Look & Feel - Farben per Etikett (Tag)]]). |
||
QWidget-Aktionen sind dabei für QT-Quick-Elemente, die sich von QQuickItem ableiten, anwendbar. |
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. |
QQuickItemView-Aktionen sind für die Listen-Elemente von Qt-Quick geeignet. |
||
Die unterschiedliche Behandlung |
Die unterschiedliche Behandlung kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins bleiben somit für beide QT-Technologien gleich. |
||
===Bekannte Probleme=== |
===Bekannte Probleme=== |
Version vom 18. November 2021, 09:18 Uhr
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 werden, die für das Testen von QT-Programmen, die auf QWidget / QApplication basieren, definiert sind.
Diese Aktionen für QML-Tests sind mit dem Etikett / Tag qt-quick
versehen. Um dies an den Bausteinen zu verdeutlichen, können diese mit einer konfigurierbaren Farbe dargestellt 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 kapselt der ExpeccoTestService. Die Aktion und die Eingangs- und Ausgangspins 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