QT Testing: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
K
Zeile 12: Zeile 12:
===Testvorbereitungen===
===Testvorbereitungen===


Um mit expecco eine QT-Application zu testen, wird in das zu testenden Programms die von uns ausgelieferte Bibliothek expeccoTestService.[dll/so] eingebunden. Dies erfolgt über ein inject script ohne Eingriff in den Sourcecode des zu testenden Programms ([[Qt Inject Windows#Inject expeccoTestService-Library|Anleitung]]).
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 die expeccoTestService-Bibliothek auch in den Sourcecode der zu testenden Applikation integriert werden ([[Qt Inject Windows#Insert into Source Code|Anleitung]])
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

Vorbedingungen[Bearbeiten]

QT-Download[Bearbeiten]

https://www.qt.io/download

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



Copyright © 2014-2024 eXept Software AG