このページでは

harmonyostestrunner ツール

注:HarmonyOS向けQtは 現在テクノロジープレビュー段階にあり、今後のリリースで変更される可能性があります。

はじめに

harmonyostestrunner ツールは、HarmonyOSデバイスまたはエミュレータ上で単一のQt自動テストを実行し、その結果をホストに報告します。ctest を使用してテストを実行する場合、通常はCMakeのテストラッパーが自動的にそれを実行します。 テスト用HAPが1台のマシンでビルドされているが、デバイスが別のマシンに接続されている場合、またはテスト用HAPはあるが手元にCMakeビルドツリーがない場合に、これを直接呼び出してください。

このツールは、テストパッケージをビルドまたはインストールしません。代わりに、harmonydeployqtが(--test-bundle オプションを通じて)テストバイナリを単一のテストHAPにバンドルします。そのHAPを事前にビルド、署名し、デバイスにインストールしておく必要があります:

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

仕組み

  1. ターゲットデバイスにテスト用バンドル HAP がインストールされていることを確認します。
  2. 実行中のバンドルのインスタンスをすべて強制停止した後、aa start を使用して機能を開始し、どのテスト用共有ライブラリをロードするか、およびアプリケーションサンドボックス内でテストの標準出力と終了コードをどこにリダイレクトするかをプラットフォームに指示します。
  3. テストの実行中、テストの標準出力をホストにストリーミングします。
  4. テストが終了するのを待ち、exit-code ファイルが読み取り可能になった時点でテストの終了を検知します。ライブネスチェックによりプロセスのクラッシュを検知し、オプションのノープログレス・ウォッチドッグにより、PASS またはFAIL の結果を出力しなくなったテストを強制終了します。
  5. テストがブロックするシステムダイアログを宣言しており、テストの出力が途絶えた場合、uitest を使用して画面レイアウトをダンプし、期待されるボタンをクリックします。
  6. このウォッチドッグは、テストの終了コードを自身の終了コードとして返します。

使用方法

基本的な構文は次のとおりです:

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

<test-binary> 引数は、テスト用共有ライブラリへのパスです(例:libtst_qobject.so )。このファイル名によって、バンドル内のどのテストを実行するかが決定されます。その後に続く部分(テスト関数名や-v2 など)は、ツールによってテストに渡しられます。

オプション

次の表は、harmonyostestrunner のコマンドラインオプションの一覧です。各オプションは、括弧内に示された環境変数を通じて設定できます。ただし、コマンドラインで指定された値が優先されます。

オプション説明
--bundle-name <name>インストール済みのテスト用HAP(QT_HARMONYOS_BUNDLE_NAME )のHarmonyOSバンドル名。デフォルトはorg.qtproject.autotests です。
--ability-name <name>テスト用HAP(QT_HARMONYOS_ABILITY_NAME )内のHarmonyOS機能名。デフォルトはQAbility です。
--hdc <path>hdc ツールへのパス(QT_HARMONYOS_HDC )。デフォルトは、PATH にあるhdc です。
--timeout <seconds>テストが完了するのを待機する秒数(QT_HARMONYOS_TEST_TIMEOUT )。デフォルトは 300 です。
--no-progress-timeout <seconds>ツールがテストのハングを宣言するまでの、PASS またはFAIL の結果がない状態の秒数 (QT_HARMONYOS_NO_PROGRESS_TIMEOUT)。デフォルトは 60 です。0 に設定するとウォッチドッグが無効になります。
--device <key>ターゲットデバイス(QT_HARMONYOS_DEVICE )のhdc 接続キー(-t )。複数のデバイスを接続する場合に必要です。
--test-config <path>生成されたテストバンドルのデプロイ設定へのパス (QT_HARMONYOS_TEST_CONFIG)。ビルドによってこのファイルが生成され、CMakeテストラッパーによって渡されます。ツールは、応答が必要なブロック型システムダイアログについて、このファイルを読み取ります。
--helpヘルプ情報を表示します。
--versionツールのバージョンを表示します。

使用例

特定のデバイスで「tst_qobject 」テストを実行し、「signalsBlocked 」テストケースのみを実行します:

harmonyostestrunner --device 127.0.0.1:5555 libtst_qobject.so signalsBlocked

Qt Test フレームワークの詳細については、「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.