Outline
テスト自動化でやっかいなシロモノ!
Robotframeworkなどで試してもうまくいかない!
テスト自動化でchallangingなものとして
- CAPTCHA
- reCAPTCHA
- MFA
などである。
なんとかすれば、自動化できるかもしれないが、引き際も(すべての手動テストを自動化できない)肝心。
今回は、T-DASHでセミ自動化を実装する
技術的情報
robotframeworkにDialogsというライブラリがある
Execute Manual Step
自動化の処理を中断し、手動処理を介入可能にする。
その後、その手動操作の過程で、問題なければ"PASS"、問題があれば"FAIL"させ、テスト自動化のステップに戻すことができる。
Pause Execution
自動化の処理を中断し、手動処理を介入可能にする。
"Execute Manual Step"とは異なり、テスト自動化の中断を行うもので、手動操作の実行結果は反映されない。
T-DASHの手順
カスタム動作
以下設定内容を Dialogs.yamlのファイル名で保存する
ACT-CAT-CUSTOM-aa5c4bd0-9a0b-435d-8d2b-eabf3a8d7c79:
action_category_name: Dialogs
icon: ''
color: '#60CB85'
custom_data:
file_name: Dialogs
pip_list: []
library_list:
- Dialogs
actions:
ACT-CUSTOM-a15b9133-57e5-4a5a-aa4e-56fe99d8ee39:
action_name: 手動操作を介入する
action_type: operation
action_format: 「設定値1」のメッセージ表示を出し、手動操作を行う
action_note: ''
action_args:
- value1
action_def:
- - Execute Manual Step
- ${value1}
ACT-CUSTOM-e4aa3d86-3277-4e91-a2f9-a26d0d5d50ba:
action_name: 一時停止する
action_type: operation
action_format: 「設定値1」のメッセージを表示し、一時停止する
action_note: ''
action_args:
- value1
action_def:
- - Pause Execution
- ${value1}
次に、作成された Dialogs.yamlをT-DASHの動作定義 -> カスタム動作 -> カスタム動作をインポート にてインポートする
2つの中断するカスタム動作があるため、状況に応じて使い分ける
スクリプト
テスト自動化を中断させたいところに、先ほどのカスタム動作を入れる。
また、中断させる目的・どんな手動操作をさせるかを引数にいれると、そのメッセージが出てくるため、実行者にとってkindlyになる。