Cypress.io - посещение функции занимает много времени, оно ожидает загрузки всех ресурсов - PullRequest
3 голосов
/ 27 марта 2019

Я использую Cypress.io для сквозного тестирования в нашей команде, но у нас очень часто возникают проблемы с функцией cy.visit ().

На сайте есть много ресурсов с нашего сервера (css файлы, js файлы, ....) и некоторые внешние ресурсы (js файлы). Если вы открываете наш веб-сайт, иногда случается, что внешний файл js находится в режиме ожидания (браузер ожидает).

Cypress во время выполнения cy.visit (), вероятно, ожидает загрузки всех ресурсов. И это проблема. Мне не нужно ждать всех ресурсов, потому что, например, этот внешний js предназначен для рекламы, и он не важен для нашего теста.

Могу ли я сказать Cypress что-то вроде: «Через несколько секунд после начала загрузки страницы вы можете выполнить этот тест без загрузки всех ресурсов»?

Я пытался объединить onBeforeLoad с setTimeout и перезагрузить, но это не удалось: (

cy.visit('https://www.example.org', {
 onBeforeLoad: (win) => {
   setTimeout(function() {cy.reload(); }, 10000);
 }
})

Я так сумасшедший, я не знаю, что делать дальше. Пожалуйста, помогите мне и извините за мой английский :) Спасибо! :)

1 Ответ

3 голосов
/ 27 марта 2019

Вы можете заблокировать загрузку ненужных доменов с помощью опции blacklistHosts: [] в вашем cypress.json. Просто добавьте доменное имя рекламодателя (и, возможно, все, что вам не нужно, например, Google Analytics) в массив blacklistHosts:

{
  // the rest of your cypress.json...
  "blacklistHosts": [
    "cdn.my-advertiser.com"
  ]
}

Более подробная информация о blacklistHosts доступна в документации.

...