Если вам необходимо настроить мониторинг или загрузить тестирование для веб-приложений с функциональностью загрузки файлов, используйте EveryStep Scripting Tool Desktop для записи скрипта.

Запись загрузки файла доступна только для Chrome и мобильных браузеров.

С EveryStep Desktop можно настроить загрузку файла с внешнего URL до 5 МБ и до 20 МБ в общей сложности в скрипте. Например, можно записать загрузку четырех файлов по 5 МБ или 20 файлов 1 МБ.

Как это работает

Dotcom-Monitor не имеет локально доступного хранилища. Чтобы подражать процессу загрузки файла, система должна загрузить файл на скрипт из общедоступного URL-адреса перед выполнением шага загрузки. Таким образом, во-первых, необходимо предоставить тестовый файл, который будет использоваться в процессе загрузки Dotcom-Monitor. В результате Dotcom-Monitor загрузит файл из предоставленного URL в облачное хранилище системы и будет использовать его в процессе загрузки каждый раз, когда сценарий выполняется. Существует два подхода к предоставлению тестового файла Dotcom-Monitor.

Загрузка файла из внешнего URL

Для записи загрузки файла с внешнего URL поместите тестовый файл объемом до 5 МБ на общедоступный URL-адрес, такой как ведро Amazon S3, хранилище Azure или службы CDN. Затем зарегистрайте шаг загрузки файла в EveryStep Recorder. При записи шага вам будет предложено предоставить ссылку на тестовый файл. Система загрузит файл и будет использовать его в операции загрузки.

Запись загрузки файлов в скрипте

Кроме того, в EveryStep Desktop Recorder можно записать загрузку файла и выбрать загруженный файл для записи шага загрузки в скрипте. При необходимости можно изменить имя файла и ссылку, а также загрузить тайм-аут, редактируя связанную строку в области Скриптового кода после записи.

Рекомендации

Dotcom-Monitor выполняет все шаги и действия в скрипте без задержек по умолчанию. Тем не менее, обычно загрузка файла на веб-ресурс занимает некоторое время. В этом случае, чтобы имитировать задержку и ждать, пока система выполнит шаг загрузки, рекомендуется добавить строку задержки в скрипт сразу после шага загрузки.

Кроме того, чтобы убедиться, что загрузка была выполнена правильно, настроить проверку содержимого после шага загрузки. Как правило, если диалоговые окна или подтверждения загрузки появляются на странице после загрузки файла, добавьте проверку ключевых слов или доступные фрагменты кода, чтобы проверить, принес ли шаг загрузки ожидаемые результаты.

Запись загрузки файла с внешнего URL

Проверьте шаги настройки загрузки файла ниже:

  1. Загрузите тестовый файл до 5 МБ на общедоступный URL-адрес.
  2. Запись скрипта до момента загрузки файла.
  3. Нажмите соответствующую кнопку на целевой странице, чтобы загрузить файл.
  4. В окне Upload Files предоставьте внешнюю ссылку на файл, который вы хотите загрузить. Файл будет загружен с предоставленной внешней ссылки на облачное хранилище Dotcom-Monitor. После загрузки имя файла будет уложено в окне Upload Files. Выберите флажок файла и нажмите OK. В результате линия OpenFileDialogHandler будет автоматически добавлена в скрипт.

    Если загрузка файла была записана на предыдущем этапе скрипта, выберите имя файла прямо сейчас в окне Upload Files.

  5. Добавьте задержку сразу после шага загрузки.
  6. Добавьте в скрипт ключевое слово или подтверждение изображения.
  7. При необходимости приступайте к записи; и остановить процесс записи, когда он будет готов.

Найдите пример сценария загрузки файлов, записанного в скриптовом инструменте EveryStep ниже. Скрипт содержит шаг загрузки тестового файла в систему хранения.

// 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");