メインコンテンツまでスキップ
バージョン:23.3

AskとAnswerを使用してテスト方法を組み合わせる

テストは常に完全に自動化されたものや完全に手動のタスクではありません。多くの条件下では、2つのアプローチを組み合わせることが、アプリケーションを適切にテストするための最も効率的または合理的な方法であるかもしれません。Eggplant Functionalは、テスターがテストの実行中に自動テストの詳細を手動で指定することを可能にするいくつかの有用なコマンドを含んでいます。

AskAnswerのコマンド群は、アプリケーションまたはテストの要件が合理的に自動化するには複雑すぎる場合、テスターがテスト入力やブランチング動作についての決定をオンデマンドで行うことを可能にします。コマンドはEggplant Functionalまたはオペレーティングシステム内のダイアログボックスを生成し、テスターが適切なタイミングで決定を下すよう促します。

これらのコマンドは、テスターの決定をテストにフィードバックするためにit変数を活用します。

Answer

Answerコマンドは、テスターが事前に定義されたオプションから選択できるプロンプトを生成します。Answerは、テスターがテスト対象のアプリケーションの複雑なインターフェースが適切に描画または動作しているかどうかを慎重に判断する必要がある場合、またはテスターがブランチングシナリオでテストがどの方向を追うかについて動的に制御したい場合に有用です。

例:

Answer "検索結果のフォーマットは正しいですか?" with "はい" or "いいえ" title "結果フォーマットの確認" timeout 60 seconds

上記のAnswerコマンドは、タイムアウトが60秒の次のプロンプトダイアログを作成します:

AnswerDialog.png

上記のプロンプトへの応答 - はい、いいえ、または空白 - は変数"it"に返されます:

もしitが"はい"ならば
LogSuccess "フォーマットは正確です!"
それ以外の場合、もしitが"いいえ"ならば
LogError "フォーマットは正確ではありません。テストは失敗しました。"
Answer "どのリカバリーシナリオを実行するべきですか?" with "アプリケーションの再起動" or "ページの更新" title "リカバリーシナリオの選択"
もしitが"アプリケーションの再起動"ならば
ApplicationRestart
それ以外の場合、もしitが"ページの更新"ならば
PageRefresh
end if
それ以外の場合、もしitが空白ならば -- Answerウィンドウがタイムアウトすると、それは空で返されます
LogWarning "人間がフォーマットをチェックする前に、フォーマットチェックがタイムアウトしました。後でレビューするためのスクリーンショットを撮影します!"
CaptureScreen
end if
to ApplicationRestart
Click "メニュー"
Click "終了"
DoubleClick "アプリケーションアイコン"
end ApplicationRestart
to PageRefresh
Click "メニュー"
Click "更新"
end PageRefresh

リストから選択する

Answerコマンドは、リストセレクタを返すこともできます。以下の構文:

myListOfChoicesに["home", "work", "Account", "login"]を入れます
リストのユニークなアイテムから"Account"をanswerします

これを返します:

A list selector returned by the Eggplant Functional Answer command

Ask

Askコマンドは、テスターが選択した文字列を提供できるフィールドでテスターをプロンプトします。このコマンドは、カスタムログメッセージやパスワードをテストに入力するのに役立ちます。

例:

Ask "ユーザーネームは何ですか?"
それをUserNameに入れます
Ask Password "パスワードは何ですか?"
// Ask Passwordは、プロンプトフィールドに入力された文字列を隠すAskの特殊なバラエティです
それをPasswordに入ります

AskPasswordDialog.png

"UserNameField"をクリック
TypeText UserName
"PasswordField"をクリック
スクリプトのログをサイレントに設定
-- スクリプトのログをサイレントに設定すると、TypeTextコマンドのパスワードがログファイルに表示されなくなります
TypeText Password
スクリプトのログをオンに設定
Log "パスワードが入力されました!"

Ask File/Folder と Answer File/Folder

Ask file/folderとAnswer file/folderは、入力用のファイルを選択したり、出力を保存する場所を選択したりするために、オペレーティングシステムのローカルファイルエクスプローラを利用します。

"C:\Users\Carrie\Desktop"フォルダ内の"type txt"、".csv"のAnswer file
それをmyFileContentsに入れる
// このAnswer fileコマンドは、指定されたファイル拡張子を持つファイルのみを表示します

AskFileDialog.png

"C:\Users\Carrie\Desktop\Results"フォルダ内の".txt"のAsk file
それをmyResultsFileに入れる
myFileContentsのファイルの各行myLineを繰り返す
"SearchField"をクリック
TypeText myLine
"私は検索しています" && myLine & period & CRLF を myResultsFile のファイルの後に置く
end repeat
end repeat

特別な注意点

これらのプロンプトは、スクリプトがGUIモードから実行された場合にのみ生成され、コマンドラインからは生成されないため、実行マシン上にEggplant Functional開発ライセンスが利用可能である必要があります。

追加情報

it変数AskとAnswer、およびAsk file/folderとAnswer file/folderに関するさらなる文書もあります。