ファイルのダウンロードとダウンロード結果を確認する手順について説明します。
ファイルのダウンロード
「クリック」もしくは「クリックしてファイルダウンロード」コマンドを使います。
コマンドの使い分けについて
Chrome,Firefox,Edgeでのみテストを行う場合は、「クリック」と「クリックしてファイルダウンロード」どちらでも良く、ダウンロードする操作について特別なことをする必要はありません。たとえば、何らかのボタンを「クリック」するといった指定をすると自動的にダウンロードが行われます。
一方IEの場合は、ダウンロードのためのボタンをクリックしただけでは上記のキーボード操作ができないので、特別に「クリックしてファイルダウンロード」というコマンドを使用します。MagicPod側ではどのボタンがダウンロード処理を発生させるかは分からないため、テストケースを作る側で設定する必要があります。Chrome,Firefox,Edgeで「クリックしてファイルダウンロード」コマンドを指定した場合は、「クリック」と同じ動作になりますので、IEとこれらのブラウザで共通したテストケースを使うことができます。
テスト中の操作でファイルダウンロードが発生したときの動きは、ブラウザによって異なります。
- Chrome, Firefox, Edgeの場合
- ダウンロードの確認ダイアログは表示されずにファイルがダウンロードされます。
- IE11の場合
- IE11では確認ダイアログを自動で非表示にすることができないため、キーボード操作を使ってファイルを保存します。そのため、他のブラウザよりも操作が遅くなります。
- また、動作としても他のブラウザよりも不安定になりがちなので、特別にIEでダウンロードのテストをしたいというニーズがない限りは別のブラウザでテストをすることをお勧めします。
ダウンロードファイルの保存先について
- クラウドブラウザ環境の場合
- ダウンロードファイルはクラウド環境上の保存フォルダに一時保存されますが、ユーザー側から確認することはできません。
-
クラウド環境上の保存フォルダは、テストの実行毎に中身が空の状態にリセットされます。
- ローカルPC環境の場合
- ダウンロードファイルはローカルPC上の保存フォルダに保存されます。
- ローカルPC上の保存フォルダは、デフォルトでは "desktop" 下の "magicPod/downloads" に保存されます。また "magic_pod_config.json" 内で、"workDir" のプロパティ名に保存先のフルパスを入力することで、ダウンロードファイルの保存先を変更することが可能です。
- ローカルPC上の保存フォルダも、テストの実行毎に中身が空の状態にリセットされます。
- 1回のテスト実行中に同じファイル名のダウンロードファイルが複数回ダウンロードされた場合、ブラウザ側で連番をつけるなどして、ファイル名を変更して保存されます
命名方法はブラウザやOSにより異なります。(Chromeの場合は間に半角スペースが含まれています)
例) ・Mac の Chrome の場合:"download_file (1).zip" , "download_file (2).zip" ・・・
・Mac の Firefox の場合: "download_file(1).zip" , "download_file(2).zip" ・・・
ダウンロード結果の確認
ファイル名の確認
「ダウンロードされたことを確認」コマンドを使います。
ファイルが問題なくダウンロードされたかどうかは、特定の名前のファイルがダウンロードフォルダの中にあるかどうかで確認します。ファイル名には正規表現を使うことができます。(例:"data_file_ver2.txt", "data_file_ver.*\.txt"など)
参考:正規表現について
例えば、ファイル名が「data_20241202.txt」など「data_<日付>.txt」であり、ファイル名がテスト実行日付を含んだものであることを確認したい場合、「日時計算」と「ダウンロードされたことを確認」コマンドを組み合わせることで確認できます。
注意点:日付が変わるタイミングにテストを実行する場合、日付が想定と異なり失敗する可能性があるため注意してください。
日付だけでなく時間も含んでいる(例: data_20241202153045.txt)場合、時間についても想定と等しいことを確認することは難しいです。(MagicPodで生成した時間とテスト対象アプリで生成されたファイル名に含まれた時間を完全に一致させることが困難であるため)
その場合、以下のように正規表現を用いて時間の部分については「6桁の数字であること」を確認してください。
ファイル内容の確認(テキストファイルのみ)
ダウンロードされたファイルを開くことは現状MagicPodではできませんが、
「テキストファイルの内容を保存」コマンドを使えば、テキストファイル(TXT、CSVファイル)の中身を変数に保存し確認や利用することができます。ファイル名には正規表現を使うことができます。(例:"data_file_ver2.txt", "data_file_ver.*\.txt"など)
時間のかかるダウンロードの待機
ファイルのダウンロードにある程度(10秒以上)時間がかかりそうな場合は、確認コマンドの前に「ダウンロードが完了するまで待つ」コマンドを挿入します。こちらもファイル名を正規表現ありで指定することができます。10秒以内であれば確認コマンドだけでも待機してくれますので、待機コマンドを入れなくても大丈夫です。
最終的なコマンドは以下のようになります。