QT Testing

Aus expecco Wiki (Version 25.x)
Zur Navigation springen Zur Suche springen

Vorbedingungen

QT-Download

https://www.qt.io/download

Unterstützte Versionen

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

Testvorbereitungen

Einbinden der expeccoTestService-Bibliothek

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

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

Die ExpeccoTestService-Bibliothek ist abhängig von folgenden QT-Bibliotheken:

  • Qt5Core
  • Qt5Gui
  • Qt5Network
  • Qt5QmlModels
  • Qt5Qml
  • Qt5Quick
  • Qt5Widgets

Verbinden mit expecco GUI Browser

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)

Anleitung GUI Browser.

Testen von QT-Quick/QML-Programmen

QT-QML-Anwendungen können ab expecco 21.2 mit der expecco QTLibrary getestet werden.

QT-Quick/QML-Aktionen

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.

QT-Quick/QML-Besonderheiten

Steuerung über Properties

Basis aller QT-Quick/QML-Oberflächenelemente ist QQuickItem. Über Properties können die meisten Eigenschaften eingestellt werden. Von QQuickItem gibt es eine Vielzahl von Ableitungen. Expecco dafür keine speziellen Bausteine dar, die Elemente sind aber über ihre Eigenschaften steuerbar.

QT-Quick Element Eigenschaft Kommentar
Tumbler currentIndex
Switch checked Geeignete Aktionen:
QCheckButton::GetState
QCheckButton::SetState = %2
wird fortgesetzt

Aktionen für selektiertes Element

Anzeige von Aktionen für GUI-Elemente ist nicht umfassend, da QT-Quick/QML keine vordefinierten Elemente hat.

Noch nicht implementiert

  • TreeView
  • Menu
  • Selektion von Zellen - bisher kann nur eine Zeile selektiert werden

Qt Bekannte Probleme

QApplication::ShortCutEvent

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.

ExpeccoTestService-Bibliothek: Auslieferung in Expecco-Versionen

Windows

Expecco-Version QT-Version Architektur Build-System Verzeichnis Kommentar
2021-2 5.15.0 x64 vs2019 vs2019_x64_Qt5.15.0 QtQuick / QML
5.15.0 x86 vs2019 vs2019_Qt5.15.0
5.9.3 x64 vs2015 vs2015_x64_Qt5.9.3
5.9.1 x64 vs2015 vs2015_x64_Qt5.9.1
2021-1 5.9.3 x86 vs2015 vs2015_x86_Qt5.9.3
2020-1 5.8.0 x86 vs2013 vs2013_Qt5.8.0
2019-2 5.9.3 x64 vs2013 vs2013_x64_Qt5.9.3
5.9.1 x64 vs2013 vs2013_x64_Qt5.9.1
2018-2 5.4.2 x86 vs2010 vs2010_Qt5.4.2

Linux / MaxOS

Expecco-Version QT-Version Architektur Build-System Verzeichnis Kommentar
2021-2 5.15.0 x64 gcc gcc_x64_Qt5.15.0 QtQuick / QML
2021-1 5.12.2 arm32 gcc gcc_arm32_Qt.12.2
5.9.5 x64 gcc gcc_x64_Qt5.9.5
2020-2 5.9.1 x64 gcc gcc_x64_Qt5.9.1
2020-1 5.12.3 x64 gcc gcc_x64_Qt5.12.3

Zurück zu Qt Plugin Reference



Copyright © 2014-2024 eXept Software AG