Cypress.io-函数访问需要很长时间,正在等待所有资源加载完毕

时间:2019-03-27 11:53:31

标签: google-chrome e2e-testing cypress

我正在使用Cypress.io在我们的团队中进行端到端测试,但是我们经常遇到函数cy.visit()的问题。

该网站有许多来自我们服务器的资源(css文件,js文件等)和一些外部资源(js文件)。 如果您打开我们的网站,有时会发生外部js文件待处理(浏览器正在等待)的情况。

在cy.visit()执行期间,赛普拉斯可能正在等待所有资源加载完毕。这是一个问题。我不需要等待所有资源,因为例如此外部js用于广告,并且对于我们的测试并不重要。

我可以告诉赛普拉斯以下信息吗:“在开始加载页面几秒钟后,您可以在不加载所有资源的情况下执行此测试”?

我尝试过将onBeforeLoad与setTimeout结合并重新加载,但失败了:(

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

我太疯狂了,我不知道下一步该怎么做。请帮助我,对不起我的英语:)谢谢! :)

1 个答案:

答案 0 :(得分:2)

您可以使用blacklistHosts: []中的cypress.json选项阻止不必要的域加载。只需将广告客户的域名(以及可能不需要的其他任何内容,例如Google Analytics(分析))添加到blacklistHosts数组中即可:

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

More information about blacklistHosts is available in the docs.