Sur cette page

L'outil harmonyostestrunner

Remarque : Qt pour HarmonyOS est en phase de préversion technologique et est susceptible d'évoluer dans les prochaines versions.

Introduction

L'outil harmonyostestrunner exécute un test automatique Qt unique sur un appareil ou un émulateur HarmonyOS et renvoie le résultat sur l'hôte. Lorsque vous lancez un test avec ` ctest`, le wrapper de test CMake s'en charge généralement pour vous. Lancez-le directement lorsque le HAP de test est compilé sur une machine mais que l'appareil est connecté à une autre, ou lorsque vous disposez d'un HAP de test mais pas d'arborescence de compilation CMake à portée de main.

Cet outil ne compile ni n’installe le paquet de test. À la place, harmonydeployqt regroupe les binaires de test dans un seul HAP de test (via son option « --test-bundle »). Vous devez au préalable compiler, signer et installer ce HAP sur l’appareil :

hdc install <path/to/autotests-signed.hap>

Fonctionnement

  1. Il vérifie que le paquet HAP de test est bien installé sur l’appareil cible.
  2. Il arrête de force toute instance en cours d’exécution du bundle, puis lance la fonctionnalité à l’aide de ` aa start`, en indiquant à la plateforme quelle bibliothèque partagée de test charger et où rediriger la sortie standard et le code de sortie du test au sein du bac à sable de l’application.
  3. Il transmet en continu la sortie standard du test vers l’hôte pendant l’exécution de celui-ci.
  4. Il attend la fin du test, qu’il détecte lorsque le fichier de code de sortie devient accessible en lecture. Un contrôle d’activité détecte les processus qui se sont bloqués, et un chien de garde optionnel « no-progress » arrête de force un test qui cesse de produire des résultats via ` PASS ` ou ` FAIL `.
  5. Si le test déclare des boîtes de dialogue système bloquantes et que la sortie du test s’interrompt, il effectue une capture d’écran de la disposition de l’écran à l’aide de uitest et clique sur le bouton attendu.
  6. Il renvoie le code de sortie du test comme son propre code de sortie.

Mode d’emploi

La syntaxe de base est la suivante :

harmonyostestrunner [OPTIONS] <test-binary> [TESTARGS]

L'argument « <test-binary> » correspond au chemin d'accès à la bibliothèque partagée de test, par exemple libtst_qobject.so. Le nom du fichier permet de sélectionner le test à exécuter au sein du bundle. Tout ce qui suit, comme les noms des fonctions de test ou « -v2 », est transmis par l'outil au test.

Options

Le tableau suivant répertorie les options de ligne de commande de ` harmonyostestrunner`. Vous pouvez définir chaque option via la variable d’environnement indiquée entre parenthèses. La valeur de la ligne de commande prévaut.

OptionDescription
--bundle-name <name>Nom du bundle HarmonyOS du HAP de test installé (QT_HARMONYOS_BUNDLE_NAME). La valeur par défaut est org.qtproject.autotests.
--ability-name <name>Nom de la fonctionnalité HarmonyOS au sein du HAP de test (QT_HARMONYOS_ABILITY_NAME). Par défaut : QAbility.
--hdc <path>Chemin d'accès à l'outil hdc (QT_HARMONYOS_HDC). Par défaut : hdc, disponible à l'adresse PATH.
--timeout <seconds>Nombre de secondes à attendre avant d’interrompre un test (QT_HARMONYOS_TEST_TIMEOUT). La valeur par défaut est 300.
--no-progress-timeout <seconds>Nombre de secondes sans résultat « PASS » ou « FAIL » avant que l’outil ne déclare le test bloqué (QT_HARMONYOS_NO_PROGRESS_TIMEOUT). La valeur par défaut est 60 ; 0 désactive le watchdog.
--device <key>Clé de connexion hdc (-t) pour le périphérique cible (QT_HARMONYOS_DEVICE). Obligatoire lorsque vous connectez plusieurs périphériques.
--test-config <path>Chemin d’accès aux paramètres de déploiement du bundle de test généré (QT_HARMONYOS_TEST_CONFIG). La compilation génère ce fichier, et le wrapper de test CMake le transmet. L’outil le lit pour répondre aux boîtes de dialogue système bloquantes auxquelles il doit répondre.
--helpAffiche les informations d’aide.
--versionAffiche la version de l’outil.

Exemple d'utilisation

Exécutez le test « tst_qobject » sur un appareil spécifique, en exécutant uniquement le scénario de test « signalsBlocked » :

harmonyostestrunner --device 127.0.0.1:5555 libtst_qobject.so signalsBlocked

Pour plus d’informations sur le framework « Qt Test », consultez la présentation de «Qt Test ».

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.