QT Testing: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
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 wie fpr Tests von QT-Programmen, die auf QWidget / QApplication basieren.
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, die für QML-Tests verwendet werden können, sind mit dem Etikett / Tag <code>qt-quick</code> 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 ([[Settings TagColorSettings/en|Extras - Einstellungen - Look & Feel - Farben per Etikett (Tag)]]).
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 erledigt die ExpeccoTestService. Die Eingangs- und Ausgangswerte der Aktionen bleiben somit für beide QT-Technologien gleich.
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

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)

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



Copyright © 2014-2024 eXept Software AG