Javascript 如何模拟Cypress.io中丢失的窗口焦点

Javascript 如何模拟Cypress.io中丢失的窗口焦点,javascript,angular,automated-tests,e2e-testing,cypress,Javascript,Angular,Automated Tests,E2e Testing,Cypress,我正在使用Cypress.io为一个网站编写E2E测试。我想测试的一个特性是,该站点正确地检测到焦点丢失,并显示一个(角度材质)对话框。我遇到的问题是,我无法找到可靠的方法来触发在测试环境中发生的窗口焦点丢失。我已经查看了Cypress.io中各种焦点和模糊事件的文档,但是没有找到。是否有人知道是否可以通过编程方式从Cypress.io触发窗口焦点丢失(模糊),如果可以,是否有我可以遵循的文档或示例?这取决于您的页面如何侦听此事件,因此有一些潜在的解决方案: 尝试: 如果不起作用,请尝试: cy

我正在使用Cypress.io为一个网站编写E2E测试。我想测试的一个特性是,该站点正确地检测到焦点丢失,并显示一个(角度材质)对话框。我遇到的问题是,我无法找到可靠的方法来触发在测试环境中发生的窗口焦点丢失。我已经查看了Cypress.io中各种焦点和模糊事件的文档,但是没有找到。是否有人知道是否可以通过编程方式从Cypress.io触发窗口焦点丢失(模糊),如果可以,是否有我可以遵循的文档或示例?

这取决于您的页面如何侦听此事件,因此有一些潜在的解决方案:

尝试:

如果不起作用,请尝试:

cy.document().then((doc) => {
  cy.stub(doc, "hidden").value(true)
})
cy.document().trigger('visibilitychange')

在某些情况下,我只需要
cy.window().trigger(“blur”)但这确实帮助我找到了正确的方向。谢谢
cy.document().then((doc) => {
  cy.stub(doc, "hidden").value(true)
})
cy.document().trigger('visibilitychange')