テストシナリオマクロ
最終更新日: 2021年9月1日
R8 | R9
ファイルの先頭は
テスト命令の開始は
一つの「テスト命令のまとまり」は、一つの画面の操作のみとします。ここに検索、一覧表示、詳細表示といった複数の画面をまたがるテスト命令を記述することはできません。
書式は次の通りです。
環境命令はコロン (":") で囲みます。一つの空白で区切り、値部をダブルクォートで囲みます。
書式は次の通りです。
テスト命令と値は一つの空白で区切ります。値部はダブルクォートで囲みます。
詳細は後述します。
用意しているメタ文字は次の通りです。
値の部分を {...} で囲み、式を記述することができます。利用できる関数は文字、数字、日付操作です。
環境命令部に define 命令を用意することができます。
命令部では特別な指定
複数の define 命令をまとめた別ファイルを用意することができます。例えば rule.def というファイルを用意します。
include 命令でこのファイルを取り込むことができます。
テスト命令行に特別表記
モデル customer に対するテストのサンプルを示します。
env.def, rule.def と CustomerTest.tsm およびリポジトリを含んだファイルをダウンロードできます。
ダウンロード後、テストシナリオマクロを customize/test/tsm フォルダに展開してください。
次のパターンは対応していません。
シナリオファイルの構造
シナリオファイル
=
で始めます。その次の行から、環境命令が続きます。
==
で始まる行で識別します。次の==
が見つかるまでが、一つのシナリオです。
= シナリオ名
環境命令
...
== テスト命令のまとまり(一つの画面機能の操作)
テスト命令
...
== テスト命令のまとまり(一つの画面機能の操作)
テスト命令
...
環境命令
:環境命令: "値"
環境命令
必須
例
説明
:group:
○
:group: "t001"
このテストシナリオのグループIDです。一つのグループIDに複数のテストシナリオを用意することができます。
:id:
○
:id: "CustomerTest"
このテストシナリオのグループIDです。一つのグループIDに複数のテストシナリオを用意することができます。
:define:
:define: 今日 TEXT(TODAY(),"yyyy-MM-dd")
テスト命令で利用できる式を定義することができます。[後述]
:include:
:include: "rule.def"
複数の環境命令をまとめた別ファイルを用意し、これをインクルードすることができます。[後述]
テスト命令部
テスト命令 "値","値",...
テスト命令 命令修飾
テスト命令 モデル名.項目名 "値","値",...
コメント
//
ではじまる行はコメントとして扱われます。動作に影響はありません。
テスト命令の説明
日本語表記
説明
例
ログオン [ユーザ名] [パスワード]
ログオンを行います。
ログオン "admin" "wagby"
ログオン! [ユーザ名] [パスワード]
ログオン! "admin" "wagby"
ログオン [ユーザ名] [パスワード] [言語]
ログオン "admin" "wagby" "日本語"
ログオン "admin" "wagby" "English"
ログオフ
ログオフを行います。
ログオフ
ページタイトル? [ページタイトル]
画面に表示されるページタイトルを確認します。
ページタイトル? "メニュー"
ページタイトル?? [ページタイトル]
ページタイトル?? "メニュー"
タイトル? [タイトル]
ブラウザのタイトル部を確認します。
タイトル? "Wagby アプリケーション ログオン"
メニュー [メニュー]
メニューを選択します。区切り文字 ">" で階層メニューを指定できます。
メニュー "サービス > 顧客検索"
サブメニュー [メニュー]
サブメニュー "サービス > 顧客検索"
エラーメッセージ?? [文言] [文言] ...
画面に表示されるメッセージを確認します。
エラーメッセージ?? "ユーザ名またはパスワードが間違っています"
警告メッセージ? [文言] [文言] ...
警告メッセージ? "顧客名称 は必須項目となっています。"
情報メッセージ? [文言] [文言] ...
情報メッセージ? "1件の顧客データを新規登録しました。"
エラーメッセージ数 [整数]
警告メッセージ数 [整数]
情報メッセージ数 [整数]画面に表示されるメッセージの数を確認します。
情報メッセージ数 "1"
画面 登録 [モデル名(省略可)]
画面遷移を行います。
画面 登録
画面 登録 "顧客"
画面 更新 [モデル名(省略可)]
画面 更新
画面 更新 "顧客"
画面 コピー
画面 コピー
画面 親モデル詳細
画面 親モデル詳細
画面 検索
画面 検索
画面 一覧
画面 一覧
画面 一覧更新
画面 一覧更新
ページネーション9.0.3
一覧画面のページネーションを操作します。
ページネーション 次へ
ページネーション 次へ
ページネーション 次へ
ページネーション 前へ
ページネーション 前へ
ページネーション 最後へ
ページネーション 最後へ
ページネーション 先頭へ
ページネーション 先頭へ
ページネーション Nページ
Nは1から始まる数値。
ページネーション 1ページ
ページネーション 4ページ
ボタン 保存
画面に用意されているアクションボタンを押します。
ボタン 保存
ボタン キャンセル
ボタン キャンセル
ボタン 削除
ボタン 削除
ボタン ウィザード次
ボタン ウィザード次
ボタン ウィザード前
ボタン ウィザード前
ボタン 検索
ボタン 検索
ボタン リセット
ボタン リセット
ボタン [オリジナルボタン名]
ボタン "オリジナルボタン1"
?ボタン [画面に用意されているボタン]
画面に用意されているアクションボタンが存在することを確認します。
?ボタン "登録画面へ"
?ボタン "一覧表示へ"
準備 モデル名
この命令以降に利用する WTF モデルクラスを指定します。(*1)
準備 顧客
検索準備 モデル名
この命令以降に利用する検索用の WTF モデルクラスを指定します。(*1)
検索準備 顧客
入力 モデル名.項目名 [値]
値を入力します。
入力 顧客.顧客名称 "山田"
入力 モデル名.コンテナ名[INDEX].項目名 [値]
入力 顧客.問い合わせ[1].内容 "電話ありました。"
入力 モデル名.郵便番号項目名 [郵便番号]
入力 顧客.郵便番号 "901-2227"
選択肢確認? モデル名.項目名 [値] [値]...
選択肢の内容を確認します。リストボックス、ラジオボタン、チェックボックスで利用できます。
選択肢確認? 顧客.業種リストボックス "流通" "製造" "販売"
ボタン クリア モデル名.項目名
入力画面に用意される、ラジオボタン項目のクリアボタンを押下します。
ボタン クリア 顧客.業種ラジオボタン
?ボタン クリア モデル名.項目名
入力画面に用意される、ラジオボタン項目のクリアボタンの存在を確認します。
?ボタン クリア 顧客.業種ラジオボタン
ボタン トグル モデル名.項目名
入力画面に用意される、チェックボックス項目の全選択/クリアボタンを押下します。
ボタン トグル 顧客.業種チェックボックス
?ボタン トグル モデル名.項目名
入力画面に用意される、チェックボックス項目の全選択/クリアボタンの存在を確認します。
?ボタン トグル 顧客.業種チェックボタン
ボタン 開く モデル名.項目名
入力画面に用意される、モデル参照検索画面項目のサブウィンドウを開くボタンを押下します。
ボタン 開く 顧客.業種サブウィンドウ
ボタン 閉じる モデル名.項目名
上の命令で開いたサブウィンドウを閉じます。
ボタン 閉じる 顧客.業種サブウィンドウ
ボタン #OK
ダイアログに用意された OK ボタンを押下します。
ボタン #OK
サブウィンドウ一覧選択 モデル名[行]
サブウィンドウ一覧表示の指定行を選択します。
サブウィンドウ一覧選択 アカウント[3]
アップロード モデル名.項目名 [ファイル]
ファイル型項目にファイルをアップロードします。ファイルのパスの起点はWagbyインストールフォルダです。
アップロード 顧客.写真 "myphoto.png"
ダウンロード モデル名.項目名 [ファイル]
ファイル型項目に登録済みのファイルをダウンロードします。ファイルのパスの起点はWagbyインストールフォルダです。
ダウンロード 顧客.写真 "myphoto.png"
入力可 モデル名.項目名
入力画面に用意された項目が、入力可能となっているかどうかを確認します。
入力可 顧客.顧客名称
入力不可 モデル名.項目名
入力画面に用意された項目が、入力不可能となっているかどうかを確認します。
入力不可 顧客.顧客名称
入力 モデル名.追記型リストボックス項目名 [値]
入力画面に用意された追記型リストボックス項目に値を入力します。
入力 顧客.趣味 "読書"
入力 モデル名.追記型リストボックス項目名 [値]
#SELECT入力画面に用意された追記型リストボックス項目の選択肢から値を選択します。
入力 顧客.趣味 "読書" #SELECT
入力 モデル名.繰り返し項目名 [値] [値]...
入力画面に用意された繰り返し項目に値を入力します。複数の値を指定することができます。
入力 顧客.メールアドレス "yamada" "y@mada"
入力 モデル名.繰り返し項目名[INDEX] [値]
入力画面に用意された繰り返し項目の指定した入力位置に値を入力します。
入力 顧客.メールアドレス[1] "yamada"
入力 モデル名.繰り返し項目名 #CLEAR
入力画面に用意された繰り返し項目の値をすべて消去します。
入力 顧客.メールアドレス #CLEAR
ボタン 追加 モデル名.繰り返し項目名
入力画面に用意された繰り返し項目の入力欄を一つ増やします。
ボタン 追加 顧客.メールアドレス
ボタン 挿入|追加|削除 モデル名.コンテナ名
入力画面に用意された繰り返しコンテナの挿入、追加、削除ボタンを押下します。
ボタン 挿入 顧客.問い合わせ
ボタン 追加 顧客.問い合わせ
ボタン 削除 顧客.問い合わせ
入力存在 モデル名.項目名
入力画面にこの項目が存在するかどうかを確認します。
入力存在 顧客.顧客名称
入力非存在 モデル名.項目名
入力画面に、項目が「ない」ことを確認します。閲覧権限が適用されたかどうかの確認に利用します。
入力非存在 顧客.顧客名称
入力非表示 モデル名.項目名
入力画面で、項目が「隠し項目(hidden)」となっているかどうかの確認に利用します。
入力非表示 顧客.顧客名称
値確認 モデル名.項目名 [値]
詳細画面で、項目の値を確認します。
値確認 顧客.顧客名称 "山田"
値確認 モデル名.繰り返し項目名 [値] [値]...
値確認 顧客.メールアドレス "yamada" "y@mada"
値確認 モデル名.コンテナ名[INDEX].項目名 [値]
値確認 顧客.問い合わせ[1].内容 "電話ありました。"
値確認RO モデル名.項目名 [値]
詳細画面で、項目が読み込み専用で、かつ指定した値になっていることを確認します。
値確認RO 顧客.登録ユーザ "admin"
サイズ確認 モデル名.繰り返し項目名 [整数]
サイズ確認 モデル名.コンテナ名 [整数]詳細画面で、繰り返し項目または繰り返しコンテナ項目の「数」を確認します。
サイズ確認 顧客.問い合わせ "2"
出力存在 モデル名.項目名
詳細画面で、項目が存在することを確認します。
出力存在 顧客.顧客名称
出力非存在 モデル名.項目名
詳細画面で、項目が存在しないことを確認します。
出力非存在 顧客.顧客名称
検索条件 モデル名.項目名 [値]
検索画面の条件欄に値を入力します。値部分に式を指定することもできます。
検索条件 顧客.顧客名称 "山田"
検索条件 モデル名.項目名(下限) [数値]
検索条件 顧客.ID(下限) "1"
検索条件 モデル名.項目名(上限) [数値]
検索条件 顧客.ID(上限) "100"
検索条件 モデル名.項目名(開始) [日付値]
検索条件 顧客.訪問日(開始) { TEXT(TODAY(),"yyyy-MM-dd") }
検索条件 モデル名.項目名(終了) [日付値]
検索条件 顧客.訪問日(終了) { TEXT(TODAY(),"yyyy-MM-dd") }
検索結果 [文言]
検索結果の文言が指定どおりになっていることを確認します。
検索結果 "1件中、1件目から1件目を表示しています。"
一覧値確認 モデル名[INDEX].項目名 [値]
一覧表示画面に表示される値を確認します。
一覧値確認 顧客[1].顧客名称 "山田"
一覧値確認 モデル名.モデル参照検索項目.参照先モデル名[INDEX].項目名 [値]
一覧表示画面に表示されるモデル内の検索画面項目について、その検索画面項目が指し示す対象モデルに含まれる項目の値を確認します。
一覧値確認 サポート.顧客名.顧客[1].顧客名称 "山田"
一覧件数確認 モデル名 [件数]
一覧表示画面に表示されるモデルの件数を確認します。(*2) (*3)
一覧件数確認 顧客 "1"
ボタン 詳細 モデル名[INDEX]
一覧表示画面に用意された詳細ボタンを押下します。この命令を実行する前に、少なくとも一回は「一覧値確認」命令を実行している必要があります。
ボタン 詳細 顧客[1]
ワークフロー 申請フロー選択 [フロー名]
ワークフローで、申請フローからフロー名を選択します。
ワークフロー 申請フロー選択 "年休申請フロー"
ワークフロー 申請フロー選択肢確認? [フロー名1,フロー名2,..]
ワークフローで、申請フローにあるフロー名の選択肢の内容を確認します。
ワークフロー 申請フロー選択肢確認? "年休申請フロー1","年休申請フロー2"
ワークフロー コメント [コメント]
ワークフロー申請時のコメントを入力します。
ワークフロー コメント "年休申請します。"
ワークフロー 申請
ワークフローの処理を行います。
ワークフロー 申請
ワークフロー 承認
ワークフロー 承認
ワークフロー 差し戻し
ワークフロー 差し戻し
ワークフロー 却下
ワークフロー 却下
ワークフロー 取り消し
ワークフロー 取り消し
ワークフロー 決裁
ワークフロー 決裁
ワークフロー 値確認[INDEX].項目名 [値]
ワークフローの申請状況一覧の内容を確認します。
ワークフロー 値確認[1].処理者 "山田"
ワークフロー 値確認[1].処理内容 "新規登録"
ワークフロー 値確認[2].コメント "年休申請します。"
ワークフロー 申請状況数 [数]
ワークフローの申請状況一覧の数を確認します。
ワークフロー 申請状況数 "2"
フォーカスアウト
入力欄にあるカーソルを解除します。
フォーカスアウト
フォーカスメイン
サブウィンドウからメインウィンドウへフォーカスを移動します。このあとの命令はメインウィンドウに対して行われるようになります。
フォーカスメイン
スクロール上 モデル名.項目名
スクロール上 モデル名.項目名 #SHOW入力画面で、入力フィールドの上部に合わせてスクロールします。下から上に向けてスクロールする場合に利用します。
スクロール上 顧客.顧客名称
スクロール上 顧客.顧客名称 #SHOW
スクロール上 モデル名.コンテナ名[INDEX].項目名
スクロール上 モデル名.コンテナ名[INDEX].項目名 #SHOWスクロール上 顧客.問い合わせ[1].内容
スクロール上 顧客.問い合わせ[1].内容 #SHOW
スクロール下 モデル名.項目名
スクロール下 モデル名.項目名 #SHOW入力画面で、入力フィールドの下部に合わせてスクロールします。上から下に向けてスクロールする場合に利用します。
スクロール下 顧客.顧客名称
スクロール下 顧客.顧客名称 #SHOW
スクロール下 モデル名.コンテナ名[INDEX].項目名
スクロール下 モデル名.コンテナ名[INDEX].項目名 #SHOWスクロール下 顧客.問い合わせ[1].内容
スクロール下 顧客.問い合わせ[1].内容 #SHOW
タイトルペイン 名前 #CLICK
指定された名前をもつタイトルペインを開閉します。クリックごとに開閉されます。
タイトルペイン "内訳" #CLICK
タイトルペイン 名前 #OPEN
指定された名前をもつタイトルペインが開いていることを確認します。
タイトルペイン "内訳" #OPEN
タイトルペイン 名前 #CLOSED
指定された名前をもつタイトルペインが閉じていることを確認します。
タイトルペイン "内訳" #CLOSED
フォントサイズ [大|中|小]
フォントサイズを変更します。
フォントサイズ "大"
ウィンドウサイズ [幅] [高さ]
ウィンドウサイズを変更します。ヘッドレスモードでない場合、画面の解像度を超えるウィンドウサイズを指定することはできません。ヘッドレスモードを有効にすると画面の解像度を超えるウィンドウサイズを指定することができます。
ウィンドウサイズ "800" "600"
スクリーンショット [ファイル名]
この時点の画面キャプチャを取得します。画像は png 形式です。ファイルの保存位置は build/reports/tests となります。ヘッドレスモードを有効にするとページ全体のスクリーンショットが取得できます。ヘッドレスモードが無効の場合は画面の解像度に合わせた範囲のスクリーンショットとなります。
スクリーンショット "capture1"
エクスポート #ALL
インポートエクスポート画面で、「すべて選択する」状態でのエクスポートを実行します。
エクスポート #ALL
エクスポート [モデル] [モデル]...
インポートエクスポート画面で、モデルを指定したエクスポートを実行します。
エクスポート "顧客" "お知らせ"
エクスポート #RESET
インポートエクスポート画面で、「すべてを解除する」ボタンを押下します。
エクスポート #RESET
エクスポート #DOWNLOAD [ファイル名]
インポートエクスポート画面で、指定したファイルの「ダウンロード」を行います。
エクスポート #DOWNLOAD "data_test01.zip"
エクスポート #DELETE [ファイル名]
インポートエクスポート画面で、指定したファイルの「削除」を行います。
エクスポート #DELETE "data_test01.zip"
インポート [ファイル]
インポートエクスポート画面で、指定したファイルのインポートを行います。
インポート "data_test01.zip"
メタ文字
メタ文字
付与できる命令
説明
?
タイトル
ページタイトル
メッセージの末尾完全一致
ボタン
ページネーション存在することの確認
-
ボタン
ページネーション存在しないことの確認
+
ボタン
ページネーションクリックできることの確認
~
ボタン
ページネーションクリックできないことの確認
??
タイトル
ページタイトル
メッセージの末尾部分一致
!
ログオン
各種の画面遷移ボタンの末尾
ワークフロー標準では、画面遷移後は常にエラーがないことを確認している。この「エラーがないことを確認する」処理をスキップする。
Excel関数の利用
入力 顧客.問い合わせ[1].日付 { TEXT(TODAY(),"yyyy-MM-dd") }
式を事前に定義する
:define: 今日 TEXT(TODAY(),"yyyy-MM-dd")
&
を使って、これを参照することができます。
入力 顧客.問い合わせ[1].日付 &今日
複数の define 命令を別ファイルで定義する
:define: 今日 TEXT(TODAY(),"yyyy-MM-dd")
:define: 明日 TEXT(MOVEDAY(TODAY(),1),"yyyy-MM-dd")
:define: 昨日 TEXT(MOVEDAY(TODAY(),-1),"yyyy-MM-dd")
:include: "rule.def"
Javaコードを埋め込む
<%
と%>
を使うことができます。この中に直接、Javaコードを書くことができます。
<%
System.out.println("Hello,WTF!");
%>
サンプル
= 顧客モデルのテスト
:group: "t001"
:id: "CustomerTest"
// ユーザ定義
:define: 今日 TEXT(TODAY(),"yyyy-MM-dd")
// ユーザ定義インクルード
:include: "rule.def"
// ------ tests are from here ------
== ログオンのテスト
//ログオン "admin" "wagby" "English"
//ログオン "admin" "wagby" "日本語"
ログオン "admin" "wagby"
ページタイトル? "メニュー"
// スクリーンショット取得時はヘッドレスモードをtrueにすること。
スクリーンショット "capture1"
== ログオフのテスト
ログオフ
タイトル? "Wagby アプリケーション ログオン"
== ログオンユーザのパスワードミスのテスト
// '!' = no error check
ログオン! "user01" "user01"
エラーメッセージ?? "ユーザ名またはパスワードが間違っています"
== トップメニューのテスト
ログオン "admin" "wagby"
ページタイトル? "メニュー"
メニュー "サービス > 顧客検索"
ページタイトル? "顧客 検索"
// 引数なしの「メニュー」は、メインメニューに戻る
メニュー
ページタイトル? "メニュー"
サブメニュー "サービス > 顧客検索"
ページタイトル? "顧客 検索"
フォントサイズ 大
ウィンドウサイズ 800 600
== 顧客の登録をキャンセル
// 3番目の引数にモデルを指定することもできる。通常は省略する。
画面 登録 "顧客"
ページタイトル? "顧客 新規登録"
ボタン キャンセル
ページタイトル? "顧客 検索"
ボタン "オリジナルボタン"
== 顧客の登録をテスト
画面 登録
ページタイトル? "顧客 新規登録"
// すぐに入力命令から始まるため、準備命令を省略できる。
入力 顧客.顧客名称 "山田"
入力 顧客.顧客カナ "ヤマダ"
入力 顧客.会社名称 "ジャスミン商事"
入力 顧客.電話番号 "09000000000"
選択肢確認? 顧客.業種リストボックス "流通" "製造" "販売"
入力 顧客.業種リストボックス "流通"
入力 顧客.業種ラジオボタン "流通"
?ボタン クリア 顧客.業種ラジオボタン
ボタン クリア 顧客.業種ラジオボタン
入力 顧客.業種チェックボックス "流通" "製造"
?ボタン クリア 顧客.業種チェックボックス
ボタン クリア 顧客.業種チェックボックス
ボタン 開く 顧客.業種サブウィンドウ
ボタン 閉じる 顧客.業種サブウィンドウ
入力 顧客.業種サブウィンドウ "流通"
入力 顧客.生年月日リストボックス形式 "1972-5-15"
アップロード 顧客.写真 "myphoto.png"
入力可 顧客.顧客名称
入力不可 顧客.顧客カナ
入力 顧客.趣味 "読書"
入力 顧客.趣味 "読書" #SELECT
入力 顧客.メールアドレス "yamada" "y@mada" "Yamada" "YaMaDa"
入力 顧客.メールアドレス[1] "yamada"
ボタン 追加 顧客.メールアドレス
入力 顧客.メールアドレス[2] "y@mada"
入力 顧客.メールアドレス #CLEAR
入力 顧客.メールアドレス "yamada" "y@mada"
入力 顧客.問い合わせ[1].日付 { TEXT(TODAY(),"yyyy-MM-dd") }
入力 顧客.問い合わせ[1].日付 &今日
入力 顧客.問い合わせ[1].内容 "電話ありました。"
ボタン 追加 顧客.問い合わせ
入力 顧客.問い合わせ[2].日付 &明日
入力 顧客.問い合わせ[2].内容 "回答しました。"
ボタン 挿入 顧客.問い合わせ
ボタン 削除 顧客.問い合わせ
入力非存在 顧客.顧客名称
ボタン 保存
ページタイトル? "顧客 詳細表示"
情報メッセージ数 "1"
// "情報メッセージ" だけだと、"情報メッセージ??" と解釈。部分一致となる。
情報メッセージ "1件の顧客データを新規登録しました。"
// "情報メッセージ?" は完全一致となる。
情報メッセージ? "1件の顧客データを新規登録しました。"
情報メッセージ?? "1件の顧客データを新規登録しました。"
// 他に「エラーメッセージ」「警告メッセージ」がある。
== 顧客の詳細表示のテスト
ページタイトル? "顧客 詳細表示"
// すぐに値確認命令から始まるため、準備命令を省略できる。
値確認 顧客.顧客名称 "山田"
値確認 顧客.会社名称 "ジャスミン商事"
値確認 顧客.電話番号 "09000000000"
値確認 顧客.業種リストボックス "流通"
値確認 顧客.業種ラジオボタン "流通"
値確認 顧客.業種チェックボックス "流通" "製造"
値確認 顧客.生年月日リストボックス形式 "1972-5-15"
値確認 顧客.写真 "myphoto.png"
ダウンロード 顧客.写真 "myphoto.png"
値確認 顧客.メールアドレス "yamada" "y@mada"
値確認 顧客.問い合わせ[1].日付 { TEXT(TODAY(),"yyyy-MM-dd") }
値確認 顧客.問い合わせ[1].日付 &今日
値確認 顧客.問い合わせ[1].内容 "電話ありました。"
値確認 顧客.問い合わせ[2].日付 &明日
値確認 顧客.問い合わせ[2].内容 "回答しました。"
サイズ確認 顧客.問い合わせ "2"
値確認RO 顧客.登録ユーザ "admin"
出力非存在 顧客.顧客名称
== 顧客の検索テスト
画面 検索
ページタイトル? "顧客 検索"
検索条件 顧客.ID(下限) "1"
検索条件 顧客.ID(上限) "100"
検索条件 顧客.顧客名称 "山田"
ボタン 検索
ページタイトル? "顧客 検索"
検索結果 "検索条件に合致したデータは1件見つかりました。"
== 顧客の一覧表示テスト
//「一覧画面へ」ボタンをクリック(検索画面と一覧画面が分かれている場合)
画面 一覧
ページタイトル? "顧客 一覧"
検索結果 "1件中、1件目から1件目を表示しています。"
// 一覧の値を確認してから(一覧表示の各行に用意されている)ボタンを操作すること
一覧値確認 顧客[1].ID "1"
一覧値確認 顧客[1].顧客名称 "山田"
ボタン 詳細 顧客[1]
ページタイトル? "顧客 詳細表示"
== 削除
ページタイトル? "顧客 詳細表示"
ボタン 削除
//ボタン [OK]
ページタイトル? "顧客 一覧"
== ログオフ 最終処理
ログオフ
タイトル? "Wagby アプリケーション ログオン"
一覧更新
...
== 一覧更新
画面 一覧更新 "顧客"
ページタイトル? "顧客 一覧更新"
ボタン 登録
入力 顧客[1].顧客名称 "山田"
ボタン コピー 顧客[1]
入力 顧客[2].顧客名称 "佐藤"
ボタン 新規 顧客[2]
入力 顧客[3].顧客名称 "鈴木"
ボタン 保存
情報メッセージ数 "1"
情報メッセージ? "1件の顧客データを新規登録しました。" "1件の顧客情報データをコピー登録しました。"
ページタイトル? "顧客 一覧表示"
ワークフロー
...
== ワークフロー
ログオン "yamada" "wagby"
ページタイトル? "メニュー"
メニュー "サービス > 顧客検索"
ページタイトル? "顧客 検索"
画面 一覧
ページタイトル? "顧客 一覧"
検索結果 "1件中、1件目から1件目を表示しています。"
一覧件数確認 顧客 "1"
一覧値確認 顧客[1].顧客名称 "山田"
ボタン 詳細 顧客[1]
ページタイトル? "顧客 詳細表示"
ワークフロー 申請フロー選択 "年休申請フロー"
ワークフロー コメント "年休申請します。"
ワークフロー 申請
// 申請状況の確認
ワークフロー 値確認[1].処理者 "山田"
ワークフロー 値確認[1].処理内容 "新規登録"
ワークフロー 値確認[1].コメント ""
ワークフロー 値確認[2].処理者 "山田"
ワークフロー 値確認[2].処理内容 "申請"
ワークフロー 値確認[2].コメント "年休申請します。"
インポートエクスポート
...
== インポートエクスポート
メニュー
ページタイトル? "メニュー"
サブメニュー "管理処理 > インポートとエクスポート"
ページタイトル? "インポートとエクスポート"
エクスポート #ALL
ページタイトル? "インポートとエクスポート"
エクスポート "顧客" "お知らせ"
ページタイトル? "インポートとエクスポート"
エクスポート #RESET
ページタイトル? "インポートとエクスポート"
エクスポート #DOWNLOAD "data_test01.zip"
ページタイトル? "インポートとエクスポート"
インポート "data_test01.zip"
ページタイトル? "インポートとエクスポート"
エクスポート #DELETE "data_test01.zip"
ページタイトル? "インポートとエクスポート"
ダウンロード
仕様・制約
対応していないパターン
ルール
シナリオ記述のポイント