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

问题描述 投票:2回答:1

我在我们的团队中使用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);
 }
})

我太疯狂了,我不知道接下来做什么。请帮帮我,对不起我的英文:)谢谢! :)

google-chrome e2e-testing cypress
1个回答
3
投票

您可以使用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.

© www.soinside.com 2019 - 2024. All rights reserved.