QT Testing: Unterschied zwischen den Versionen
Alkurz (Diskussion | Beiträge) |
Alkurz (Diskussion | Beiträge) |
||
Zeile 39: | Zeile 39: | ||
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden: |
Mit dem GUI Browser kann eine Verbindung zum zu testenden Programm aufgebaut werden: |
||
<code>Verbinden</code> <code>Qt</code> |
<code>Verbinden</code> - <code>Qt</code> |
||
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866) |
Im nachfolgenden Dialog die Netzwerkadresse des Rechners, auf dem die Applikation läuft eingeben sowie den Port für die Verbindung (Standardmäßig 8866) |
Version vom 17. November 2021, 11:48 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)
- Timeout Vorschau im ms (QT-Quick): ETS_TIMEOUT_QUICK_IMAGE (Standardwert 200)
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.
Die Bausteine, 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-Bausteine sind dabei für QT-Quick-Elemente, die sich von QQuickItem ableiten, anwendbar. QQuickItemView-Bausteine sind für die Listen-Elemente von Qt-Quick geeignet.
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