カスタム動作を使って、キーボードキーを利用しよう
はじめに
自動テスト中にキーボードキーを利用したい、というカスタム動作作成について説明します。
本記事におけるキーボードキーとは、次の2パターンを指します。
- 単体キー:「BACKSPACE」や「TAB」などの単体キーのこと
- 複合キー:「CTRL+C」や「SHIFT+矢印」などのショートカットキーのこと
本記事では、以下のようなテストケースを作成します。
- テキストボックスに入力済みの文字を「CTRL+A」で全選択する
- 「CTRL+C」でコピーし、別のテキストボックスに「CTRL+V」で張り付ける
- 「TAB」を押下し、カーソルを移動させる
もくじ
前提
- T-DASHを起動している
- 以下サンプルファイルをダウンロード済みである
サンプルファイル
- サンプルファイルのダウンロードはこちらから(sync_keyinput.zip)
https://github.com/valtes-rd/t-dash/releases/tag/T-DASH_tutorial_keyinput - サンプルファイルの内容
- syncファイル : サンプルテストケースと、カスタム動作が入ったプロジェクトファイルです。
詳細
1.ダウンロード済みサンプルプロジェクトをT-DASHでインポートする
プロジェクトファイルはインポートすると、
プロジェクト内のすべての情報がインポートした情報で上書きされます。
必ず、「+プロジェクトを作成」ボタンから新規プロジェクトを作成し、インポートしてください。

補足:プロジェクトファイル(syncファイル)のインポート方法は以下をご参照ください。
■プロジェクトファイルをインポートしよう
/t-dash/function/tutorial/import_export_projectfiles_vol_001
2.カスタム動作を作成する
まずはカスタム動作を作成していきます。
左メニュー「動作定義」タブ→「カスタム動作」を選択し、「+新規カテゴリ作成」をクリックします。

「動作カテゴリ編集」ダイアログが開きました。
キー(半角英数字)、動作カテゴリ、色を指定し、「作成」ボタンをクリックしてください。

カテゴリを作成後、「+カスタム動作を追加」をクリックします。

「動作関数作成」ダイアログが開きました。
画像のように「動作名(任意)」 「利用変数」 「動作種類」 「フォーマット(任意)」 を設定します。

続いて、ライブラリを追加します。
「+ライブラリを追加する」ボタンをクリックしてください。

「ライブラリ追加」ダイアログが開きました。
下へスクロールし、「Library」を表示してください。

今回はライブラリを1つ利用します。
「BuiltIn」と入力し、「+」ボタンをクリックしてください。
ライブラリ追加時は先頭に ” Library “をつけず、「BuiltIn」と入力してください。
「Library BuiltIn」でライブラリ追加をすると、カスタム動作が正しく動作しません。
※「BuiltIn」と入力後、「+」ボタンをクリックすると自動的に「Library BuiltIn」と上部に表示されますが問題ありません。

Libraryに「Library BuiltIn」が追加されました。
「ライブラリ追加」ダイアログの右上にある「×」をクリックし、ダイアログを閉じます。

「+ライブラリを追加する」の右横に、「BuiltIn」が追加されました。

続いて、スプレッドシートにRobotFrameworkの動作キーワードや値を入力します。

① | Press Keys | NONE | ${value} |
② | BuiltIn.Sleep | 1s |
①行目:
Press Keysは、要素、もしくはアクティブブラウザにおいてキーを押下する関数です。
キーは1つ、または複数(例えば、CTRL+A)の指定ができます。
また、画面定義を必要としないので、locatorをNONEにしています。
“画面定義を必要としない”というのは、後述するテストケース作成時にとても便利です。
“画面定義を必要としない”を言い換えると、”「画面名(設定値1)」と「要素名(設定値2)」を毎回入力せずにカスタム動作を使える”ということになります。
そのため、各要素毎のXPathを取得せずにテストケースが作成できるのです。
②行目:
Builtin.Sleepは、指定時間の間、テストの実行を待機させる関数です。
サンプルプロジェクトでは「1s」としていますが、長めに待機時間を設けたい場合は秒数を変更してください。
記述完了後、右上の「保存する」ボタンをクリックし、「動作関数作成」ダイアログを閉じてください。

3.テストケースを作成する
次にテストケースの作成です。
画面名や要素名はテストケース作成後に「画面定義」より作成します。
作成テストケースの具体例)
要素名「入力済みテキストボックス」に入力されている「T-DASHサンプル画面サイトへようこそ」を全選択後にコピーし、要素名「テキストボックス」に張り付ける。
その後、「TABキー」を5回押下し、カーソルを5個下の要素まで移動させる。

① 1行目:
「画面のURLをブラウザで開く」で該当ページを開きます。
② 2行目:
「要素が見つかるまでスクロールする」を利用し、コピー対象テキストボックスが表示されるまでページを下方向へスクロールさせます。
③ 3行目:
コピー対象テキストボックスを選択状態にするため、「要素をクリックする」を選択します。
④ 4行目、5行目:
手順②で作成したカスタム動作を呼び出します。
動作カテゴリから「キーボードキーを入力する」を選択し、入力させたいキーを「設定値」に入力します。
テキストボックス内の文字を全選択したいため、4行目の設定値に「CTRL+A」を入力してください。
続いて、全選択した文字をコピーするため、5行目の設定値に「CTRL+C」と入力します。
注意:テストケース作成時、キー名を小文字で書くと動作しないことがあります

⑤ 6行目:
張り付け対象テキストボックスを表示させるため、「要素が見つかるまでスクロールする」を選択します。
⑥ 7行目:
張り付け対象テキストボックスを選択状態にするため、「要素をクリックする」を選択します。
⑦ 8行目:
5行目でコピーした文字を張り付けます。
同カスタム動作「ショートカットキーを押下する」を選択し、設定値に「CTRL+V」と入力します。
⑧ 9~13行目:
TABキーを利用したカーソル移動をさせるため、同カスタム動作を呼び出します。
「ショートカットキーを押下する」を選択し、設定値に「TAB」と入力します。
「Press Keys」は画面定義を必要としないので、「画面名」と「要素名」は空欄のままで問題ありません。
⑨ 14行目:
スクリーンショットをとります。
テスト完了後にreports > プロジェクトキーフォルダ > screenshotsフォルダにスクリーンショットが作成されます。
作成後に右上「保存する」ボタンをクリックします。

引き続き、テストに必要な画面と要素を定義します。
「画面定義」タブから画面を作成、要素名と値(XPath)を入力します。

作成後に右上「保存する」ボタンをクリックします。
4.テストを実行する
「テストスイート」タブに戻り、
テスト実行したいテストスイートとテストケースにチェックが入っていることを確認します。
次に、「テスト環境選択」にてテストを実行させるブラウザを選択します。
最後に、右上の「選択したテストを実行する」をクリックします。

テストが実行され、空欄だったテキストボックスにコピーした文字が張り付けられました。
また、カーソルは5個下の要素に移動しました。

