QT Testing: Unterschied zwischen den Versionen
Alkurz (Diskussion | Beiträge) K |
Alkurz (Diskussion | Beiträge) |
||
Zeile 12: | Zeile 12: | ||
===Testvorbereitungen=== |
===Testvorbereitungen=== |
||
Um mit expecco |
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 ([[Qt Inject Windows#Inject expeccoTestService-Library|Beschreibung]]). |
||
Alternativ kann |
Alternativ kann der Aufruf der ExpeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation eingefügt werden ([[Qt Inject Windows#Insert into Source Code|Beschreibung]]). |
||
====Startparameter==== |
====Startparameter==== |
||
LogLevel |
|||
LogFile |
|||
Port |
|||
LoadImage |
|||
#define ETS_DEFAULT_SERVER_PORT 8866 |
|||
#define ETS_DEFAULT_LOG_LEVEL 0 |
|||
#define ETS_DEFAULT_TIMEOUT_QUICK_IMAGE 200 |
|||
Die ExpeccoTestService-Bibliothek kann über Umgebungsvariablen eingestellt werden: |
|||
#define EXPECCO_LOG_FILE "/tmp/etsQt.log" |
|||
* Log-Level: ETS_QT_LOG_LEVEL (Standardwert: 0, für Logging: 2) |
|||
#elif _WIN32 |
|||
* Log-File: ETS_QT_LOG_FILE (Standardwert: c:\Windows\temp\etsQt.log bzw. /tmp/etsQt.log) |
|||
// windows code goes here |
|||
* Server-Port: ETS_QT_PORT_NUMBER(Standardwert: 8866) |
|||
#define EXPECCO_LOG_FILE "c:\\windows\\temp\\etsQt.log" |
|||
* Timeout Vorschau im ms (QT-Quick): ETS_TIMEOUT_QUICK_IMAGE (Standardwert 200) |
|||
====Benötigte QT-Bibliotheken zur Laufzeit==== |
|||
Die ExpeccoTestService-Bibliothek ist abhängig von folgenden QT-Bibliotheken: |
|||
* Qt5Core |
|||
* Qt5Gui |
|||
* Qt5Network |
|||
* Qt5QmlModels |
|||
* Qt5Qml |
|||
* Qt5Quick |
|||
* Qt5Widgets |
|||
===Verbinden mit expecco GUI Browser=== |
===Verbinden mit expecco GUI Browser=== |
||
Zeile 37: | Zeile 42: | ||
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) |
||
==Testen von QT-Quick/QML-Programmen== |
==Testen von QT-Quick/QML-Programmen== |
Version vom 17. November 2021, 11:44 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