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
リストから選択する
Answer
コマンドは、リストセレクタを返すこともできます。以下の構文:
myListOfChoicesに["home", "work", "Account", "login"]を入れます
リストのユニークなアイテムから"Account"をanswerします
これを返します:
Ask
Ask
コマンドは、テスターが選択した文字列を提供できるフィールドでテスターをプロンプトします。このコマンドは、カスタムログメッセージやパスワードをテストに入力するのに役立ちます。
例:
Ask "ユーザーネームは何ですか?"
それをUserNameに入れます
Ask Password "パスワードは何ですか?"
// Ask Passwordは、プロンプトフィールドに入力された文字列を隠すAskの特殊なバラエティです
それをPasswordに入ります
"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コマンドは、指定されたファイル拡張子を持つファイルのみを表示します
"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に関するさらなる文書もあります。