UiPathで、単体テストをやっている方はいらっしゃるでしょうか。
私の肌感覚だと、テストはあまりしておらず、ロボットが動いたらOKみたいな感じが多いような気がします。
何かテストできるものがないかなーと調べていると、UiPath Go!で単体テストができるワークフローを発見し、使ってみましたので、使い方をみなさんに共有したいと思います。
UiPath Go!の自動化テストロボ
こちらを用います。
UiPath Go!から直接ダウンロードできます。
1. 初期設定
ダウンロードしたら、「uipath_AutomationTestRobot」というフォルダがでてきました。
このテストロボの設定ファイルはここにあります。
uipath_AutomationTestRobot
|-- src
|-- config
| -- config.xlsx(これ)
|-- lib
|-- templates
|-- test
|-- test_cases_sample
uipath_AutomationTestRobot\src\config\config.xlsx
を開くとこんな感じです。
この黄色い部分をパスを記入します。
私は全て、デスクトップ上にワークフローテストフォルダを作成して、その中に各フォルダを全て作成し、パスを記入しました。
2. テスト対象のロボを用意する
テスト用に超簡単なワークフローを用意しました。その名も、「消費税計算!」
つまり、このワークフローのin引数に100
をいれると、outで110
が返ってきます。
このワークフローをテストしたいと思います。
3.テストケースの自動生成
テスト自動化ロボを実行してみましょう!
uipath_AutomationTestRobot\src\Main.xaml
すると、ポップアップが出てくるので、3番目を選択しましょう!
フォルダーの選択を求められます。
なので、先ほど作成した消費税計算のフォルダを指定します。
ロボの実行が終了して、Config.xlsx
でGenerateTestCase
のフォルダーに指定したフォルダを見に行くと、エクセルファイルが生成されています!
中身は、in引数とout引数です。
4. テストケースを作成する
先程自動生成されたテストケースのひな型を用いてテストケースを作成します。
先程自動生成されたファイルを、Config.xlsx
でTestCase
に指定したフォルダ内にコピーします。
Valueに例えば100
といれると、消費税計算をして110
が返ってくるはずなので、out_税込価格
に110
と記入します。
これでテストケースが完成です!
5. テスト実行!
このワークフローを実行します。(前のやつと一緒です。)
uipath_AutomationTestRobot\src\Main.xaml
ポップアップが出てくるので、次は1番目を選択します。
ロボットの実行が終了したら、TestResult
フォルダーをチェックします。
ファイルが生成されているので、中身を確認すると、テストでin_税込み価格に100
っていれたら、Tested Resultで110
って返ってきたよ。
あらかじめ設定していたExpected Resultと値が一緒だね。
というわけで、テストが成功したかどうかを確認するPass?
でTrue
になっています。
String, Int32以外の型はどうなのか
引数で返ってくる値がリスト型の場合は、{"りんご", "ごりら", "らっぱ"}
のように書けばOK!
配列型の場合は、["りんご", "ごりら", "らっぱ"]
のように書けばOK!
辞書型の場合は、{“key1":“value",“key2":“value2"}
のように書けばOK!
です!
おわりに
今回はUiPathの単体テストの自動化の話をしました。
僕の肌感覚では、UiPathで単体テストをやっている人はすくないように思いますが、エンジニアにとってはテストは欠かせないですよね!
というわけで、僕もどんどんやってみたいと思います!