スクリプトからテストの開始終了をコントロールする
このページでは、TestRunnerCLI からテストの開始終了をコントロールする方法を説明します。
TestRunnerCLI からスクリプトを実行した場合、スクリプトの実行前にテストの開始処理 (TestUnit 等との接続や初期化処理など) が行われ、スクリプト実行完了後にテストの終了処理 (切断やレポートの保存など) が行われます。
開始処理前にスクリプトで処理を行いたい場合や、終了処理後に処理を行いたい場合は、これらの開始終了処理を自動で行わないように設定することができます。
事前準備
- テスト実行の前提条件 が満たされていることを確認してください。
- 以下の実行例は環境変数設定を行っているものになります。予めインストールフォルダへのパスを環境変数に登録してください。
環境変数設定を行わない場合は、
<インストールフォルダ>\Application\TestRunnerCLI.exeのパスを指定してください。
スクリプトの例と実行例
以下は 1 つのスクリプトで 2 つのテストケースを連続して行う例です。
テストケース間で特定の処理を行いたい場合は、テスト終了処理に続けて処理を記述します。
import automeal as am
print('開始処理前に任意の初期化処理を行います。', flush=True)
###
# 任意の処理を記述する
###
try:
# 1 つ目のテストの開始処理を実行する
am.start_test("Test1")
# UART を送信します
am.send_serial("Port1", [0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04])
# 受信するまで待機 (無限待ち) し、受信したパケットの表示を行います。
result_serial = wait_for_next_serial_data("Port2")
print(f'Port2受信データ:{result_serial}', flush=True)
finally:
# 成功/失敗にかかわらず、終了処理を実行する
am.stop_test()
print('テストケース間で任意の処理を行います。', flush=True)
###
# 任意の処理を記述する
###
try:
# 2 つ目のテストの開始処理を実行する
am.start_test("Test2")
###
# 任意の操作を実行
###
finally:
# 成功/失敗にかかわらず、終了処理を実行する
am.stop_test()
print('実行完了後に任意の処理を行います。', flush=True)
###
# 任意の処理を記述する
###
- スクリプトを実行する
TestRunnerCLI --autostart false
使用する API
--autostart false を指定する場合、実行するスクリプト内で以下の API を使用する必要があります。
- start_test("保存フォルダ名") : テストの開始処理
- stop_test() : テストの終了処理
start_test() では引数でレポートを保存するフォルダ名を指定します。
他 AUTOmeal の API を実行する前に、start_test() を実行する必要があります。
その他、詳細についてはスクリプトリファレンスを参照してください。
注意事項
- start_test() で指定するフォルダ名が重複した場合、結果が上書きされる可能性があります。同スクリプト内では、必ず一意になるように指定してください。
- stop_test() が実行されない場合、結果の保存が行われずアプリケーションが起動し続ける可能性があります。スクリプトの終了前に必ず実行してください。
- start_test() および stop_test() が含まれるスクリプトは --autotest false を指定せずに実行しないよう注意して下さい。