スクリプトを使用して自動テストを行う
Note
ここでは、スクリプトを用いて自動テストを行います。 ページ内のサンプルスクリプトをコピーするまたは参考にしてテキストエディタ等で python ファイルを作成してください。
サンプルを使ってスクリプトを理解する
AUTOmeal では Python 形式のスクリプトファイルに自動化したい制御・計測・判定の命令を記述し、そのスクリプトを読み込むことでテストを自動化させることができます。
使用するAPI
サンプルスクリプトで使用される AM-PIO を制御 / 計測する API は以下です。
# 制御 ch1 の周波数を 12Hz、Duty を 50% にします。
am.write_pwm_ampio ("Board4", 1, 12,50)
# 計測 ch1 の 周波数と Duty を取得します。
am.read_pwm_ampio ("Board4", 1)
制御では TestUnit 設定で AM-PIO を指定した “ボード名” と “ch” と “周波数” “Duty” を記載することで ch の “周波数” “Duty” を制御します。
計測では TestUnit 設定で AM-PIO を指定した “ボード名” と “ch” を記載すると ch の “周波数” “Duty” を取得できます。
詳細はスクリプトリファレンスを参照してください。
サンプルスクリプト
サンプルスクリプトでは AM-PIO の制御 ch1 に繋がるターゲットからのパルス信号のフィードバックを TestRunner から代替します。その後、AM-PIO の計測 ch1 に繋がるターゲットからの入力信号を確認します。
import automeal as am
import time
# AM-PIO 制御 ch1 に 12Hz の周波数、50 % の Duty を出力します。
am.write_pwm_ampio ("Board4", 1, 12,50)
# 待ちを行います。
time.sleep(0.5)
# AM-PIO 計測 ch1 の周波数と Duty を計測し、実行時の計測値をログに出力します。
result_duty,result_freq=am.read_pwm_ampio ("Board4", 1)
print("周波数:%dHz"%(result_duty))
print("Duty:{:.1%}".format(result_freq))
# 待ちを行います。
time.sleep(0.5)
スクリプトをカスタマイズする
スクリプトをカスタマイズしてみましょう。
AM-PIO の制御 ch1 に出力する周波数の値を変えてみます。
import automeal as am
import time
# AM-PIO 制御 ch1 に 187Hz の周波数、50% の Duty を出力します。
am.write_pwm_ampio ("Board4", 1, 187,50)
# 待ちを行います。
time.sleep(0.5)
# AM-PIO 計測 ch1 の周波数と Duty を計測し、実行時の計測値をログに出力します。
result_duty,result_freq=am.read_pwm_ampio ("Board4", 1)
print("周波数:%dHz"%(result_duty))
print("Duty:{:.1%}".format(result_freq))
# 待ちを行います。
time.sleep(0.5)
スクリプトを適切な場所に置く
スクリプトは <プロジェクトルート> の中のフォルダに置くことを推奨しています。
スクリプトを配置するフォルダとしては 2 種類あり、その違いは以下です。
自動テストの実行対象とするかどうかで、どちらに配置するか判断してください。
- <Scripts>
- 自動テストで実行の対象としたいスクリプトファイル。
- <Macros>
- 自動テストで実行の対象としたくないスクリプトファイル。
- モジュールやライブラリ、特定動作をマクロ化したスクリプトなど、他のスクリプトから呼び出して利用することを想定したスクリプトファイルなどはこちらに配置してください。
スクリプトを TestRunner アプリ GUI 上から実行する
1. テスト実行中の状態で、メニューバーの [テスト] > [スクリプトの実行] をクリックします。
2. Macros または Scripts に配置したスクリプトを選択します。
3. コマンドプロンプトが立ち上がり、スクリプトが実行されるため終了を待ちます。
4. [テストログ] ペインに開始、完了の情報及び、スクリプトに記述したログが出力されます。
スクリプトをコマンドラインから実行する
スクリプトファイルの配置
作成したスクリプトファイルは <プロジェクトルート>\Scripts 以下に配置してください。
フォルダ内にさらにフォルダを作成することもできます。
例
📂Scripts
📄FullTest.py
📂FuncA
📄FuncATest1.py
📄FuncATest2.py
…
📂FuncB
📄FuncBTest1.py
📄FuncBTest2.py
…
テストを実行する
プロジェクトルートでコマンドプロンプトを起動し、コマンドを実行します。
パターンの指定は <プロジェクトルート>\Scripts からの相対パスで指定します。
例 :
-
全てのスクリプトを実行する
TestRunnerCLI -
特定のスクリプトのみ実行する
TestRunnerCLI FuncA\FuncATest1.py -
特定のフォルダ以下すべてを実行する
TestRunnerCLI FuncB\*.py -
特定のファイル名を含むスクリプトを実行する
TestRunnerCLI **\Func*Test*.py
Note
一度の実行で実行されるスクリプトは順不同になります。 実行順を担保したい場合はコマンドを複数回に分けて実行してください。
実行中
実行中はコマンドプロンプトに実行ログと進捗の表示が行われます。
実行完了すると、次のコマンドが実行できるようになります。
結果を確認する
TestRunner アプリ上でのログの確認
アプリケーション下部の [出力] ペインには、動作ログやエラー詳細情報などが表示されます。 [テストログ] ペインにはテストログやテスト実行中のエラー情報などが表示されます。 テストスクリプトに print 文で記述した内容は [テストログ] ペインに表示されます。
| 種別 | 文字色 | 内容 |
|---|---|---|
| Error | 赤系 | 期待する動作の完了・継続に支障が出た場合の通知です。 |
| Warn | 黄系 | 何らかの不都合が生じたものの、処理の完了・継続に支障がない場合の通知です。 |
| Info | 黒系 | 動作開始・完了などユーザがアプリの状態を把握するための情報です。スクリプトで print を行った場合 Info レベルで出力されます。 |
全体サマリーの確認
Note
全体サマリーは TestRunnerCLI (コマンドライン) から自動テストを実行した場合のみ生成されます。
<プロジェクトルート>\Reports にあるテストランフォルダを確認します。
確認したい実行日時のテストランフォルダを開いてください。
テキストエディタや Excel 等でテストランフォルダ内にある Result.csv を開きます。
Result.csv には実行結果、実行日時、実行したスクリプト名が記載されています。
CSV 形式のため、必要に応じてツール等で結果を集計できます。