【问题标题】:Does Cypress clear the browser cache before each test?赛普拉斯是否在每次测试前清除浏览器缓存?
【发布时间】:2017-10-26 09:29:59
【问题描述】:

赛普拉斯clears all cookieslocal storage 在每次测试之前。是否也会清除浏览器的文件缓存?

【问题讨论】:

  • 您能否更具体地说明“浏览器缓存”的含义?您要解决的问题或您要准确测试的功能是什么?
  • 我正在考虑浏览器用于 html、js 和其他文件的基于内存或磁盘的文件缓存。

标签: cypress


【解决方案1】:

编辑:赛普拉斯会在Version 0.20.0 中启动浏览器之前自动清除浏览器缓存。因此,在每个 spec 文件运行之间,缓存都会被清除。

不,赛普拉斯不会在每次测试前清除浏览器缓存。赛普拉斯尊重您服务器的缓存标头。因此,如果设置了它们,浏览器将缓存这些文件。这并没有真正记录在任何地方,但我是赛普拉斯的开发人员,所以知道这就是它的工作原理。

如果你想看到一些不同的行为,我建议在 OS Cypress 项目中使用opening an issue

【讨论】:

  • 嗨 Jennifer,我和 Arne 有同样的需求,所以我在 OS Cypress 项目上打开了一个问题:github.com/cypress-io/cypress/issues/1124。如果这个项目的任何人接受它作为受欢迎的贡献,我会很乐意照顾它:)
【解决方案2】:

否,默认情况下赛普拉斯不会在每次测试之前删除缓存。缓存通常是自动化中令人头疼的问题。 但是,如果你想尝试它,你可以在 beforeEach 或测试用例中的某个地方进行,如下所示:

cy.exec('npm cache clear --force')

试试这个方法来清除你的缓存。它对我来说工作正常。 我希望它也对你有用。

Clear Cypress Cache

【讨论】:

  • 遗憾的是,这不是同一个缓存。
  • 不回答问题,问题是关于清除浏览器缓存的非常具体的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 2021-12-21
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多