AskとAnswerを使用してテスト方法を組み合わせる
テストは常に完全に自動化されたものや完全に手動のタスクではありません。多くの条件下では、2つのアプローチを組み合わせることが、アプリケーションを適切にテストするための最も効率的または合理的な方法であるかもしれません。Eggplant Functionalは、テスターがテストの実行中に自動テストの詳細を手動で指定することを可能にするいくつかの有用なコマンドを含んでいます。
AskとAnswerのコマンド群は、アプリケーションまたはテストの要件が合理的に自動化するには複雑すぎる場合、テスターがテスト入力やブランチング動作についての決定をオンデマンドで行うことを可能にします。コマンドはEggplant Functionalまたはオペレーティングシステム内のダイアログボックスを生成し、テスターが適切なタイミングで決定を下すよう促します。
これらのコマンドは、テスターの決定をテストにフィードバックするためにit変数を活用します。
Answer
Answer
コマンドは、テスターが事前に定義されたオプションから選択できるプロンプトを生成します。Answerは、テスターがテスト対象のアプリケーションの複雑なインターフェースが適切に描画または動作しているかどうかを慎重に判断する必要がある場合、またはテスターがブランチングシナリオでテストがどの方向を追うかについて動的に制御したい場合に有用です。
例:
Answer "検索結果のフォーマットは正しいですか?" with "はい" or "いいえ" title "結果フォーマットの確認" timeout 60 seconds
上記のAnswerコマンドは、タイムアウトが60秒の次のプロンプトダイアログを作成します:
上記のプロンプトへの応答 - はい、いいえ、または空白 - は変数"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