Cypress 使用cy.viewport()时,如何触发窗口大小调整事件

Cypress 使用cy.viewport()时,如何触发窗口大小调整事件,cypress,Cypress,我的目标是为角度SPA应用程序开发Cypress中的e2e测试,测试元素是否在不同的视口中按预期隐藏/显示 我尝试过使用Cypress命令,但这似乎并没有触发 这个事件是我必须手动发送的吗?谢谢你的问候 更新 这个问题与Cypress和resize无关,而是角度变化检测。如果将来其他人需要测试,这里有一个答案。无法复制。对我来说,调整大小事件在窗口上正确触发: (在3.3.1和3.5.0上测试,无头和有头) description('test',()=>{ 它('test',()=>{ 让res

我的目标是为角度SPA应用程序开发Cypress中的e2e测试,测试元素是否在不同的视口中按预期隐藏/显示

我尝试过使用Cypress命令,但这似乎并没有触发

这个事件是我必须手动发送的吗?谢谢你的问候

更新


这个问题与Cypress和resize无关,而是角度变化检测。如果将来其他人需要测试,这里有一个答案。

无法复制。对我来说,
调整大小
事件在
窗口
上正确触发:

(在
3.3.1
3.5.0
上测试,无头和有头)

description('test',()=>{
它('test',()=>{
让resizeEventFired=false;
cy.window().then(win=>{
win.addEventListener('resize',()=>{
resizeEventFired=true;
});
});
赛义德(123456);
cy.wrap()应(()=>{
expect(resizeEventFired).to.eq(true);
});
});
});
如果它仍然不适用于您,或者您订阅了一些非标准事件或元素,那么您可以执行以下操作:

Cypress.Commands.overwrite('viewport',(origFn,…args)=>{
返回origFn(…args)。然后(()=>{
const window=cy.state(“window”);
window.dispatchEvent(new window.UIEvent('resize'));
});
});

(我正在
窗口
上触发
调整大小
-兼容事件,但您可以做任何您想做的事)。

谢谢您的回答。今天我将测试这个。我想我的问题可能与没有进行变化检测有关,但我会测试并找出答案。你是对的。我创建了一个stackblitz,供其他人玩。