#javascript #file #networking #download #verify
#javascript #файл #сеть #Скачать #проверить
Вопрос:
Я пишу автоматический тест для своей компании.
Вам нужно нажать кнопку, после чего файл загружается НАПРЯМУЮ, поэтому вы не будете перенаправлены на URL.
Теперь я должен убедиться, что файл загружен правильно. Я проверю это, проверив ответ сети.
Может ли кто-нибудь дать мне код / совет / страницу о том, как проверить ответ сети? Я хочу проверить ответ, который я получаю, когда нажимаю загрузить. Я вижу ответ в devtools / Network. Я хочу проверить конкретный файл.
Прошу прощения, если это вопрос новичка, я новичок в мире testautomation, но мне это действительно нравится до сих пор 🙂
Большое вам всем спасибо!
Stackoverflow, ответа не найдено
Кода пока нет
Комментарии:
1. как насчет 200 OK ?
2. Как мне убедиться, что в ответе xxx 200 ОК? Прошу прощения за вопрос новичка, но я не могу найти правильный код для работы.
3. Я немного запутался. Вы проверяете ответ на вкладке Сеть визуально или с помощью какого-либо инструмента (автоматизированного)? Если это первое, то на вкладке Сеть вы также можете увидеть список файлов и коды состояния pasteboard.co/I7n2bpv.png Нажав на каждый отдельный файл, вы получите более подробную информацию.
Ответ №1:
Согласно вашему комментарию, вы не хотите проверять содержимое файла, вы только хотите убедиться, что файл был загружен и загрузка завершилась без ошибок.
Исходя из этого предположения, это все еще зависит от того, что вы используете для загрузки файла.
Если вы используете xhr, ответ заключается в простом добавлении if(xhr.status === 200){ /*validation complete*/}
в ваш xhr.onload
обработчик. Это просто проверяет, соответствует ли код состояния 200 ok.
Если вы используете jquery, вы можете проверить код состояния внутри $.ajax
настроек. Там вы можете добавить statusCode: { 200:function(){/*validation complete*/}}
внутри объекта настроек.
Ответ №2:
cy.request('URL').then((response) => {
cy.expect(response.status).to.eq(200)
это помогло мне!