ファイルアップロード機能を使用して Web アプリケーションのモニタリングテストまたはロードテストを設定する必要がある場合は 、EveryStep スクリプトツール を使用してスクリプトを記録します。

ファイルアップロードの記録は、Chrome とモバイルブラウザーでのみ利用できます。

ファイルのアップロード制限

EveryStep スクリプト ツールは、外部 URL へのファイル アップロードの記録をサポートしています。 ロード テスト用に EveryStep スクリプト内で合計最大 100 MB、監視スクリプト用に最大 20 MB のアップロードを記録できます。

たとえば、ロード テスト用に 25 MB の 4 つのファイルまたは 100 MB の 1 つのファイルのアップロードを記録できます。 または、Web パフォーマンス監視用に、それぞれ 10 MB のファイル サイズの 2 つのファイルまたは 20 MB のファイルのアップロードを記録できます。

どのように動作するか

ドットコムモニターは、ローカルで利用可能なストレージを持っていません。 ファイルのアップロード プロセスをエミュレートするには、アップロード手順を実行する前に、パブリック URL からスクリプトにファイルをダウンロードする必要があります。 したがって、まず、Dotcom-Monitor によるアップロードプロセスで使用されるテストファイルを提供する必要があります。 その結果、Dotcom-Monitorは提供されたURLからシステムクラウドストレージにファイルをダウンロードし、スクリプトが実行されるたびにアップロードプロセスで使用します。 ドットコムモニターにテストファイルを提供するには、2つの方法があります。

外部 URL からのファイルのダウンロード

外部 URL のファイルを使用するには、Amazon S3 バケット、Azure ストレージ、CDN サービスなどのパブリックにアクセス可能な URL に最大 100 MB (モニタリングスクリプトの場合は最大 20 MB) のテストファイルを配置します。 次に、ファイルのアップロード手順を EveryStep レコーダーに記録します。 ステップの記録中に、テストファイルへのリンクを入力するよう求められます。 システムはファイルをダウンロードし、アップロード操作で使用します。

スクリプト内でのファイルダウンロードの記録

または、 ファイルのダウンロード を記録し、ダウンロードしたファイルを選択して、スクリプトにアップロード手順を記録することもできます。 必要に応じて、記録後にスクリプトコード領域の関連行を編集することにより、ファイル名とリンク、ダウンロードタイムアウトを変更できます。

ベストプラクティス

Dotcom-Monitor は、スクリプト内のすべてのステップとアクションをデフォルトで遅延なく実行します。 ただし、通常はファイルを Web リソースにアップロードするのに時間がかかります。 この場合、遅延をシミュレートし、アップロードステップを実行するまでシステムを待機するには、アップロードステップの直後にスクリプトに 遅延 行を追加することをお勧めします。

また、アップロードが正しく実行されたことを確認するには、アップロード手順の後にコンテンツ検証を設定します。 一般に、ファイルのアップロード後にページにダイアログボックスまたはアップロード確認が表示される場合は、 キーワードの検証 または使用可能な コードスニペット を追加して、アップロード手順で期待される結果が得られるかどうかを確認します。

外部 URL からのファイルアップロードの記録

以下のファイルアップロードの設定手順を確認してください:

  1. 最大 100 MB のテスト ファイルをパブリックにアクセス可能な URL にダウンロードします。
  2. ファイルをアップロードする必要があるポイントまでスクリプトを記録します。
  3. ターゲットページの対応するボタンをクリックして、ファイルをアップロードします。
  4. [ ファイルのアップロード] ウィンドウで、アップロードするファイルへの外部リンクを指定します。 ファイルは、提供された外部リンクから、Dotcom-Monitorクラウドストレージにダウンロードされます。 ダウンロードしたファイル名は、[ ファイルのアップロード ]ウィンドウに表示されます。 ファイルのチェックボックスをオンにし 、[OK]をクリックします。 その結果、スクリプトに 自動的に追加 されます。

    ファイルのダウンロードがスクリプトの前のステップで記録されている場合は、[ファイルのアップロード]ウィンドウでファイル名をすぐに選択します。

  5. アップロード手順の直後に[遅延]を追加します。
  6. キーワードまたはイメージの検証をスクリプトに追加します。
  7. 必要に応じて、記録を続行します。準備ができたら記録プロセスを停止します。

以下の EveryStep スクリプトツールに記録されたファイルアップロードスクリプトの例を見つけてください。 このスクリプトには、ローカルに保存されたファイルと外部 URL からのファイルのアップロードの例が含まれています。

// script_version=3.0; everystep_version=4.0.7706.9249; date=2/10/2021; Chrome=83.0.4103.61
Tabs.SetSize (1768, 419);
DMBrowser tab0 = null;
Step (1, "Download & Generate Test Files - https://fastest.fish/test-files");
tab0 = Tabs.NewTab ();
tab0.GoTo ("https://fastest.fish/test-files");
tab0.Link ("//A[normalize-space()=\"5MB\"]", "//A[normalize-space(text())=\"5MB\"]", "//A[normalize-space()=\"10MB\"]/preceding-sibling::A[1]").Click ();
//File Download to the system storage  
Step (2, "Download & Generate Test Files - http://ipv4.download.thinkbroadband.com/5MB.zip");
tab0.Downloading ("5MB.zip", "http://ipv4.download.thinkbroadband.com/5MB.zip");
tab0.Para ("//P[normalize-space()=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "//P[normalize-space(text())=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "/HTML/BODY/DIV/DIV/P[1]").Click ();
//File Upload using the file from the system storage
Step (3, "Gofile - https://gofile.io/uploadFiles");
tab0.GoTo ("https://gofile.io/uploadFiles");
OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"5MB.zip"});
tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click ();
tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click ();
Delay ("40sec".ToDuration ());
tab0.KeywordAssert ("successfully uploaded");
//File Upload from the external URL
tab0.Link ("//P[normalize-space()=\"Upload Files\"]/..", "//LI[@ID=\"li-uploadFiles\"]//A", "//LI[@ID=\"li-api\"]/preceding-sibling::LI[1]//A").Click ();
tab0.Download ("Q3UTw.htm", "https://dropmefiles.com/Q3UTw");
OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"Q3UTR.htm"});
tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click ();
tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click ();
Delay ("40sec".ToDuration ());
tab0.KeywordAssert ("successfully uploaded");