Посещение обучающей точки с кипарисом продолжает ждать загрузки страницы.
Если вы попробуете cy.visit('/') с базовым URL-адресом https://www.tutorialspoint.com/html/index.htm , вы увидите, что область просмотра совсем не похожа на веб-сайт: ПРИМЕЧАНИЕ: похоже есть разница между использованием baseURL или просто полным URL-адресом внутри cy.visit(). В любом случае cy.visit завершается неудачей:
Ваша страница не активировала
load
событие внутри60000ms
Кажется, я не могу пройти мимо посещения сайта. Это означает, что я не могу выполнять какие-либо проверки внутри него. Cy.visit (или любые другие навигационные хаки и пользовательские команды, которые мне надоели) в конечном итоге терпят неудачу по-разному.
Вероятно, веб-сайт ожидает какой-то ресурс, который никогда не загружается. Могу ли я просто остановить дальнейшую загрузку веб-сайта?
3 ответа
Спасибо Нунцио за хорошее решение. я бы взялwhitelist
вместо этого подход обеспечивает гораздо более быстрое выполнение.
Включите также базовый доменbing.com
поскольку сценарий страницы зависит от этого домена.
const whitelist = ['tutorialspoint.com', 'bing.com']
cy.intercept('*', (req) => {
if (!whitelist.some(wl => req.url.includes(wl))) {
req.reply({})
}
})
cy.visit('https://www.tutorialspoint.com/html/index.htm');
cy.get('h1').contains('HTML Tutorial')
cy.contains('li', 'HTML - Iframes').click()
cy.get('h1').contains('HTML - Iframes') // on the new page now
Сбой при загрузке страницы, по-видимому, вызван трекерами и рекламодателями, возможно, историческими и больше не действующими.
Если вы специально не тестируете эти «функции», вы можете отключить их и продолжить тестирование страницы.
Например, вот пара, которую я выбрал, которая, похоже, решает проблему с загрузкой страницы.
it('tests tutorialpoint', () => {
cy.intercept('https://usersync.gumgum.com/**', {}) // tracking?
cy.intercept('https://image6.pubmatic.com', {}) // advertising?
cy.visit('https://www.tutorialspoint.com/html/index.htm')
cy.get('h1').contains('HTML Tutorial') // passes
})
На самом деле вы хотели бы протестировать веб-сайт без вмешательства со стороны ссылок, которые засоряют сетевой трафик.
Страница https://www.tutorialspoint.com/html/index.htm никогда не завершает загрузку. При просмотре в сети Google Chrome F12 (без использования Cypress) он показывает постоянные запросы и отсутствие данных за время, необходимое для завершения загрузки страницы. Это говорит о том, что загрузка страницы не была полной.
Сравните это с загрузкой страницы документации Cypress https://docs.cypress.io/guides/overview/why-cypress , на которой показано время завершения загрузки.