ファイルアップロード機能を使用して Web アプリケーションのモニタリングテストまたはロードテストを設定する必要がある場合は 、EveryStep スクリプトツール を使用してスクリプトを記録します。
ファイルのアップロード制限
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 のファイルを使用するには、最大 100 MB (モニタリングスクリプトの場合は最大 20 MB) のテストファイルを、Amazon S3 バケット、Azure ストレージ、AWS CloudFront CDN などの CDN サービスなどのパブリックにアクセス可能な URL に配置します。 次に、ファイルのアップロード手順を EveryStep レコーダーに記録します。 ステップの記録中に、テスト ファイルへのリンクを入力するように求められます。 システムはファイルをダウンロードし、アップロード操作で使用します。
スクリプト内でのファイルダウンロードの記録
または、 ファイルのダウンロード を記録し、ダウンロードしたファイルを選択して、スクリプトにアップロード手順を記録することもできます。 必要に応じて、記録後にスクリプトコード領域の関連行を編集することにより、ファイル名とリンク、ダウンロードタイムアウトを変更できます。
ベストプラクティス
Dotcom-Monitor は、スクリプト内のすべてのステップとアクションをデフォルトで遅延なく実行します。 ただし、通常はファイルを Web リソースにアップロードするのに時間がかかります。 この場合、遅延をシミュレートし、アップロードステップを実行するまでシステムを待機するには、アップロードステップの直後にスクリプトに 遅延 行を追加することをお勧めします。
また、アップロードが正しく実行されたことを確認するには、アップロード手順の後にコンテンツ検証を設定します。 一般に、ファイルのアップロード後にページにダイアログボックスまたはアップロード確認が表示される場合は、 キーワードの検証 または使用可能な コードスニペット を追加して、アップロード手順で期待される結果が得られるかどうかを確認します。
外部 URL からのファイルアップロードの記録
以下のファイルアップロードの設定手順を確認してください:
- 最大 100 MB のテスト ファイルをパブリックにアクセス可能な URL にダウンロードします。
- ファイルをアップロードする必要がある時点までスクリプトを記録します。
- ターゲットページの対応するボタンをクリックして、ファイルをアップロードします。
- [ ファイルのアップロード] ウィンドウで、アップロードするファイルへの外部リンクを指定します。 ファイルは、提供された外部リンクから、Dotcom-Monitorクラウドストレージにダウンロードされます。 ダウンロードしたファイル名は、[ ファイルのアップロード ]ウィンドウに表示されます。 ファイルのチェックボックスをオンにし 、[OK]をクリックします。 その結果、スクリプトに 自動的に追加 されます。
- アップロード手順の直後に[遅延]を追加します。
- キーワードまたはイメージの検証をスクリプトに追加します。
- 必要に応じて、記録を続行します。準備ができたら記録プロセスを停止します。
以下の EveryStep スクリプトツールに記録されたファイルアップロードスクリプトの例を見つけてください。 このスクリプトには、ローカルに保存されたファイルと外部 URL からのファイルのアップロードの例が含まれています。 アップロード テストの目的で、公開されている URL から次のサンプル ファイルを使用できます。
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.docx
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.pdf
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.txt
// 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");