テスト手順に分岐を組み込もう
はじめに
動作に対して「特定の条件」を指定することができます。
今回は以下のような架空の社員情報テーブルを使用して、条件分岐を作成します。
作成する条件分岐は以下です。
- 山田太郎さんが表示されていたら、「山田太郎」をクリックする
- 山田太郎さんが表示されていなかったら、「新規作成ボタン」をクリックする
クリックすると、クリックしたことが分かるダイアログメッセージが出現します。
実装には2パターンあります。
- 標準動作「要素が表示されていたらクリックする」を使用する
- カスタム動作を使用して条件分岐を作成する
もくじ
詳細
標準動作「要素が表示されていたらクリックする」を使用する
テスト手順作成画面で、URLを開いた後「マウス操作」→「要素が表示されていたらクリックする」を選択する。
動作名の上にある、検索バーからも選択できます。
この動作は、要素が表示されていないFalse判定の場合はそのまま動作がスルーされます。
その場合はテスト実行は失敗とならずに成功ステータスとなります。
手順作成が完了したら、「保存」をクリック。
テストを実行します。
完了後は、右上の「テストレポートを開く」をクリック
レポートにあるスクリーンショットを確認すると、正しく要素がクリックできていることが分かります。
動作がうまく実行されない場合は、URLの画面表示に時間がかかっている可能性があります。
URL表示の後に、「秒待機する」を追加して、表示されるまで待機時間をとってください。
カスタム動作で分岐を作成する
Pythonファイルを自作して、T-DASHのカスタム動作に読み込ませる方法です。
以下もご参照ください。
■カスタム動作を作成しよう / Pythonで作成
https://service.valtes.co.jp/t-dash/function/tutorial/custombehavior_vol_003
Pythonのif文を使用して、条件分岐のコードを記入します。
- 指定された要素(今回ならば「山田太郎」という名前)表示されているのかをチェック
- 表示されていればTrue、表示されていなければFalseを返す
- Trueならば要素をクリック、Falseならば新規作成ボタンをクリック
ーーーー
from robot.libraries.BuiltIn import BuiltIn
def click_checkbox_if_visible(location):
selelib = BuiltIn().get_library_instance("SeleniumLibrary")
is_check_visible = BuiltIn().run_keyword_and_return_status("element_should_be_visible", location)
if is_check_visible:
selelib.click_element(location)
else:
selelib.click_element("//div/a[contains(text(), '新規作成')]")
ーーーー
作成したファイルを「.py」の拡張子を付けて保存、T-DASHフォルダ内の「customlib」へ格納する。
画像では、「click.py」と名前をつけています。
次にT-DASHで作成したpythonファイルを読み込みます。
[動作定義]タブ→[カスタム動作]→[+新規カテゴリ作成]と進みます。
必要事項を記入して、「作成」をクリック
「+カスタム動作を追加」をクリック
動作関数作成画面にて、「ライブラリを追加する」をクリックして、「自作ライブラリ」の中から、先ほど作成したclick.pyファイルを追加します。
今回は「BuiltIn」ライブラリも使用します。
Libraryの欄に「BuiltIn」と入力し+アイコンを押して、追加します。(BとIが大文字です)
利用変数に「画面定義を使用」のラジオボタンをオンにして、「画面名」「要素名」のチェックをオンにして、動作名や適したフォーマットを記入します。
カスタム動作の定義文(今回ならばclick_name_if_visible)と引数(${location})を記入します。
最後に右上の「保存する」をクリックします。
[テストスイート]タブでテストケースを作成します、
先ほど作成したカスタム動作を手順の中に追加しています。
作成が完了したら右上の「保存する」をクリック。
テスト実行したいテストスイートとテストケースにチェックがついていることを確認して、
右上の「選択したテストを実行する」をクリックします。
テストが実行されます、完了後にテストレポートとlogを見ることができます。
「テストレポートを開く」をクリックする。
レポートが表示されるので、スクリーンショット部分をクリックして画像を拡大し、確認することができます。
ダイアログが表示されていて、クリックされていることが確認できます。
同じテストケースで要素が表示されなかった場合、
「山田太郎」の名前が一覧にないので、「新規作成」ボタンがクリックされていることが分かります。
カスタム動作は標準動作よりも幅広いテストに対応できるので、スムーズなテスト自動化が可能です。
少し難易度はあがりますが、PythonやRobotFrameworkにぜひ触れてみることをおすすめしております。