Посещение обучающей точки с кипарисом продолжает ждать загрузки страницы.

Если вы попробуете 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 , на которой показано время завершения загрузки.

Другие вопросы по тегам